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

Полигон. Подробнее...

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

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

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

 MbPolygon3D ()
 Конструктор без параметров.
virtual ~MbPolygon3D ()
 Деструктор
virtual MbePrimitiveType Type () const
 Получить тип объекта.
virtual MbePrimitiveType IsA () const =0
virtual MbPolygon3DDuplicate (MbRegDuplicate *iReg=NULL) const =0
 Создать копию примитива.
virtual void Transform (const MbMatrix3D &)=0
 Преобразовать примитив согласно матрице.
virtual void Move (const MbVector3D &)=0
 Сдвинуть примитив вдоль вектора.
virtual void Rotate (const MbAxis3D &, double angle)=0
 Повернуть примитив вокруг оси на заданный угол.
virtual void AddYourGabaritTo (MbCube &) const =0
 Расширить присланный габаритный куб так, чтобы он включал в себя данный объект.
virtual double DistanceToPoint (const MbCartPoint3D &) const =0
 Вычислить расстояние до точки.
virtual double DistanceToLine (const MbAxis3D &, double maxDistance, double &t) const =0
 Вычислить расстояние до оси.
virtual void GetProperties (MbProperties &)=0
 Выдать свойства объекта.
virtual void SetProperties (const MbProperties &)=0
 Записать свойства объекта.
void GetPoints (std::vector< MbCartPoint3D > &pnts) const
 Выдать все точки полигона.
void GetPoints (std::vector< MbFloatPoint3D > &pnts) const
 Выдать все точки полигона.
Функции полигона.
virtual size_t SizeOf () const =0
 Выдать размер занимаемой памяти.
virtual void Reserve (size_t cnt)=0
 Зарезервировать место для полигона.
virtual void Adjust ()=0
 Удалить лишнюю память.
virtual void Flush ()=0
 Очистить полигон удалив все точки.
virtual size_t Count () const =0
 Выдать количество точек.
virtual void AddPoint (const MbCartPoint3D &dpnt)=0
 Добавить точку в конец полигона.
virtual void AddPoint (const MbFloatPoint3D &fpnt)=0
 Добавить точку в конец полигона.
virtual void GetPoint (size_t i, MbCartPoint3D &dp) const =0
 Выдать точку по её номеру.
virtual void GetPoint (size_t i, MbFloatPoint3D &fp) const =0
 Выдать точку по её номеру.
virtual void SetPoint (size_t i, MbCartPoint3D &pnt)=0
 Установить точку с номером.
virtual bool IsPlanar (MbPlacement3D &plane, double metricAccuracy=Math::metricRegion) const =0
virtual bool GetPlanePolygon (MbPlacement3D &plane, MbPolygon &poly) const =0
 Если точки полигона лежат в одной плоскости, то инициализировать plane и заполнить полигон poly.
virtual bool IsComplete () const =0
 Проверить наличие точек в объекте.
const MbStepDataGetStepData () const
 Выдать параметр расчета триангуляции (стрелку прогиба или угол отклонения).
void SetStepData (const MbStepData &stData)
 Установить параметр расчета триангуляции (стрелку прогиба или угол отклонения).
void SetStepBySag (double s)
 Установить параметр расчета полигона (стрелку прогиба или угол отклонения).
virtual void AddPolygon (const MbPolygon3D &other)=0
 Добавить к полигону полигон с удалением совпадающих точек стыка.
virtual void operator+= (const MbPolygon3D &other)=0
 Добавить к полигону полигон с удалением совпадающих точек стыка.
virtual bool IsSame (const MbPolygon3D &other, double eps) const =0
 Являются ли объекты равными?
virtual void Init (const MbPolygon3D &other)=0
 Инициировать по другому полигону.
virtual MbPolyline3DCreatePolyline () const =0
 Создать ломаную по полигону.

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

 MbPolygon3D (const MbPolygon3D &)
 MbPolygon3D (const MbPolygon3D &, MbRegDuplicate *)
 Конструктор копирования с регистратором.

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

MbStepData stepData
 Параметры расчета полигона (стрелка прогиба или угол отклонения).
MbCube cube
 Габаритный куб объекта (не записывается в поток и не читается).

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

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


Методы

virtual MbPolygon3D& MbPolygon3D::Duplicate ( MbRegDuplicate iReg = NULL) const [pure virtual]

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

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

Замещает MbPrimitive.

Замещается в MbExactPolygon3D и MbFloatPolygon3D.

virtual void MbPolygon3D::Transform ( const MbMatrix3D matr) [pure virtual]

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

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

Замещает MbPrimitive.

Замещается в MbExactPolygon3D и MbFloatPolygon3D.

virtual void MbPolygon3D::Move ( const MbVector3D to) [pure virtual]

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

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

Замещает MbPrimitive.

Замещается в MbExactPolygon3D и MbFloatPolygon3D.

virtual void MbPolygon3D::Rotate ( const MbAxis3D axis,
double  angle 
) [pure virtual]

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

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

Замещает MbPrimitive.

Замещается в MbExactPolygon3D и MbFloatPolygon3D.

virtual bool MbPolygon3D::IsPlanar ( MbPlacement3D plane,
double  metricAccuracy = Math::metricRegion 
) const [pure virtual]

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

Замещается в MbExactPolygon3D и MbFloatPolygon3D.


Данные класса

MbCube MbPolygon3D::cube [mutable, protected]

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


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