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

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

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

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

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

 MbExactPolygon3D ()
 Конструктор без параметров.
virtual ~MbExactPolygon3D ()
 Деструктор
virtual MbePrimitiveType IsA () const
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
 Создать ломаную по полигону.
const MbCartPoint3DGetAddr () const

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

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

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

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


Методы

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

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

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

Замещает MbPolygon3D.

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

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

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

Замещает MbPolygon3D.

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

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

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

Замещает MbPolygon3D.

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

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

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

Замещает MbPolygon3D.

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

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

Замещает MbPolygon3D.


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