C3D Kernel  104065
Открытые члены

Маркер со свойствами геометрического объекта. Подробнее...

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

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

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

 MbMarker (const MbMarker &)
 Конструктор копирования.
 MbMarker (const MbCartPoint3D &, const MbVector3D &)
 Конструктор по точке и вектору.
 MbMarker (const MbCartPoint3D &, const MbVector3D &, const MbVector3D &)
 Конструктор по точке и векторам.
virtual ~MbMarker ()
 Деструктор.
virtual MbeSpaceType IsA () const
 Получить тип объекта.
virtual MbeSpaceType Type () const
 Получить групповой тип объекта.
virtual MbSpaceItemDuplicate (MbRegDuplicate *=NULL) const
 Создать копию объекта.
virtual void Transform (const MbMatrix3D &, MbRegTransform *=NULL)
 Преобразовать объект согласно матрице.
virtual void Move (const MbVector3D &, MbRegTransform *=NULL)
 Сдвинуть объект вдоль вектора.
virtual void Rotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Повернуть объект вокруг оси на заданный угол.
virtual bool IsSame (const MbSpaceItem &other, double accuracy=LENGTH_EPSILON) const
 Определить, являются ли объекты равными.
virtual bool IsSimilar (const MbSpaceItem &init) const
 Определить, являются ли объекты подобными.
virtual bool SetEqual (const MbSpaceItem &init)
 Сделать объекты равным, если они подобны.
virtual double DistanceToPoint (const MbCartPoint3D &) const
 Определить расстояние до точки.
virtual void AddYourGabaritTo (MbCube &r) const
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
virtual void CalculateWire (const MbStepData &stepData, MbMesh &) const
 Создать полигональную копию.
virtual MbPropertyCreateProperty (MbePrompt n) const
 Создать собственное свойство с заданием его имени.
virtual void GetProperties (MbProperties &properties)
 Выдать свойства объекта.
virtual void SetProperties (const MbProperties &properties)
 Изменить свойства объекта.
virtual void GetBasisPoints (MbControlData3D &) const
 Выдать контрольные точки объекта.
virtual void SetBasisPoints (const MbControlData3D &)
 Изменить объект по контрольным точкам.
Функции маркера.
const MbCartPoint3DGetOrigin () const
 Получить точку маркера.
const MbVector3DGetAxisX () const
 Получить ось маркера.
const MbVector3DGetAxisZ () const
 Получить вторую ось маркера.
void SetNullX ()
 Задать нулевую ось X.
MbMarkerInvertZ ()
 Перевернуть ось Z.

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

Определение
Маркером называется тройка объектов: точка и пара ортонормированных векторов. Например, в системе КОМПАС-3D маркером задается "присоединительная точка", которая применяется в качестве геометрического коннектора для сопряжения и позиционирования тел в пространстве.

Термин "Маркер" позаимствован из книги Г.Крамера, Geometric constraint solving in kinematics.
С помощью маркера можно задавать вспомогательные построения, передавать геометрию кинематических соединений или сопряжений. Маркер всегда принадлежит какому-то подпространству, например, ЛСК твердого тела.
Для маркера всегда выполняется требование; его вектора (в отличие от локальной системы координат) всегда ортонормированы. Ось Z всегда нормирована, ось X всегда ортогональна Z (может быть, что X = 0). Маркер может задавать любые геометрические объекты, которые удобно задать точкой или векторами; это унифицированная форма записи таких объектов, как точка, прямая, плоскость, ортонормированная правая СК и т.д. При дополнении маркера радиусом он используется, как сжатая форма записи цилиндра, окружности, сферы, тора и т.д.

См. также:
#MtMarker, #MtUnifiedGeom, MtMatingGeometry, #MtMatingGeom

Методы

virtual MbSpaceItem& MbMarker::Duplicate ( MbRegDuplicate iReg = NULL) const [virtual]

Создать копию объекта с использованием регистратора. Регистратор используется для предотвращения многократного копирования объекта. Если объект содержит ссылки на другие объекты, то вложенные объекты так же копируются. Допустимо не передавать регистратор в функцию. Тогда будет создана новая копия объекта. При копировании одиночного объекта или набора не связанных между собой объектов допустимо не использовать регистратор. Регистратор необходимо использовать, если надо последовательно копировать несколько взаимосвязанных объектов. Возможно, что связь объектов обусловлена наличием в них ссылок на общие объекты. Тогда, при копировании без использования регистратора, можно получить набор копий, содержащих ссылки на разные копии одного и того же вложенного объекта, что ведет к потере связи между копиями.

Аргументы:
[in]iReg- Регистратор.
Возвращает:
Копия объекта.

Замещает MbLegend.

virtual void MbMarker::Transform ( const MbMatrix3D matr,
MbRegTransform iReg = NULL 
) [virtual]

Преобразовать исходный объект согласно матрице c использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то вложенные объекты так же преобразуются согласно матрице. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих трансформации.

Аргументы:
[in]matr- Матрица преобразования.
[in]iReg- Регистратор.

Замещает MbLegend.

virtual void MbMarker::Move ( const MbVector3D to,
MbRegTransform iReg = NULL 
) [virtual]

Сдвинуть геометрический объект вдоль вектора с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция сдвига. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих сдвигу.

Аргументы:
[in]to- Вектор сдвига.
[in]iReg- Регистратор.

Замещает MbLegend.

virtual void MbMarker::Rotate ( const MbAxis3D axis,
double  angle,
MbRegTransform iReg = NULL 
) [virtual]

Повернуть объект вокруг оси на заданный угол с использованием регистратора. Если объект содержит ссылки на другие геометрические объекты, то к вложенным объектам так же применяется операция поворота. Регистратор служит для предотвращения многократного преобразования объекта. Допустимо использовать функцию без регистратора, если надо преобразовать одиночный объект. Если надо преобразовать набор взаимосвязанных объектов, необходимо использовать регистратор для предотвращения повторного преобразования вложенных объектов, поскольку не исключена ситуация, когда несколько объектов из набора содержат ссылки на один или несколько общих объектов, подлежащих повороту.

Аргументы:
[in]axis- Ось поворота.
[in]angle- Угол поворота.
[in]iReg- Регистратор.

Замещает MbLegend.

virtual bool MbMarker::IsSame ( const MbSpaceItem other,
double  accuracy = LENGTH_EPSILON 
) const [virtual]

Равными считаются однотипные объекты, все данные которых одинаковы (равны).

Аргументы:
[in]item- Объект для сравнения.
[in]accuracy- Точность сравнения.
Возвращает:
Равны ли объекты.

Замещает MbLegend.

virtual bool MbMarker::IsSimilar ( const MbSpaceItem item) const [virtual]

Подобными считаются однотипные объекты, данные которых можно приравнять или данные так же являются подобными (указатели). Подобный объект можно инициализировать по данным подобного ему объекта (приравнять один другому без изменения адресов).

Аргументы:
[in]item- Объект для сравнения.
Возвращает:
Подобны ли объекты.

Замещает MbLegend.

virtual bool MbMarker::SetEqual ( const MbSpaceItem item) [virtual]

Равными можно сделать только подобные объекты. Подобный объект приравнивается присланному путем изменения численных данных.

Аргументы:
[in]item- Объект для инициализации.
Возвращает:
Сделан ли объект равным присланному.

Замещает MbLegend.

virtual double MbMarker::DistanceToPoint ( const MbCartPoint3D point) const [virtual]

Определить расстояние до точки.

Аргументы:
[in]point- Точка.
Возвращает:
Расстояние от объекта до точки.

Замещает MbLegend.

virtual void MbMarker::AddYourGabaritTo ( MbCube cube) const [virtual]

Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.

Аргументы:
[in,out]cube- Принимающий габаритный куб с информацией по габаритам.

Замещает MbLegend.

virtual void MbMarker::CalculateWire ( const MbStepData stepData,
MbMesh mesh 
) const [virtual]

Создать полигональную копию данного объекта, представленную полигонами. Полигональный объект будет содержать только полигоны MbPolygon3D.

Аргументы:
[in]sag- Максимальное отклонение полигонального объекта от оригинала по прогибу.
[in,out]mesh- Принимающий полигональный объект.

Замещает MbLegend.

virtual void MbMarker::GetProperties ( MbProperties properties) [virtual]

Выдать внутренние данные (свойства) объекта для их просмотра и модификации.

Аргументы:
[in]properties- Контейнер для внутренних данных объекта.

Замещает MbLegend.

virtual void MbMarker::SetProperties ( const MbProperties properties) [virtual]

Изменение внутренних данных (свойств) объекта выполняется копированием соответствующих значений из присланного объекта.

Аргументы:
[in]properties- Контейнер для внутренних данных объекта.

Замещает MbLegend.


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