C3D Kernel  104598
Открытые члены | Открытые статические члены | Открытые атрибуты

Габаритный прямоугольник. Подробнее...

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

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

 MbRect ()
 Конструктор пустого габарита.
 MbRect (double _left, double _bottom, double _right, double _top)
 Конструктор по заданным значениям границ.
 MbRect (const MbRect &r)
 Конструктор по другому габариту.
 MbRect (const MbCartPoint &p1, const MbCartPoint &p2)
 Конструктор по двум диагональным точкам.
 MbRect (const MbRect &r, const MbMatrix &m)
 Конструктор по габариту с последующей трансформацией по матрице.
void Set (double _left, double _bottom, double _right, double _top)
 Установить заданные значения границ.
void Set (const MbRect &r)
 Установить заданные значения границ.
void Set (const MbCartPoint &p1, const MbCartPoint &p2)
 Установить заданные значения границ.
void Set (const MbCartPoint &p, double eps)
 Установить значения границ как окрестность точки.
void Set (const MbCartPoint &p, double dx, double dy)
 Установить значения границ как окрестнсть точки.
void SetNull ()
 Установить нулевым.
void SetEmpty ()
 Установить пустым ("вывернутым").
bool IsEmpty () const
 Проверить на пустоту.
bool IsDegenerateX () const
 Проверить габарит на вырожденность по оси X.
bool IsDegenerateY () const
 Проверить габарит на вырожденность по оси Y.
bool IsSame (const MbRect &, double eps) const
 Проверить габариты на равенство.
bool IsSame (const MbRect &, double xeps, double yeps) const
 Проверить габариты на равенство.
bool operator== (const MbRect &other) const
 Проверить габариты на равенство.
bool operator!= (const MbRect &other) const
 Проверить габариты на неравенство.
void operator= (const MbRect &other)
 Присвоить значение другого габарита.
double GetTop () const
 Получить верхнюю границу.
double GetBottom () const
 Получить нижнюю границу.
double GetLeft () const
 Получить левую границу.
double GetRight () const
 Получить правую границу.
void SetTop (double _top)
 Установить верхнюю границу.
void SetBottom (double _bottom)
 Установить нижнюю границу.
void SetLeft (double _left)
 Установить левую границу.
void SetRight (double _right)
 Установить правую границу.
double GetXMin () const
 Получить минимум по X.
double GetYMin () const
 Получить минимум по Y.
double GetXMax () const
 Получить максимум по X.
double GetYMax () const
 Получить максимум по Y.
double GetXMid () const
 Получить середину по X.
double GetYMid () const
 Получить середину по Y.
void SetXMin (double s)
 Установить минимум по X.
void SetYMin (double s)
 Установить максимум по X.
void SetXMax (double s)
 Установить минимум по Y.
void SetYMax (double s)
double Width () const
 Найти ширину габарита.
double Height () const
 Найти высоту габарита.
double GetLengthX () const
 Дать длину по X.
double GetLengthY () const
 Дать длину по Y.
double GetLength (double eps) const
 Дать половину периметра.
double GetSquare (double eps) const
 Дать площадь.
double GetDiagonal () const
 Дать длину диагонали.
bool Intersection (const MbRect &rect1, const MbRect &rect2, double eps=Math::LengthEps)
 Вычислить габарит пересечения двух габаритов.
bool Union (const MbRect &rect1, const MbRect &rect2)
 Вычислить суммарный габарит двух габаритов.
bool Contains (const MbCartPoint &p, double eps=Math::LengthEps) const
 Проверить принадлежность габариту заданной точки.
bool Contains (double x, double y, double eps=Math::LengthEps) const
 Проверить принадлежность габариту заданной точки.
bool Contains (const MbCartPoint &p, double xeps, double yeps) const
 Проверить принадлежность габариту заданной точки.
bool Contains (double x, double y, double xeps, double yeps) const
 Проверить принадлежность габариту заданной точки.
bool ContainsX (double x, double eps=Math::LengthEps) const
 Проверить принадлежность габариту заданной координаты по X.
bool ContainsY (double y, double eps=Math::LengthEps) const
 Проверить принадлежность габариту заданной координаты по Y.
void OutCodes (const MbCartPoint &p, unsigned int &outcodes, double eps=METRIC_PRECISION) const
 Вычислить коды расположения точки относительно прямоугольника.
double DistanceToPoint (const MbCartPoint &point) const
 Вычислить расстояние до ближайшей границы габаритного прямоугольника.
double DistanceToPoint (const MbCartPoint &to, unsigned int &outcodes) const
 Вычислить расстояние до точки.
void CalcDistances (const MbCartPoint &to, double &dmin, double &dmax, unsigned int &outcodes) const
 Вычислить минимальное и максимальное расстояния до точки.
bool Intersect (const MbRect &, TaeTwoRectPos &) const
 Проверить, пересекается ли габарит с другим габаритом с признаком пересечения.
bool Intersect (const MbRect &other, double eps=Math::LengthEps) const
 Проверить пересекается ли габарит с другим габаритом.
bool Intersect (const MbRect &other, double xeps, double yeps) const
 Проверить пересекается ли габарит с другим габаритом.
MbRect CompressedBy (double dLeft, double dBottom, double dRight, double dTop) const
 Сделать другой прямоугольник из этого, сжав его.
MbRectNormalize ()
 Нормализовать себя.
void Transform (const MbMatrix &)
 Преобразовать по матрице.
void Scale (double sx, double sy)
 Масштабировать.
MbRectoperator|= (const MbRect &)
 Включить в себя прямоугольник.
MbRectoperator|= (const MbCartPoint &)
 Включить в себя точку.
MbRectoperator|= (const MbHomogeneous &)
 Включить в себя точку.
MbRectoperator|= (const SArray< MbCartPoint > &)
 Включить в себя массив точек.
MbRectoperator|= (const SArray< MbHomogeneous > &)
 Включить в себя массив точек.
void Include (double x, double y)
 Включить в себя точку,заданную как XY.
void IncludeX (double x)
 Включить в себя координату X.
void IncludeY (double y)
 Включить в себя координату Y.
void IncludeXInterval (double x, double dx)
 Включить в себя интервал от X - dx до X + dx.
void IncludeYInterval (double y, double dy)
 Включить в себя интервал от Y - dy до Y + dy.
void Move (const MbVector &to)
 Cдвинуть прямоугольник.
void Move (double dx, double dy)
 Cдвинуть прямоугольник.
void Scale (double scale)
 Масштабировать относительно 0.
void Enlarge (double x, double y)
 Расширить прямоугольник.
void Enlarge (double delta)
 Расширить прямоугольник во все стороны.
void GetOusideRect (MbRect &r) const
 Поличить охватывающий прямоугольник.
void GetCenter (MbCartPoint &p) const
 Вернуть точку центра габарита.
size_t GetVerticesCount () const
 Дать количество вершин.
void GetVertex (size_t index, MbCartPoint &p) const
 Выдать вершину габаритного прямоугольника по индексу от 0 до 3.
const MbRectGetRect () const
 Получить ссылку на себя.
double GetMin (size_t k) const
 Доступ к координате по индексу.
double GetMax (size_t k) const
 Доступ к координате по индексу.
const MbRectGetCube () const
 Получить ссылку на себя.

Открытые статические члены

static size_t GetDimension ()
 Количество координат точки.

Открытые атрибуты

double left
 Левая граница габаритного прямоугольника.
double bottom
 Нижняя граница габаритного прямоугольника.
double right
 Правая граница габаритного прямоугольника.
double top
 Верхняя граница габаритного прямоугольника.

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

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


Методы

void MbRect::SetXMax ( double  s) [inline]

Установить максимум по Y.

double MbRect::DistanceToPoint ( const MbCartPoint point) const [inline]

Найденное расстояние до ближайшей границы имеет отрицательное значение, если точка находится внутри, и положительное - если снаружи.

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

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