C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

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

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

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

 MbLoop ()
 Пустой конструктор.
 
 MbLoop (MbOrientedEdge &)
 Конструктор по ребру.
 
 MbLoop (const RPArray< MbOrientedEdge > &)
 Конструктор по массиву ребер.
 
virtual ~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)
 Замена указателей на поверхность.
 
const MbVertexFindVertexByName (const MbName &) const
 Найти вершину цикла по имени.
 
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 &, bool faceSense) const
 Вычислить габаритный прямоугольник цикла.
 
bool GetGabarit (const MbSurface &, 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 &, MbRegTransform *=NULL)
 Преобразовать объект согласно матрице.
 
void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть объект вдоль вектора.
 
void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси на заданный угол.
 
void Move (MbVector &, const MbSurface &, bool)
 Сдвинуть двумерные кривые вдоль вектора в области параметров поверхности (все сразу).
 
bool IsBoundaryFace (double mEps=Math::metricEpsilon) const
 Является ли контур граничным?
 
void EdgesReserve (size_t additionalSpace)
 Зарезервировать место под столько элементов.
 
void EdgesAdjust ()
 Удалить лишнюю память.
 
- Открытые члены унаследованные от MbTopItem
virtual MbeRefType RefType () const
 Регистрационный тип (для копирования, дублирования).
 
void PrepareWrite ()
 Подготовить объект к записи.
 
bool IsAVertex () const
 Это вершина?
 
bool IsAWireEdge () const
 Это ребро каркаса?
 
bool IsAnEdge () const
 Это ребро?
 
bool IsAFace () const
 Это грань?
 
bool IsAShell () const
 Это оболочка?
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 
- Открытые члены унаследованные от TapeBase
 TapeBase (RegistrableRec regs=noRegistrable)
 Конструктор.
 
 TapeBase (const TapeBase &other)
 Конструктор копирования
 
virtual ~TapeBase ()
 Деструктор.
 
RegistrableRec GetRegistrable () const
 Является ли потоковый класс регистрируемым.
 
void SetRegistrable (RegistrableRec regs=registrable) const
 Установить состояние регистрации потокового класса.
 
virtual ClassDescriptor GetClassDescriptor (const VersionContainer &) const =0
 Получить дескриптор класса
 
virtual const char * GetPureName (const VersionContainer &) const
 Получить имя класса.
 
virtual bool IsFamilyRegistrable () const
 Принадлежит ли объект к регистрируемому семейству.
 

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

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

Дополнительные унаследованные члены

- Защищенные члены унаследованные от MbTopItem
 MbTopItem ()
 Конструктор.
 

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

Цикл грани.

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


Объявления и описания членов класса находятся в файле: