VM2D
1.12
Vortex methods for 2D flows simulation
|
Класс, опеделяющий двумерный вектор More...
#include <v3D.h>
Public Member Functions | |
v3D () | |
Пустой конструктор More... | |
v3D (const numvector< double, 3 > &_r) | |
Конструктор и приведение типа из numvector<double, 3> More... | |
v3D (const v3D &_r) | |
Конструктор копирования More... | |
v3D (const std::initializer_list< double > &z) | |
Конструктор инициализации списком More... | |
~v3D () | |
Деструктор More... | |
v3D | rotated (const double angle, const v3D &axis) const |
Поворот вектора на произвольный угол против часовой стрелки (по умолчанию 90 градусов) More... | |
double & | operator[] (size_t i) |
const double & | operator[] (size_t i) const |
size_t | size () const |
auto | operator& (const numvector< P, n > &y) const -> typename std::remove_const< decltype(this->data[0]*y[0])>::type |
Оператор "&" скалярного умножения More... | |
auto | operator^ (const numvector< P, 3 > &y) const -> numvector< typename std::remove_const< decltype(this->data[1]*y[2])>::type, 3 > |
Оператор "^" векторного произведения More... | |
auto | operator^ (const numvector< P, 2 > &y) const -> typename std::remove_const< decltype(this->data[0]*y[1])>::type |
Оператор "^" вычисления третьей компоненты векторного произведения More... | |
numvector< double, n > & | operator*= (P c) |
Оператор "*=" домножения вектора на действительное число More... | |
numvector< double, n > & | operator/= (P c) |
Оператор "/=" деления вектора на действительное число More... | |
numvector< double, n > & | operator+= (const numvector< P, n > &y) |
Оператор "+=" прибавления другого вектора More... | |
numvector< double, n > & | operator-= (const numvector< P, n > &y) |
Оператор "-=" вычитания другого вектора More... | |
auto | operator+ (const numvector< P, n > &y) const -> numvector< typename std::remove_const< decltype(this->data[0]+y[0])>::type, n > |
Оператор "+" сложения двух векторов More... | |
const numvector< double, n > & | operator+ () const |
Оператор "+" унарного плюса More... | |
auto | operator- (const numvector< P, n > &y) const -> numvector< typename std::remove_const< decltype(this->data[0]-y[0])>::type, n > |
Оператор "-" вычитания двух векторов More... | |
numvector< double, n > | operator- () const |
Оператор "-" унарного минуса More... | |
auto | operator* (const P c) const -> numvector< typename std::remove_const< decltype(this->data[0]*c)>::type, n > |
Оператор "*" умножения вектора на число (вектор слева, число справа) More... | |
bool | operator== (const numvector< P, n > &y) const |
Оператор "==" логического равенства More... | |
bool | operator!= (const numvector< P, n > &y) const |
Перегрузка оператора "!=" логического неравенства More... | |
auto | norm1 () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
Вычисление 1-нормы вектора More... | |
auto | norminf () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
Вычисление inf-нормы вектора More... | |
P | length () const |
Вычисление 2-нормы (длины) вектора More... | |
auto | length2 () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data[0])>::type >::type |
Вычисление квадрата нормы (длины) вектора More... | |
auto | unit (P newlen=1) const -> numvector< typename std::remove_const< decltype(this->data[0]*newlen)>::type, n > |
Вычисление орта вектора или вектора заданной длины, коллинеарного данному More... | |
void | normalize (P newlen=1.0) |
Нормирование вектора на заданную длину More... | |
size_t | member (const P &s) const |
Проверка вхождения элемента в вектор More... | |
operator std::set< P > () const | |
Приведение вектора к типу std::set. More... | |
operator std::vector< P > () const | |
Приведение вектора к типу std::vector. More... | |
numvector< double, n > | rotateLeft (size_t k) const |
"Вращение" вектора на несколько позиций влево More... | |
numvector< double, 2 > | kcross () const |
Геометрический поворот двумерного вектора на 90 градусов More... | |
numvector< double, n > & | toZero (P val=0) |
Установка всех компонент вектора в константу (по умолчанию — нуль) More... | |
auto | dist2To (const numvector< P, n > &y) const -> typename std::remove_const< decltype(this->data[0]-y[0])>::type |
Вычисление квадрата расстояния до другой точки More... | |
R | distTo (const numvector< P, n > &y) |
Вычисление расстояния между двумя точками More... | |
Protected Attributes | |
double | data [n] |
Класс, опеделяющий двумерный вектор
Наследуется от numvector<double, 3>, имеет дополнительные возможности:
v3D::v3D | ( | const numvector< double, 3 > & | _r | ) |
Конструктор и приведение типа из numvector<double, 3>
[in] | _r | константная ссылка на копируемый объект типа numvector<double, 3> |
Definition at line 45 of file v3D.cpp.
v3D::v3D | ( | const v3D & | _r | ) |
v3D::v3D | ( | const std::initializer_list< double > & | z | ) |
|
inline |
|
inlineinherited |
Вычисление квадрата расстояния до другой точки
P | тип данных второй точки |
[in] | y | константная ссылка на радиус-вектор второй точки |
Definition at line 538 of file numvector.h.
|
inlineinherited |
Вычисление расстояния между двумя точками
P | тип данных второй точки |
R | тип данных результата (по умолчанию double) |
[in] | y | константная ссылка на радиус-вектор второй точки |
Definition at line 551 of file numvector.h.
|
inlineinherited |
Геометрический поворот двумерного вектора на 90 градусов
Исходный вектор при этом не изменяется
Эквивалентно умножению слева на орт третьей оси, т.е. \( \vec k \times \vec r \)
T | тип данных |
Definition at line 507 of file numvector.h.
|
inlineinherited |
Вычисление 2-нормы (длины) вектора
Корень из скалярного квадрата вектора
P | тип результата (по умолчанию double) |
Definition at line 371 of file numvector.h.
|
inlineinherited |
Вычисление квадрата нормы (длины) вектора
Скалярный квадрат вектора
Definition at line 383 of file numvector.h.
|
inlineinherited |
Проверка вхождения элемента в вектор
P | тип данных проверяемого элемента |
[in] | s | проверяемый элемент |
Definition at line 430 of file numvector.h.
|
inlineinherited |
Вычисление 1-нормы вектора
Сумма модулей компонент вектора
Definition at line 337 of file numvector.h.
|
inlineinherited |
Нормирование вектора на заданную длину
Если в качестве новой длины указано отрицательное число — у вектора будет изменено направление
P | тип числа, задающего длину вектора |
[in] | newlen | новая длина вектора (по умолчанию 1.0) |
Definition at line 416 of file numvector.h.
|
inlineinherited |
Вычисление inf-нормы вектора
Наибольшая по модулю компонента вектора
Definition at line 351 of file numvector.h.
|
inlineinherited |
Приведение вектора к типу std::set.
P | тип данных компонент множества |
Definition at line 446 of file numvector.h.
|
inlineinherited |
Приведение вектора к типу std::vector.
P | тип данных компонент std::vector |
Definition at line 460 of file numvector.h.
|
inlineinherited |
Перегрузка оператора "!=" логического неравенства
P | тип данных компонент вектора, с которым производится сравнение |
n | длина вектора |
[in] | y | константная ссылка на сравниваемый вектор |
Definition at line 324 of file numvector.h.
|
inlineinherited |
Оператор "&" скалярного умножения
P | тип данных компонент вектора - второго сомножителя |
n | длина обоих векторов |
[in] | y | константная ссылка на второй множитель |
Definition at line 123 of file numvector.h.
|
inlineinherited |
Оператор "*" умножения вектора на число (вектор слева, число справа)
P | тип данных множителя |
n | длина вектора |
[in] | c | число-множитель |
Definition at line 267 of file numvector.h.
|
inlineinherited |
Оператор "*=" домножения вектора на действительное число
T | тип данных компонент вектора |
P | тип данных множителя |
n | длина вектора |
[in] | c | числовой множитель типа, приводимого к типу компонент вектора |
Definition at line 172 of file numvector.h.
|
inlineinherited |
Оператор "+" сложения двух векторов
P | тип данных компонент вектора - второго слагаемого |
n | длина вектора |
[in] | y | константная ссылка на прибавляемый вектор |
Definition at line 235 of file numvector.h.
|
inlineinherited |
Оператор "+" унарного плюса
T | тип данных компонент вектора |
n | длина вектора |
Definition at line 295 of file numvector.h.
|
inlineinherited |
Оператор "+=" прибавления другого вектора
T | тип данных компонент вектора |
P | тип данных компонент прибавляемого вектора |
n | длина вектора |
[in] | y | константная ссылка на прибавляемый вектор |
Definition at line 204 of file numvector.h.
|
inlineinherited |
Оператор "-" вычитания двух векторов
P | тип данных компонент вектора - вычитаемого |
n | длина вектора |
[in] | y | константная ссылка на вычитаемый вектор |
Definition at line 251 of file numvector.h.
|
inlineinherited |
Оператор "-" унарного минуса
T | тип данных компонент вектора |
n | длина вектора |
Definition at line 281 of file numvector.h.
|
inlineinherited |
Оператор "-=" вычитания другого вектора
T | тип данных компонент вектора |
P | тип данных компонент вычитаемого вектора |
n | длина вектора |
[in] | y | константная ссылка на вычитаемый вектор |
Definition at line 220 of file numvector.h.
|
inlineinherited |
Оператор "/=" деления вектора на действительное число
T | тип данных компонент вектора |
P | тип данных множителя |
n | длина вектора |
[in] | c | числовой делитель типа, приводимого к типу компонент вектора |
Definition at line 188 of file numvector.h.
|
inlineinherited |
Оператор "==" логического равенства
P | тип данных компонент вектора, с которым производится сравнение |
n | длина вектора |
[in] | y | константная ссылка на сравниваемый вектор |
Definition at line 308 of file numvector.h.
|
inlineinherited |
Definition at line 101 of file numvector.h.
|
inlineinherited |
Definition at line 106 of file numvector.h.
|
inlineinherited |
Оператор "^" векторного произведения
Определен только для трехмерных векторов
P | тип данных компонент вектора - второго сомножителя |
[in] | y | константная ссылка на второй множитель |
Definition at line 140 of file numvector.h.
|
inlineinherited |
Оператор "^" вычисления третьей компоненты векторного произведения
Определен только для двумерных векторов
P | тип данных компонент вектора - второго множителя |
[in] | y | константная ссылка на второй множитель |
Definition at line 158 of file numvector.h.
Поворот вектора на произвольный угол против часовой стрелки (по умолчанию 90 градусов)
[in] | angle | угол поворота в радианах |
[in] | axis | константная ссылка на v3D, задающий ось поворота |
Definition at line 71 of file v3D.cpp.
|
inlineinherited |
"Вращение" вектора на несколько позиций влево
Исходный вектор при этом не изменяется
T | тип данных компонент вектора |
n | длина вектора |
[in] | k | количество позиций, на которые производится "вращение" |
Definition at line 478 of file numvector.h.
|
inlineinherited |
Definition at line 111 of file numvector.h.
|
inlineinherited |
Установка всех компонент вектора в константу (по умолчанию — нуль)
T | тип данных компонент вектора |
P | тип данных константы |
n | длина вектора |
[in] | val | константа, значению которой приравниваются все компоненты вектора (по умолчанию 0) |
Definition at line 524 of file numvector.h.
|
inlineinherited |
Вычисление орта вектора или вектора заданной длины, коллинеарного данному
Если в качестве новой длины указано отрицательное число — вектор будет противоположно направленным
P | тип числа, задающего длину вектора |
[in] | newlen | длина получаемого вектора (по умолчанию 1.0) |
Definition at line 399 of file numvector.h.
|
protectedinherited |
Definition at line 98 of file numvector.h.