Топологический объект MbTopItem
Класс MbTopItem объявлен в файле topology_item.h.
Класс MbTopItem является наследником классов MbRefItem, TapeBase и родительским классом для топологических объектов. Среди топологических объектов выделен класс именованных топологических объектов MbTopologyItem, который является наследником классов MbTopItem и MbAttributeContainer. Заменитель топологического объекта MbTopologyProxy является наследником MbTopologyItem и используется в алгоритмах именования. Класс MbTopologyItem объявлен также в файле topology_item.h.
Геометрическое ядро C3D оперирует топологическими объектами, которые приведены на рисунке:
Наследниками класса MbTopItem являются следующие топологические объекты:
MbFaceShell – множество граней;
MbLoop – цикл рёбер границы грани;
MbOrientedEdge – ориентированное ребро цикла;
MbTopologyItem – именованный топологический объект.
Наследниками именованного топологического объекта MbTopologyItem являются следующие объекты:
MbVertex – вершина;
MbEdge – ребро;
MbFace – грань.
Ребро имеет наследника MbCurveEdge, описывающее гладкий участок стыковки двух граней или край грани.
Работу именованных топологических объектов с атрибутами обеспечивает контейнер атрибутов MbAttributeContainer.
Основными методами именованных топологических объектов являются:
virtual void Transform( const MbMatrix3D & matr,
MbRegTransform * iReg = nullptr );
virtual void Move( const MbVector3D & to,
MbRegTransform * iReg = nullptr );
virtual void Rotate( const MbAxis3D & axis,
double angle,
MbRegTransform * iReg = nullptr );
обслуживающие преобразование топологического объекта и методы работы с именем и атрибутами. При преобразовании используется регистратор MbRegTransform для предотвращения многократного преобразования вложенных объектов. Если объект содержит указатели или ссылки на другие объекты, то вложенные объекты так же трансформируются. Регистратор необходимо использовать, если надо последовательно преобразовать несколько взаимосвязанных объектов, связь которых обусловлена наличием в них указателей или ссылок на общие объекты. При преобразовании без регистратора можно получить многократное преобразование общих вложенных объектов.
Для идентификации типа топологические объекты снабжены методом IsA(), возвращающим тип из перечисления топологических объектов MbeTopologyType.