C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Полигон на числах double. Подробнее...

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

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

 MbExactPolygon3D ()
 Конструктор без параметров.
 
virtual ~MbExactPolygon3D ()
 Деструктор
 
virtual MbExactPolygon3DDuplicate (MbRegDuplicate *iReg=NULL) const
 Создать копию примитива. Подробнее...
 
virtual void Transform (const MbMatrix3D &)
 Преобразовать примитив согласно матрице. Подробнее...
 
virtual void Move (const MbVector3D &)
 Сдвинуть примитив вдоль вектора. Подробнее...
 
virtual void Rotate (const MbAxis3D &, double angle)
 Повернуть примитив вокруг оси на заданный угол. Подробнее...
 
virtual void AddYourGabaritTo (MbCube &) const
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
 
virtual double DistanceToPoint (const MbCartPoint3D &) const
 Вычислить расстояние до точки.
 
virtual double DistanceToLine (const MbAxis3D &, double maxDistance, double &t) const
 Вычислить расстояние до оси.
 
virtual void GetProperties (MbProperties &)
 Выдать свойства объекта.
 
virtual void SetProperties (const MbProperties &)
 Записать свойства объекта.
 
virtual size_t SizeOf () const
 Выдать размер занимаемой памяти.
 
virtual void Reserve (size_t cnt)
 Зарезервировать место для полигона.
 
virtual void Adjust ()
 Удалить лишнюю память.
 
virtual void Flush ()
 Очистить полигон удалив все точки.
 
virtual size_t Count () const
 Выдать количество точек.
 
virtual void AddPoint (const MbCartPoint3D &dpnt)
 Добавить точку в конец полигона.
 
virtual void AddPoint (const MbFloatPoint3D &fpnt)
 Добавить точку в конец полигона.
 
virtual void GetPoint (size_t i, MbCartPoint3D &dp) const
 Выдать точку по её номеру.
 
virtual void GetPoint (size_t i, MbFloatPoint3D &fp) const
 Выдать точку по её номеру.
 
virtual void SetPoint (size_t i, MbCartPoint3D &pnt)
 Установить точку с номером.
 
template<class Point >
void SetPoint (size_t i, Point &pnt)
 Установить точку с номером.
 
template<class Point >
void GetPoint (size_t i, Point &pnt) const
 Выдать точку по её номеру.
 
const MbCartPoint3DGetPoint (size_t i) const
 Выдать точку по её номеру.
 
template<class PointsVector >
void GetPoints (PointsVector &pnts) const
 Выдать все точки полигона.
 
virtual bool IsPlanar (MbPlacement3D &plane, double metricAccuracy=Math::metricRegion) const
 
virtual bool GetPlanePolygon (MbPlacement3D &plane, MbPolygon &poly) const
 Если точки полигона лежат в одной плоскости, то инициализировать plane и заполнить полигон poly.
 
virtual bool IsComplete () const
 Проверить наличие точек в объекте.
 
virtual void AddPolygon (const MbPolygon3D &other)
 Добавить к полигону полигон с удалением совпадающих точек стыка.
 
virtual void operator+= (const MbPolygon3D &other)
 Добавить к полигону полигон с удалением совпадающих точек стыка.
 
virtual bool IsSame (const MbPolygon3D &other, double eps) const
 Являются ли объекты равными?
 
virtual void Init (const MbPolygon3D &other)
 Инициировать по другому полигону.
 
virtual MbPolyline3DCreatePolyline () const
 Создать ломаную по полигону.
 
- Открытые члены унаследованные от MbPolygon3D
 MbPolygon3D ()
 Конструктор без параметров.
 
virtual ~MbPolygon3D ()
 Деструктор
 
virtual MbePrimitiveType Type () const
 Получить тип объекта.
 
void GetPoints (std::vector< MbCartPoint3D > &pnts) const
 Выдать все точки полигона.
 
void GetPoints (std::vector< MbFloatPoint3D > &pnts) const
 Выдать все точки полигона.
 
const MbStepDataGetStepData () const
 Выдать параметр расчета триангуляции (стрелку прогиба или угол отклонения).
 
void SetStepData (const MbStepData &stData)
 Установить параметр расчета триангуляции (стрелку прогиба или угол отклонения).
 
void SetStepBySag (double s)
 Установить параметр расчета полигона (стрелку прогиба или угол отклонения).
 
- Открытые члены унаследованные от MbPrimitive
virtual ~MbPrimitive ()
 Деструктор
 
virtual MbeRefType RefType () const
 Регистрационный тип (для копирования, дублирования).
 
virtual MbeImplicationType ImplicationType () const
 Выдать тип контейнера атрибутов.
 
SimpleName GetPrimitiveName () const
 
void SetPrimitiveName (SimpleName n)
 
const MbRefItemGetItem () const
 Выдать породивший примитив объект.
 
void SetItem (const MbRefItem *g)
 Установить породивший примитив объект.
 
MbeRefType GetPrimitiveType () const
 Дать тип объекта.
 
void SetPrimitiveType (MbeRefType t)
 Установить тип объекта.
 
bool NearestType (MbeSpaceType sType, MbeTopologyType tType, MbePlaneType pType) const
 Удовлетворяет ли примитив критериям поиска ближайшего объекта?
 
const MbSpaceItemSpaceItem () const
 Получить пространственный объект, для которого построен примитив.
 
const MbPlaneItemPlaneItem () const
 Получить двумерный объект, для которого построен примитив.
 
const MbTopItemTopItem () const
 Получить топологический объект, для которого построен примитив.
 
const MbItemItem () const
 Получить объект геометрической модели, для которого построен примитив.
 
void PrimitiveRead (reader &in)
 Чтение примитива из потока.
 
void PrimitiveWrite (writer &out) const
 Запись примитива в поток.
 
- Открытые члены унаследованные от MbAttributeContainer
 MbAttributeContainer ()
 Конструктор без параметров.
 
 MbAttributeContainer (MbAttribute &)
 Конструктор по атрибуту.
 
virtual ~MbAttributeContainer ()
 Деструктор.
 
void AttributesRead (reader &)
 Прочитать атрибуты из потока.
 
void AttributesWrite (writer &) const
 Записать атрибуты в поток.
 
void GetProperties (MbProperties &)
 Выдать свойства атрибутов.
 
void SetProperties (const MbProperties &)
 Установить свойства атрибутов.
 
void SetDensity (double)
 Установить плотность объекта.
 
double GetDensity () const
 Выдать плотность объекта.
 
void SetVisual (float a, float d, float sp, float sh, float t, float e)
 Установить визуальные свойства объекта.
 
bool GetVisual (float &a, float &d, float &sp, float &sh, float &t, float &e) const
 Выдать визуальные свойства объекта. Подробнее...
 
bool IsColored () const
 Есть ли у объекта свой цвет. Подробнее...
 
void SetColor (uint32)
 Изменить цвет объекта.
 
uint32 GetColor () const
 Выдать цвет объекта.
 
void SetWidth (int)
 Установить толщину линий для отображения объекта.
 
int GetWidth () const
 Выдать толщину линий для отображения объекта.
 
void SetStyle (int)
 Установить стиль линий для отображения объекта.
 
int GetStyle () const
 Выдать стиль линий для отображения объекта.
 
void SetSelected (bool s=true)
 Выделить или не выделить объект.
 
bool IsSelected () const
 Выделен ли объект?
 
bool ReverseSelected ()
 Инвертировать выделение объекта.
 
void SetChanged (bool c=true)
 Задать: объект изменен или не изменён.
 
bool IsChanged () const
 Изменен ли объект?
 
void SetVisible (bool)
 Установить видимость.
 
bool IsVisible () const
 Видимый ли объект?
 
bool IsInvisible () const
 Не видимый ли элемент?
 
void AttributesAssign (const MbAttributeContainer &)
 Cдублировать атрибуты присланного объекта, свои отпустить.
 
size_t AttributesCount () const
 Выдать количество объектов.
 
void RemoveAttributes ()
 Удалить все атрибуты из контейнера.
 
MbAttributeAddAttribute (MbAttribute *attr, bool checkSame=true)
 Добавить атрибут в контейнер.
 
MbAttributeAddAttribute (const MbAttribute &attr, bool checkSame=true)
 Добавить атрибут в контейнер (всегда копирует атрибут).
 
void GetAttributes (std::vector< MbAttribute *> &attrs, MbeAttributeType type, MbeAttributeType subType) const
 Выдать атрибуты заданного типа.
 
void GetCommonAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &samplePrompt, MbeAttributeType subType=at_Undefined) const
 Выдать атрибуты по строке описания.
 
void GetStringAttributes (std::vector< MbAttribute *> &attrs, const c3d::string_t &sampleContent) const
 Выдать строковые атрибуты по строке содержания.
 
bool RemoveAttribute (const MbAttribute *)
 Выдать атрибут заданного типа, если их несколько - то первый попавшийся. Подробнее...
 
bool RemoveAttributes (MbeAttributeType type, MbeAttributeType subType)
 Удалить атрибуты заданного типа.
 
const MbAttributeGetSimpleAttribute (MbeAttributeType) const
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbeAttributeType)
 Выдать простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (MbAttribute *simpAttr)
 Установить простой атрибут данного подтипа.
 
MbAttributeSetSimpleAttribute (const MbAttribute &simpAttr)
 Установить простой атрибут данного подтипа (всегда копирует атрибут).
 
void RemoveSimpleAttribute (MbeAttributeType)
 Удалить простой атрибут(один и более) данного подтипа.
 
MbAttributeDetachSimpleAttribute (MbeAttributeType)
 Отдать простой атрибут данного подтипа.
 
void GetUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type) const
 Выдать пользовательский атрибут данного подтипа.
 
void RemoveUserAttributes (const MbUserAttribType &type)
 Удалить пользовательский атрибут (один и более) данного подтипа.
 
void DetachUserAttributes (std::vector< MbUserAttribute *> &attrs, const MbUserAttribType &type)
 Отдать пользовательский атрибут данного подтипа.
 
void AttributesChange ()
 Выполнить действия при изменении атрибутов.
 
void AttributesConvert (MbAttributeContainer &other) const
 Выполнить действия при конвертации атрибутов.
 
void AttributesTransform (const MbMatrix3D &, MbRegTransform *=NULL)
 Выполнить действия при трансформировании атрибутов.
 
void AttributesMove (const MbVector3D &, MbRegTransform *=NULL)
 Выполнить действия при перемещении атрибутов.
 
void AttributesRotate (const MbAxis3D &, double angle, MbRegTransform *=NULL)
 Выполнить действия при вращении атрибутов.
 
void AttributesCopy (MbAttributeContainer &other, MbRegDuplicate *=NULL) const
 Выполнить действия при копировании атрибутов.
 
void AttributesMerge (MbAttributeContainer &other)
 Выполнить действия при объединении атрибутов.
 
void AttributesReplace (MbAttributeContainer &other)
 Выполнить действия при замене атрибутов.
 
void AttributesSplit (const std::vector< MbAttributeContainer *> &others)
 Выполнить действия при разделении атрибутов.
 
void AttributesDelete ()
 Выполнить действия при удалении атрибутов.
 
- Открытые члены унаследованные от MbRefItem
 MbRefItem ()
 Конструктор без параметров.
 
refcount_t GetUseCount () const
 Выдать количество ссылок (выдать количество владельцев объекта).
 
refcount_t AddRef () const
 Увеличить количество ссылок на единицу.
 
refcount_t DecRef () const
 Уменьшить количество ссылок на единицу.
 
refcount_t Release () const
 Уменьшить количество ссылок на единицу и, если количество ссылок стало равным нулю, удалить себя.
 

Защищенные члены

 MbExactPolygon3D (const MbExactPolygon3D &, MbRegDuplicate *)
 Конструктор копирования с регистратором.
 
- Защищенные члены унаследованные от MbPolygon3D
 MbPolygon3D (const MbPolygon3D &, MbRegDuplicate *)
 Конструктор копирования с регистратором.
 
- Защищенные члены унаследованные от MbPrimitive
 MbPrimitive (const MbPrimitive &init, MbRegDuplicate *iReg)
 Конструктор копирования с регистратором.
 
 MbPrimitive ()
 Конструктор без параметров.
 
- Защищенные члены унаследованные от MbAttributeContainer
 MbAttributeContainer (const MbAttributeContainer &, MbRegDuplicate *)
 Конструктор копирования с регистратором.
 

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

- Открытые статические члены унаследованные от MbAttributeContainer
static MbUserAttributeReduceUserAttrib (const MbExternalAttribute &source)
 Преобразовать из пользовательского в "системный".
 
static MbExternalAttributeAdvanceUserAttrib (const MbUserAttribute &source)
 Преобразовать из "системного" в пользовательский
 
- Защищенные данные унаследованные от MbPolygon3D
MbStepData stepData
 Параметры расчета полигона (стрелка прогиба или угол отклонения).
 
MbCube cube
 Габаритный куб объекта (не записывается в поток и не читается). Подробнее...
 
- Защищенные данные унаследованные от MbPrimitive
SimpleName name
 Имя примитива.
 
const MbRefItemparentItem
 Породивший объект (не владеем).
 
MbeRefType type
 Тип примитива.
 

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

Полигон на числах double.

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

Методы

◆ Duplicate()

virtual MbExactPolygon3D& MbExactPolygon3D::Duplicate ( MbRegDuplicate iReg = NULL) const
virtual

Создать копию примитива.

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

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

Замещает MbPolygon3D.

◆ Transform()

virtual void MbExactPolygon3D::Transform ( const MbMatrix3D matr)
virtual

Преобразовать примитив согласно матрице.

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

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

Замещает MbPolygon3D.

◆ Move()

virtual void MbExactPolygon3D::Move ( const MbVector3D to)
virtual

Сдвинуть примитив вдоль вектора.

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

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

Замещает MbPolygon3D.

◆ Rotate()

virtual void MbExactPolygon3D::Rotate ( const MbAxis3D axis,
double  angle 
)
virtual

Повернуть примитив вокруг оси на заданный угол.

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

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

Замещает MbPolygon3D.

◆ IsPlanar()

virtual bool MbExactPolygon3D::IsPlanar ( MbPlacement3D plane,
double  metricAccuracy = Math::metricRegion 
) const
virtual

Проверить, лежат ли точки полигона в одной плоскости c заданной точностью metricAccuracy. Если да, то инициализировать плоскость plane.

Замещает MbPolygon3D.


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