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

Декартова двумерная точка. Подробнее...

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

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

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

 MbCartPoint ()
 Конструктор по умолчанию.
 MbCartPoint (const MbCartPoint &p)
 Конструктор копирования.
 MbCartPoint (const MbVector &p)
 Конструктор по вектору.
 MbCartPoint (double initX, double initY)
 Конструктор по координатам.
 MbCartPoint (const MbCartPoint &p, const MbMatrix &matr)
 Конструктор по точке в локальной системе координат.
 MbCartPoint (const MbFloatPoint &)
 Конструктор по float-точке.
void SetZero ()
 Обнулить координаты.
template<class Point >
void Init (const Point &p)
 Инициализировать по другой точке.
void Init (double initX, double initY)
 Инициализировать по координатам.
double DistanceToPoint (const MbCartPoint &to) const
 Найти расстояние от точки до точки.
MbCartPointTransform (const MbMatrix &matr)
 Преобразовать согласно матрице.
MbCartPointMove (const MbVector &to)
 Сдвинуть вдоль вектора.
MbCartPointMove (double dx, double dy)
 Сдвинуть на заданные приращения.
double DistanceToPoint2 (const MbCartPoint &to) const
 Найти квадрат расстояния от точки до точки.
double DistanceToLineSeg (const MbCartPoint &p1, const MbCartPoint &p2) const
 Расстояние от точки до отрезка.
double Length () const
 Длина вектора ( 0, p(x,y) ).
void Scale (double sx, double sy)
 Масштабировать координаты.
void GetProperties (MbProperties &properties)
 Выдать свойства объекта.
void SetProperties (const MbProperties &properties)
 Записать свойства объекта.
bool IsSame (const MbCartPoint &other, double accuracy) const
 Являются ли объекты равными?
bool IsUndefined () const
 Является ли точка неопределенной?
Сдвиги, вращения, отражения.
void MoveAlongLine (const MbCartPoint &p2, double delta)
 Сдвинуть по направлению, заданному второй точкой.
void MoveAlongLine (double angle, double delta)
 Сдвинуть по направлению, заданному углом.
void MoveAlongLine (const MbDirection &angle, double delta)
 Сдвинуть по направлению, заданному вектором.
void MoveAlongLine (const MbVector &vect, double delta)
 Сдвинуть по направлению, заданному вектором.
void MoveUntilDist (const MbCartPoint &p1, double dist)
 Сдвинуть точку по направлению к заданной на расстояние dist.
void GoNearToPoint (const MbCartPoint &to, double ratio)
 Сдвинуть по направлению.
void Rotate (const MbCartPoint &pnt, double angle)
 Повернуть на угол.
void Rotate (const MbCartPoint &pnt, const MbDirection &angle)
 Повернуть на угол.
void Rotate (double angle)
 Повернуть на угол.
void Rotate (const MbDirection &angle)
 Повернуть на угол.
MbCartPoint Mirror (const MbCartPoint &from) const
 Зеркально отразить точку от заданной.
MbCartPoint Mirror (const MbCartPoint &p1, const MbCartPoint &p2) const
 Зеркально отразить точку от прямой.
void Mirror (const MbCartPoint &p1, const MbDirection &dir)
 Зеркально отразить точку от прямой.
Логические и арифметические операции.
double & operator[] (size_t i)
 Доступ к координате по индексу.
double operator[] (size_t i) const
 Значение координаты по индексу.
bool operator== (const MbCartPoint &with) const
 Проверить на равенство в рамках точности.
bool operator!= (const MbCartPoint &with) const
 Проверить на неравенство.
bool Equal (const MbCartPoint &with) const
 Проверить на точное равенство.
bool operator< (const MbCartPoint &) const
 Проверить на меньше.
bool operator> (const MbCartPoint &) const
 Проверить на больше.
MbVector operator+ (const MbCartPoint &pnt) const
 Cложить две точки.
MbVector operator- (const MbCartPoint &pnt) const
 Вычесть из точки точку.
MbCartPoint operator+ (const MbDirection &d) const
 Cложить точку с вектором.
MbCartPoint operator- (const MbDirection &d) const
 Вычесть вектор из точки.
MbCartPoint operator- ()
 Унарный минус.
MbCartPoint operator* (double factor) const
 Умножить точку на число.
MbCartPoint operator/ (double factor) const
 Разделить точку на число.
MbCartPoint operator* (const MbMatrix &) const
 Вычислить точку как копию данной точки, преобразованную матрицей.
void operator+= (const MbCartPoint &pnt)
 Cложить две точки.
void operator-= (const MbCartPoint &pnt)
 Вычесть из точки точку.
void operator*= (double factor)
 Умножить точку на число.
void operator/= (double factor)
 Разделить точку на число.
void operator+= (MbVector &v)
 Cложить точку с вектором.
void operator-= (MbVector &v)
 Вычесть вектор из точки.
MbCartPoint operator+ (const MbVector &vector) const
 Cложить точку с вектором.
MbCartPoint operator- (const MbVector &vector) const
 Вычесть вектор из точки.
void operator= (const MbVector &)
 Присвоить точке значения компонент вектора.
void operator= (const MbDirection &)
 Присвоить точке значения компонент вектора.
void operator= (const MbFloatPoint &)
 Присвоить точке значений float-точки.
Функции сложения и умножения точек с точками и с векторами.
void Set (const MbCartPoint &v1, const MbVector &v2, double t2)
 Приравнять координаты сумме координат точки и вектора.
void Set (const MbCartPoint &v1, const MbVector &v2, double t2, const MbVector &v3, double t3)
 Приравнять координаты сумме координат точки и двух векторов.
void Set (const MbCartPoint &v1, double t1, const MbCartPoint &v2, double t2)
 Приравнять координаты сумме координат двух точек.
void Set (const MbCartPoint &v1, double t1, const MbCartPoint &v2, double t2, const MbCartPoint &v3, double t3)
 Приравнять координаты сумме координат трех точек.
void Set (const MbCartPoint &v1, double t1, const MbCartPoint &v2, double t2, const MbCartPoint &v3, double t3, const MbCartPoint &v4, double t4)
 Приравнять координаты сумме координат четырех точек.
void Set (const MbCartPoint &v1, const MbDirection &v2, double t2, const MbDirection &v3, double t3)
 Приравнять координаты сумме координат точки и двух векторов.
void Add (const MbVector &v1, double t1)
 Увеличить координаты на значения компонент вектора.
void Add (const MbVector &v1, double t1, const MbVector &v2, double t2)
 Увеличить координаты на значения компонент двух векторов.
void Add (const MbVector &v1, double t1, const MbVector &v2, double t2, const MbVector &v3, double t3)
 Увеличить координаты на значения компонент векторов v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.
void Add (const MbVector &v1, double t1, const MbVector &v2, double t2, const MbVector &v3, double t3, const MbVector &v4, double t4)
 Увеличить координаты на значения компонент трех векторов.
void Add (const MbDirection &v1, double t1, const MbDirection &v2, double t2)
 Увеличить координаты на значения компонент двух векторов.
void Add (const MbCartPoint &v1, double t1)
 Увеличить координаты на значения координат точки.
void Add (const MbCartPoint &v1, double t1, const MbCartPoint &v2, double t2, const MbCartPoint &v3, double t3)
 Увеличить координаты на значения координат трех точек.
void Add (const MbCartPoint &v1, double t1, const MbCartPoint &v2, double t2, const MbCartPoint &v3, double t3, const MbCartPoint &v4, double t4)
 Увеличить координаты на значения координат четырех точек.

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

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

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

double x
 Первая координата точки.
double y
 Вторая координата точки.

Статические открытые данные

static const MbCartPoint origin
 Начало координат или { 0, 0 }.

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

Двумерная точка описывается двумя координатами. Определены различные логические, арифметические и геометрические операции точек с точками и векторами. Точка названа в честь французского учёного геометра Рене Декарта (Rene Descartes, по латыни Renatus Cartesius).


Конструктор(ы)

MbCartPoint::MbCartPoint ( ) [inline]

Создает точку с нулевыми координатами.

MbCartPoint::MbCartPoint ( const MbCartPoint p,
const MbMatrix matr 
) [inline]

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

Аргументы:
[in]p- Точка в локальной системе координат.
[in]matr- Матрица перехода из локальной системы координат в глобальную.

Методы

void MbCartPoint::MoveAlongLine ( const MbCartPoint p2,
double  delta 
)
Аргументы:
[in]p2- Исходная точка, определяющая направления сдвига.
[in]delta- Величина сдвига.
void MbCartPoint::MoveAlongLine ( double  angle,
double  delta 
) [inline]
Аргументы:
[in]angle- Угол, определяющий направление сдвига.
[in]delta- Величина сдвига.
void MbCartPoint::MoveAlongLine ( const MbDirection angle,
double  delta 
) [inline]
Аргументы:
[in]angle- Вектор, определяющий направление сдвига.
[in]delta- Величина сдвига.
void MbCartPoint::MoveAlongLine ( const MbVector vect,
double  delta 
) [inline]
Аргументы:
[in]angle- Вектор, определяющий направление сдвига.
[in]delta- Величина сдвига.
void MbCartPoint::MoveUntilDist ( const MbCartPoint p1,
double  dist 
)
Аргументы:
[in]p1- Исходная точка, определяющая направления сдвига.
[in]dist- Величина сдвига.
void MbCartPoint::GoNearToPoint ( const MbCartPoint to,
double  ratio 
) [inline]

Сдвиг по направлению точки to на расстояние, определяемое отношением величины ratio к расстоянию между точками.

Аргументы:
[in]to- Точка.
[in]ratio- Доля расстояния.
void MbCartPoint::Rotate ( const MbCartPoint pnt,
double  angle 
) [inline]

Угол определяет вектор вращения, а точка - центр.

Аргументы:
[in]pnt- Точка.
[in]angle- Угол вращения.
void MbCartPoint::Rotate ( const MbCartPoint pnt,
const MbDirection angle 
)

Угол определяется вектором вращения.

Аргументы:
[in]pnt- Точка - центр вращения.
[in]angle- Вектор вращения.
void MbCartPoint::Rotate ( double  angle) [inline]

Угол определяет вектор вращения.

Аргументы:
[in]angle- Угол вращения.
void MbCartPoint::Rotate ( const MbDirection angle)

Угол определяется вектором вращения.

Аргументы:
[in]angle- Вектор вращения.
MbCartPoint MbCartPoint::Mirror ( const MbCartPoint from) const [inline]
Аргументы:
[in]from- Точка, от которой требуется отразить исходную.
Возвращает:
Отраженную точку.
MbCartPoint MbCartPoint::Mirror ( const MbCartPoint p1,
const MbCartPoint p2 
) const
Аргументы:
[in]p1,p2- Точки, задающие прямую.
Возвращает:
Отраженную точку.
void MbCartPoint::Mirror ( const MbCartPoint p1,
const MbDirection dir 
) [inline]

Отражение происходит от прямой в направлении, задаваемом базовой точкой.

Аргументы:
[in]p1- Точка, задающая направление отражения.
[in]dir- Вектор, задающий прямую, от которой делается отражение.
double MbCartPoint::DistanceToLineSeg ( const MbCartPoint p1,
const MbCartPoint p2 
) const

Отрезок задается по двум входным точкам.

Аргументы:
[in]p1,p2- Начальная и конечная точки отрезка.
Возвращает:
Искомое расстояние.
void MbCartPoint::Scale ( double  sx,
double  sy 
) [inline]
Аргументы:
[in]sx,sy- Масштабирующие коэффициенты для компонент x и y соответственно.
void MbCartPoint::Set ( const MbCartPoint v1,
const MbVector v2,
double  t2 
) [inline]

Приравнять координаты сумме координат точки v1 и вектора v2, умноженного на число t2.

Аргументы:
[in]v1- Исходная точка.
[in]v2- Исходный вектор.
[in]t2- Число, на которое умножаются координаты исходного вектора v2.
void MbCartPoint::Set ( const MbCartPoint v1,
const MbVector v2,
double  t2,
const MbVector v3,
double  t3 
) [inline]

Приравнять координаты сумме координат точки v1 и векторов v2 и v3, умноженных на числа t2 и t3, соответственно.

Аргументы:
[in]v1- Исходная точка.
[in]v2,v3- Исходные векторы.
[in]t2,t3- Числа, на которые умножаются координаты векторов v2 и v3 соответственно.
void MbCartPoint::Set ( const MbCartPoint v1,
double  t1,
const MbCartPoint v2,
double  t2 
) [inline]

Приравнять координаты сумме координат точек v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные точки.
[in]t1,t2- Числа, на которые умножаются координаты точек v1 и v2 соответственно.
void MbCartPoint::Set ( const MbCartPoint v1,
double  t1,
const MbCartPoint v2,
double  t2,
const MbCartPoint v3,
double  t3 
) [inline]

Приравнять координаты сумме координат точек v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные точки.
[in]t1,t2,t3- Числа, на которые умножаются координаты точек v1, v2 и v3 соответственно.
void MbCartPoint::Set ( const MbCartPoint v1,
double  t1,
const MbCartPoint v2,
double  t2,
const MbCartPoint v3,
double  t3,
const MbCartPoint v4,
double  t4 
) [inline]

Приравнять координаты сумме координат точек v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные точки.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты точек v1, v2, v3 и v4 соответственно.
void MbCartPoint::Set ( const MbCartPoint v1,
const MbDirection v2,
double  t2,
const MbDirection v3,
double  t3 
) [inline]

Приравнять координаты сумме координат точки v1 и векторов v2 и v3, умноженных на числа t2 и t3, соответственно.

Аргументы:
[in]v1- Исходная точка.
[in]v2,v3- Исходные векторы.
[in]t2,t3- Числа, на которые умножаются координаты векторов v2 и v3 соответственно.
void MbCartPoint::Add ( const MbVector v1,
double  t1 
) [inline]

Увеличить координаты на значения компонент вектора v1, умноженных на число t1.

Аргументы:
[in]v1- Исходный вектор.
[in]t1- Число, на которое умножаются координаты исходного вектора v1.
void MbCartPoint::Add ( const MbVector v1,
double  t1,
const MbVector v2,
double  t2 
) [inline]

Увеличить координаты на значения компонент векторов v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные векторы.
[in]t1,t2- Числа, на которые умножаются координаты векторов v1 и v2 соответственно.
void MbCartPoint::Add ( const MbVector v1,
double  t1,
const MbVector v2,
double  t2,
const MbVector v3,
double  t3 
) [inline]
Аргументы:
[in]v1,v2,v3- Исходные векторы.
[in]t1,t2,t3- Числа, на которые умножаются координаты векторов v1, v2 и v3 соответственно.
void MbCartPoint::Add ( const MbVector v1,
double  t1,
const MbVector v2,
double  t2,
const MbVector v3,
double  t3,
const MbVector v4,
double  t4 
) [inline]

Увеличить координаты на значения компонент векторов v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные векторы.
[in]t1,t2,t3- Числа, на которые умножаются координаты векторов v1, v2 и v3 соответственно.
void MbCartPoint::Add ( const MbDirection v1,
double  t1,
const MbDirection v2,
double  t2 
) [inline]

Увеличить координаты на значения компонент векторов v1 и v2, умноженных на числа t1 и t2, соответственно.

Аргументы:
[in]v1,v2- Исходные векторы.
[in]t1,t2- Числа, на которые умножаются координаты векторов v1 и v2 соответственно.
void MbCartPoint::Add ( const MbCartPoint v1,
double  t1 
) [inline]

Увеличить координаты на значения координат точки v1, умноженных на число t1.

Аргументы:
[in]v1- Исходная точка.
[in]t1- Число, на которое умножаются координаты исходной точки v1.
void MbCartPoint::Add ( const MbCartPoint v1,
double  t1,
const MbCartPoint v2,
double  t2,
const MbCartPoint v3,
double  t3 
) [inline]

Увеличить координаты на значения координат точек v1, v2 и v3, умноженных на числа t1, t2 и t3, соответственно.

Аргументы:
[in]v1,v2,v3- Исходные точки.
[in]t1,t2,t3- Числа, на которые умножаются координаты точек v1, v2 и v3 соответственно.
void MbCartPoint::Add ( const MbCartPoint v1,
double  t1,
const MbCartPoint v2,
double  t2,
const MbCartPoint v3,
double  t3,
const MbCartPoint v4,
double  t4 
) [inline]

Увеличить координаты на значения координат точек v1, v2, v3 и v4, умноженных на числа t1, t2, t3 и t4, соответственно.

Аргументы:
[in]v1,v2,v3,v4- Исходные точки.
[in]t1,t2,t3,t4- Числа, на которые умножаются координаты точек v1, v2, v3 и v4 соответственно.
bool MbCartPoint::IsSame ( const MbCartPoint other,
double  accuracy 
) const [inline]

Равными считаются объекты, данные которых равны с заданной точностью.

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

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