C3D Kernel  104598
Открытые члены | Защищенные данные

Цикл грани. Подробнее...

Граф наследования:MbLoop:
Inheritance graph
[см. легенду]
Граф связей класса MbLoop:
Collaboration graph
[см. легенду]

Полный список членов класса

Открытые члены

 MbLoop ()
 Пустой конструктор.
 MbLoop (MbOrientedEdge &initEdge)
 Конструктор по ребру.
 MbLoop (const RPArray< MbOrientedEdge > &initList)
 Конструктор по массиву ребер.
virtual ~MbLoop ()
 Деструктор.
 VISITING_CLASS (MbLoop)
virtual MbeTopologyType IsA () const
 Тип элемента.
void CheckVertices ()
 Проверить и согласовать вершины цикла.
size_t GetEdgesCount () const
 Выдать количество ребер цикла.
MbeLabelState GetLabel (void *key=NULL) const
 Получить метку цикла.
void SetOwnLabel (MbeLabelState l, void *key=NULL) const
 Установить метку.
void SetLabelThrough (MbeLabelState l, void *key=NULL) const
 Установить метку себе и ребрам цикла.
void RemovePrivateLabelThrough (void *key) const
 Удалить частную метку себе и ребрам цикла.
void SetCurveEdgesLabel (MbeLabelState, void *key=NULL) const
 Установить метку ребрам.
void CheckEdgesLabel (void *key=NULL) const
 Проверить метки рёбер и установить свою метку.
void RemovePrivateLabel (void *key=NULL) const
 Удалить частную метку.
void GetVertices (RPArray< MbVertex > &) const
 Выдать множество вершин цикла.
void GetVertices (RPArray< const MbVertex > &) const
 Выдать множество вершин цикла.
void GetEdges (RPArray< MbCurveEdge > &) const
 Выдать множество ребер грани.
void GetEdges (RPArray< const MbCurveEdge > &) const
 Выдать множество ребер грани.
void GetOrientedEdges (RPArray< MbOrientedEdge > &) const
 Выдать множество ориентированных ребер.
void InitOrientedEdge (size_t edgeIndex, MbCurveEdge &initEdge, bool initOrientation)
 Замена базового ребра.
MbOrientedEdgeGetOrientedEdge (size_t index) const
 Выдать ориентированное ребро по номеру.
MbOrientedEdge_GetOrientedEdge (size_t index) const
 Выдать ориентированное ребро по номеру без проверки корректности индекса.
void _AddEdge (MbOrientedEdge &)
 Добавить ребро без проверки.
void _InsertEdge (size_t k, MbOrientedEdge &)
 Вставить ребро перед ребром с указанным индексом без проверки корректности индекса.
void _AddEdgeAfter (MbOrientedEdge &, size_t k)
 Добавить ребро после ребра с указанным индексом без проверки корректности индекса.
void AddEdge (MbOrientedEdge &)
 Добавить ребро.
void InsertEdge (size_t k, MbOrientedEdge &)
 Вставить ребро перед ребром с указанным индексом.
void AddEdgeAfter (MbOrientedEdge &, size_t k)
 Добавить ребро после ребра с указанным индексом.
MbOrientedEdgeDetachEdge (size_t index)
 Отсоединить ребро с заданным индексом.
void DeleteEdge (size_t index)
 Удалить ребро с заданным индексом.
void DetachEdges ()
 Отцепить все ребра от цикла.
void DeleteEdges ()
 Удалить все ребра из цикла.
size_t GetEdgeIndex (const MbCurveEdge &edge, bool orient) const
 Дать номер ребра грани в цикле.
bool FindNeighbourEdge (const MbCurveEdge &edge, bool orient, bool next, MbCurveEdge *&findEdge, bool &findOrient) const
 Найти следующее ребро за данным (next == true) или перед данным (next == false).
void PartialReverse ()
 Изменить ориентацию цикла (порядок следования ориентированных рёбер и их ориентацию).
void Inverse ()
 Изменить порядок следования ориентированных рёбер без изменения их ориентации.
bool IsVertexOn (const MbVertex *vertex, size_t *index=NULL) const
 Принадлежит ли вершина пути.
void ChangeSurface (MbSurface &oldSurf, MbSurface &newSurf, bool orient)
 Замена указателей на поверхность.
MbVertexFindVertexByName (const MbName &) const
 Найти вершину цикла по имени.
MbCurveEdgeFindEdgeByName (const MbName &) const
 Найти ребро цикла по имени.
MbContourMakeContour (const MbSurface &surf, bool faceSense, bool doExact, MbRegDuplicate *iReg, bool calculateMetricLength=true) const
 Создать двумерный контур по циклу.
MbContourMakeContour (const MbSurface &surf, bool faceSense, bool calculateMetricLength=true) const
 Создать двумерный контур по циклу.
MbContourOnSurfaceMakeContourOnSurface (const MbSurface &surf, bool faceSense, bool doExact=false) const
 Создать контур на поверхности по циклу.
MbContour3DMakeContour3D (bool doExact=false) const
 Создать пространственный контур по циклу.
bool CalculateGabarit (const MbSurface &surf, bool faceSense) const
 Вычислить габаритный прямоугольник цикла.
bool GetGabarit (const MbSurface &surf, bool faceSense, MbRect &r) const
 Выдать габаритный прямоугольник цикла.
const MbRectGetGabarit (const MbSurface &surf, bool faceSense) const
 Прямой доступ к переменной габарита с вызовом расчета.
const MbRectGetGabarit () const
 Прямой доступ к переменной габарита без вызова расчета.
void CopyGabarit (const MbContour &c)
 Скопировать габарит с контура.
void CopyGabarit (const MbLoop &c) const
 Скопировать габарит цикла.
void SetEmptyGabarit () const
 Сбросить габарит - сделать его не определённым.
void GetProperties (MbProperties &)
 Выдать свойства объекта.
void SetProperties (const MbProperties &)
 Установить свойства объекта.
void Transform (const MbMatrix3D &matr, MbRegTransform *=NULL)
 Преобразовать объект согласно матрице.
void Move (const MbVector3D &to, MbRegTransform *=NULL)
 Сдвинуть объект вдоль вектора.
void Rotate (const MbAxis3D &axis, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси на заданный угол.
void Move (MbVector &to, const MbSurface &, bool)
 Сдвинуть двумерные кривые вдоль вектора в области параметров поверхности (все сразу).
bool IsBoundaryFace (double mEps=Math::metricEpsilon) const
 Является ли контур граничным?
void EdgesReserve (size_t additionalSpace)
 Зарезервировать место под столько элементов.
void EdgesAdjust ()
 Удалить лишнюю память.

Защищенные данные

RPArray< MbOrientedEdgeedgeList
 Массив ориентированных ребер, составляющих цикл.
MbRect rect
 Габаритный прямоугольник в пространстве параметров поверхности.
MbLabel label
 Временная метка для выполнения операций.

Подробное описание

Цикл грани представляет собой замкнутую составную кривую, проходящую вдоль границы грани.
Цикл образован последовательностью ориентированных рёбер MbOrientedEdge. Цикл всегда замкнут.
Цикл направлен так, чтобы грань всегда для нас находилась бы слева, если мы движемся вдоль цикла c внешней стороны грани.


Объявления и описания членов класса находятся в файле:
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы