C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

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

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

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

 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() [1/2]

MbCartPoint::MbCartPoint ( )
inline

Конструктор по умолчанию.

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

◆ MbCartPoint() [2/2]

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

Конструктор по точке в локальной системе координат.

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

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

Методы

◆ MoveAlongLine() [1/4]

void MbCartPoint::MoveAlongLine ( const MbCartPoint p2,
double  delta 
)

Сдвинуть по направлению, заданному второй точкой.

Аргументы
[in]p2- Исходная точка, определяющая направления сдвига.
[in]delta- Величина сдвига.

◆ MoveAlongLine() [2/4]

void MbCartPoint::MoveAlongLine ( double  angle,
double  delta 
)
inline

Сдвинуть по направлению, заданному углом.

Аргументы
[in]angle- Угол, определяющий направление сдвига.
[in]delta- Величина сдвига.

◆ MoveAlongLine() [3/4]

void MbCartPoint::MoveAlongLine ( const MbDirection angle,
double  delta 
)
inline

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

Аргументы
[in]angle- Вектор, определяющий направление сдвига.
[in]delta- Величина сдвига.

◆ MoveAlongLine() [4/4]

void MbCartPoint::MoveAlongLine ( const MbVector vect,
double  delta 
)
inline

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

Аргументы
[in]angle- Вектор, определяющий направление сдвига.
[in]delta- Величина сдвига.

◆ MoveUntilDist()

void MbCartPoint::MoveUntilDist ( const MbCartPoint p1,
double  dist 
)

Сдвинуть точку по направлению к заданной на расстояние dist.

Аргументы
[in]p1- Исходная точка, определяющая направления сдвига.
[in]dist- Величина сдвига.

◆ GoNearToPoint()

void MbCartPoint::GoNearToPoint ( const MbCartPoint to,
double  ratio 
)
inline

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

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

Аргументы
[in]to- Точка.
[in]ratio- Доля расстояния.

◆ Rotate() [1/4]

void MbCartPoint::Rotate ( const MbCartPoint pnt,
double  angle 
)
inline

Повернуть на угол.

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

Аргументы
[in]pnt- Точка.
[in]angle- Угол вращения.

◆ Rotate() [2/4]

void MbCartPoint::Rotate ( const MbCartPoint pnt,
const MbDirection angle 
)

Повернуть на угол.

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

Аргументы
[in]pnt- Точка - центр вращения.
[in]angle- Вектор вращения.

◆ Rotate() [3/4]

void MbCartPoint::Rotate ( double  angle)
inline

Повернуть на угол.

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

Аргументы
[in]angle- Угол вращения.

◆ Rotate() [4/4]

void MbCartPoint::Rotate ( const MbDirection angle)

Повернуть на угол.

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

Аргументы
[in]angle- Вектор вращения.

◆ Mirror() [1/3]

MbCartPoint MbCartPoint::Mirror ( const MbCartPoint from) const
inline

Зеркально отразить точку от заданной.

Аргументы
[in]from- Точка, от которой требуется отразить исходную.
Возвращает
Отраженную точку.

◆ Mirror() [2/3]

MbCartPoint MbCartPoint::Mirror ( const MbCartPoint p1,
const MbCartPoint p2 
) const

Зеркально отразить точку от прямой.

Аргументы
[in]p1,p2- Точки, задающие прямую.
Возвращает
Отраженную точку.

◆ Mirror() [3/3]

void MbCartPoint::Mirror ( const MbCartPoint p1,
const MbDirection dir 
)
inline

Зеркально отразить точку от прямой.

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

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

◆ DistanceToLineSeg()

double MbCartPoint::DistanceToLineSeg ( const MbCartPoint p1,
const MbCartPoint p2 
) const

Расстояние от точки до отрезка.

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

Аргументы
[in]p1,p2- Начальная и конечная точки отрезка.
Возвращает
Искомое расстояние.

◆ Scale()

void MbCartPoint::Scale ( double  sx,
double  sy 
)
inline

Масштабировать координаты.

Аргументы
[in]sx,sy- Масштабирующие коэффициенты для компонент x и y соответственно.

◆ Set() [1/6]

void MbCartPoint::Set ( const MbCartPoint v1,
const MbVector v2,
double  t2 
)
inline

Приравнять координаты сумме координат точки и вектора.

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

Аргументы
[in]v1- Исходная точка.
[in]v2- Исходный вектор.
[in]t2- Число, на которое умножаются координаты исходного вектора v2.

◆ Set() [2/6]

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 соответственно.

◆ Set() [3/6]

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 соответственно.

◆ Set() [4/6]

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 соответственно.

◆ Set() [5/6]

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 соответственно.

◆ Set() [6/6]

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 соответственно.

◆ Add() [1/8]

void MbCartPoint::Add ( const MbVector v1,
double  t1 
)
inline

Увеличить координаты на значения компонент вектора.

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

Аргументы
[in]v1- Исходный вектор.
[in]t1- Число, на которое умножаются координаты исходного вектора v1.

◆ Add() [2/8]

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 соответственно.

◆ Add() [3/8]

void MbCartPoint::Add ( const MbVector v1,
double  t1,
const MbVector v2,
double  t2,
const MbVector v3,
double  t3 
)
inline

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

Аргументы
[in]v1,v2,v3- Исходные векторы.
[in]t1,t2,t3- Числа, на которые умножаются координаты векторов v1, v2 и v3 соответственно.

◆ Add() [4/8]

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 соответственно.

◆ Add() [5/8]

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 соответственно.

◆ Add() [6/8]

void MbCartPoint::Add ( const MbCartPoint v1,
double  t1 
)
inline

Увеличить координаты на значения координат точки.

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

Аргументы
[in]v1- Исходная точка.
[in]t1- Число, на которое умножаются координаты исходной точки v1.

◆ Add() [7/8]

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 соответственно.

◆ Add() [8/8]

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 соответственно.

◆ IsSame()

bool MbCartPoint::IsSame ( const MbCartPoint other,
double  accuracy 
) const
inline

Являются ли объекты равными?

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

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

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