C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Трехмерная точка. Подробнее...

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

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

 MbCartPoint3D ()
 Конструктор без параметров, точка расположена в начале глобальных координат.
 
 MbCartPoint3D (const MbCartPoint3D &p)
 Конструктор копирования.
 
 MbCartPoint3D (const MbFloatPoint3D &)
 Конструктор копирования.
 
 MbCartPoint3D (double xx, double yy, double zz)
 Конструктор по координатам.
 
 MbCartPoint3D (const MbCartPoint3D &p, const MbMatrix3D &matr)
 Конструктор по точке в локальной системе координат. Подробнее...
 
 MbCartPoint3D (const MbCartPoint &p, const MbPlacement3D &place)
 Конструктор по двумерной точке. Подробнее...
 
void Init (const MbCartPoint &p, const MbPlacement3D &place)
 Инициализация по двумерной точке. Подробнее...
 
void Init (const MbCartPoint &p)
 Инициализация по двумерной точке.
 
template<class Point >
MbCartPoint3DInit (const Point &p)
 Инициализировать по другой точке.
 
MbCartPoint3DInit (double xx, double yy, double zz)
 Инициализировать по координатам.
 
MbCartPoint3DTransform (const MbMatrix3D &)
 Преобразовать согласно матрице.
 
MbCartPoint3DMove (double dx, double dy, double dz)
 Сдвинуть вдоль вектора.
 
MbCartPoint3DMove (const MbVector3D &to)
 Сдвинуть вдоль вектора.
 
MbCartPoint3DRotate (const MbAxis3D &, double angle)
 Повернуть вокруг оси.
 
double DistanceToPoint (const MbCartPoint3D &) const
 Расстояние до точки.
 
void SetZero ()
 Обнулить координаты.
 
double DistanceToPoint2 (const MbCartPoint3D &to) const
 Квадрат расстояния от точки до точки. Подробнее...
 
void MoveAlongLine (const MbCartPoint3D &to, double delta)
 Сдвинуть по направлению точки to на расстояние delta.
 
void GoNearToPoint (const MbCartPoint3D &to, double ratio)
 Сдвинуть по направлению. Подробнее...
 
void Maximum (const MbCartPoint3D &p)
 Инициализация максимальными координатами. Подробнее...
 
void Minimum (const MbCartPoint3D &p)
 Инициализация минимальными координатами. Подробнее...
 
void Perspective (double znear)
 Увеличить координаты x и y в ( znear / z ) раз. Подробнее...
 
void Mirror (const MbCartPoint3D &p0, const MbVector3D &dir)
 Зеркальное отражение точки относительно плоскости. Подробнее...
 
void Scale (double sx, double sy, double sz)
 Масштабировать координаты. Подробнее...
 
void Scale (double s)
 Масштабировать координаты. Подробнее...
 
double MaxFactor () const
 Дать максимальную по модулю координату
 
bool SetRoundedValue (bool total, double eps)
 Округлить с точностью до eps. Подробнее...
 
void GetProperties (MbProperties &)
 Выдать свойства объекта.
 
void SetProperties (const MbProperties &)
 Записать свойства объекта.
 
bool IsSame (const MbCartPoint3D &other, double accuracy) const
 Являются ли объекты равными? Подробнее...
 
bool IsUndefined () const
 Является ли точка неопределенной?
 
Логические и арифметические операции.
void operator+= (const MbVector3D &)
 Добавить вектор.
 
void operator-= (const MbVector3D &)
 Вычесть вектор.
 
void operator+= (const MbCartPoint3D &)
 Добавить координаты точки.
 
void operator-= (const MbCartPoint3D &)
 Вычесть координаты точки.
 
void operator*= (double factor)
 Умножить координаты на число.
 
void operator/= (double factor)
 Разделить координаты на число.
 
bool operator== (const MbCartPoint3D &) const
 Проверить на равенство.
 
bool operator!= (const MbCartPoint3D &) const
 Проверить на неравенство.
 
bool operator< (const MbCartPoint3D &) const
 Проверить на меньше.
 
bool operator> (const MbCartPoint3D &) const
 Проверить на больше.
 
MbCartPoint3Doperator= (const MbCartPoint3D &)
 Присвоить точке координаты другой точки.
 
MbCartPoint3Doperator= (const MbFloatPoint3D &)
 Присвоить точке координаты другой точки.
 
MbCartPoint3Doperator= (const MbVector3D &)
 Присвоить точке компоненты вектора.
 
MbCartPoint3Doperator= (const MbHomogeneous3D &)
 Присвоить точке значения однородных координат.
 
MbCartPoint3D operator+ (const MbVector3D &) const
 Сложить точку и вектор.
 
MbCartPoint3D operator- (const MbVector3D &) const
 Вычесть из точки вектор.
 
MbVector3D operator+ (const MbCartPoint3D &) const
 Сложить две точки.
 
MbVector3D operator- (const MbCartPoint3D &) const
 Вычесть из точки точку.
 
MbCartPoint3D operator- ()
 Унарный минус.
 
MbCartPoint3D operator* (const MbMatrix3D &) const
 Вычислить точку как копию данной точки, преобразованную матрицей.
 
double & operator[] (size_t i)
 Доступ к координате по индексу.
 
double operator[] (size_t i) const
 Значение координаты по индексу.
 
Функции сложения и умножения точек с точками и с векторами.
MbCartPoint3DSetAdd (const MbCartPoint3D &v1, const MbVector3D &v2)
 Приравнять координаты сумме координат точки и вектора. Подробнее...
 
MbCartPoint3DSetDec (const MbCartPoint3D &v1, const MbVector3D &v2)
 Приравнять координаты разности координат точки и вектора. Подробнее...
 
MbCartPoint3DSet (const MbCartPoint3D &v1, const MbVector3D &v2, double t2)
 Приравнять координаты сумме координат точки и вектора. Подробнее...
 
MbCartPoint3DSet (const MbCartPoint3D &v1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3)
 Приравнять координаты сумме координат точки и двух векторов. Подробнее...
 
MbCartPoint3DSet (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2)
 Приравнять координаты сумме компонент двух векторов. Подробнее...
 
MbCartPoint3DSet (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3, const MbVector3D &v4, double t4)
 Приравнять координаты сумме компонент четырех векторов. Подробнее...
 
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2)
 Приравнять координаты сумме координат двух точек. Подробнее...
 
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3)
 Приравнять координаты сумме координат трех точек. Подробнее...
 
MbCartPoint3DSet (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3, const MbCartPoint3D &v4, double t4)
 Приравнять координаты сумме координат четырех точек. Подробнее...
 
void Add (const MbVector3D &v1, double t1)
 Увеличить координаты на значения компонент вектора. Подробнее...
 
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2)
 Увеличить координаты на значения компонент двух векторов. Подробнее...
 
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3)
 Увеличить координаты на значения компонент трех векторов. Подробнее...
 
void Add (const MbVector3D &v1, double t1, const MbVector3D &v2, double t2, const MbVector3D &v3, double t3, const MbVector3D &v4, double t4)
 Увеличить координаты на значения компонент четырех векторов. Подробнее...
 
void Add (const MbCartPoint3D &v1, double t1)
 Увеличить координаты на значения координат точки. Подробнее...
 
void Add (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3)
 Увеличить координаты на значения координат трех точек. Подробнее...
 
void Add (const MbCartPoint3D &v1, double t1, const MbCartPoint3D &v2, double t2, const MbCartPoint3D &v3, double t3, const MbCartPoint3D &v4, double t4)
 Увеличить координаты на значения координат четырех точек. Подробнее...
 

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

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

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

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

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

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

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

Трехмерная точка.

Трехмерная точка (картезианская точка) описывается тремя координатами в декартовой системе координат. Точка названа картезианской в честь французского учёного геометра Рене Декарта (Rene Descartes, по латыни Renatus Cartesius).
Точку можно описать радиусом-вектором. Радиус-вектор описывает преобразование, переводящее начальную точку декартовой системы координат в точку пространства с заданными координатами в этой декартовой системе координат.

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

◆ MbCartPoint3D() [1/2]

MbCartPoint3D::MbCartPoint3D ( const MbCartPoint3D p,
const MbMatrix3D matr 
)

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

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

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

◆ MbCartPoint3D() [2/2]

MbCartPoint3D::MbCartPoint3D ( const MbCartPoint p,
const MbPlacement3D place 
)

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

Двумерная точка лежит в плоскости XOY заданной локальной системы координат.

Аргументы
[in]p- Двумерная точка.
[in]place- Исходная локальная система координат.

Методы

◆ Init()

void MbCartPoint3D::Init ( const MbCartPoint p,
const MbPlacement3D place 
)

Инициализация по двумерной точке.

Двумерная точка лежит в плоскости XOY заданной локальной системы координат.

Аргументы
[in]p- Двумерная точка.
[in]place- Исходная локальная система координат.

◆ DistanceToPoint2()

double MbCartPoint3D::DistanceToPoint2 ( const MbCartPoint3D to) const
inline

Квадрат расстояния от точки до точки.

Вычислить квадрат расстояния от точки до точки.

Аргументы
[in]to- Точка.
Возвращает
Квадрат расстояния от точки до точки.

◆ GoNearToPoint()

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

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

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

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

◆ Maximum()

void MbCartPoint3D::Maximum ( const MbCartPoint3D p)
inline

Инициализация максимальными координатами.

Координата x (или y,z) точки инициализируется максимальным значением получаемым из сравнения соответствующей координаты исходной точки и точки заданной в аргументе функции.

Аргументы
[in]p- Заданная точка.

◆ Minimum()

void MbCartPoint3D::Minimum ( const MbCartPoint3D p)
inline

Инициализация минимальными координатами.

Координата x (или y,z) точки инициализируется минимальным значением получаемым из сравнения соответствующей координаты исходной точки и точки заданной в аргументе функции.

Аргументы
[in]p- Заданная точка.

◆ Perspective()

void MbCartPoint3D::Perspective ( double  znear)

Увеличить координаты x и y в ( znear / z ) раз.

Увеличение координат производится для учета перспективного преобразования. Точка должна находится в локальной или видовой системе координат. z - координата точки не может быть равна нулю.

Аргументы
[in]znear- Величина znear/z определяет масштаб увеличения.

◆ Mirror()

void MbCartPoint3D::Mirror ( const MbCartPoint3D p0,
const MbVector3D dir 
)
inline

Зеркальное отражение точки относительно плоскости.

Зеркальное отражение точки относительно плоскости с началом p0 и нормалью dir.

Аргументы
[in]p0- Точка плоскости симметрии.
[in]dir- Направление нормали плоскости симметрии.

◆ SetAdd()

MbCartPoint3D & MbCartPoint3D::SetAdd ( const MbCartPoint3D v1,
const MbVector3D v2 
)
inline

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

Аргументы
[in]v1- Исходная точка.
[in]v2- Исходный вектор.

◆ SetDec()

MbCartPoint3D & MbCartPoint3D::SetDec ( const MbCartPoint3D v1,
const MbVector3D v2 
)
inline

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

Аргументы
[in]v1- Исходная точка.
[in]v2- Исходный вектор.

◆ Set() [1/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
const MbVector3D v2,
double  t2 
)
inline

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

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

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

◆ Set() [2/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3 
)
inline

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

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

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

◆ Set() [3/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2 
)
inline

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

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

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

◆ Set() [4/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3,
const MbVector3D 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() [5/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2 
)
inline

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

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

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

◆ Set() [6/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3 
)
inline

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

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

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

◆ Set() [7/7]

MbCartPoint3D & MbCartPoint3D::Set ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3,
const MbCartPoint3D 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 соответственно.

◆ Add() [1/7]

void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1 
)
inline

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

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

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

◆ Add() [2/7]

void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2 
)
inline

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

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

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

◆ Add() [3/7]

void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3 
)
inline

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

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

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

◆ Add() [4/7]

void MbCartPoint3D::Add ( const MbVector3D v1,
double  t1,
const MbVector3D v2,
double  t2,
const MbVector3D v3,
double  t3,
const MbVector3D 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 соответственно.

◆ Add() [5/7]

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

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

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

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

◆ Add() [6/7]

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

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

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

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

◆ Add() [7/7]

void MbCartPoint3D::Add ( const MbCartPoint3D v1,
double  t1,
const MbCartPoint3D v2,
double  t2,
const MbCartPoint3D v3,
double  t3,
const MbCartPoint3D 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 соответственно.

◆ Scale() [1/2]

void MbCartPoint3D::Scale ( double  sx,
double  sy,
double  sz 
)
inline

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

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

◆ Scale() [2/2]

void MbCartPoint3D::Scale ( double  s)
inline

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

Аргументы
[in]s- Масштабирующий коэффициент.

◆ SetRoundedValue()

bool MbCartPoint3D::SetRoundedValue ( bool  total,
double  eps 
)

Округлить с точностью до eps.

Округляются координаты точки с заданное точностью.

Аргументы
[in]total- Если true, то округлять в любом случае.
[in]eps- Точность округления.
Возвращает
true, если округление было выполнено.

◆ IsSame()

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

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

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

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

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