Classes | |
| struct | common::LINE2D |
| Prosta 2D. More... | |
Functions | |
| LINE2D | common::operator* (float s, const LINE2D &p) |
| LINE2D | common::operator/ (float s, const LINE2D &p) |
| VEC2 & | common::GetLineNormal (LINE2D &line) |
| Daje dostęp do wektora normalnego podanej prostej, czyli jej składowych a, b zrzutowanych na VEC2. | |
| const VEC2 & | common::GetLineNormal (const LINE2D &line) |
| Zwraca wektor normalny prostej, czyli jej składowe a, b zrzutowane na VEC2. | |
| bool | common::LineEqual (const LINE2D &p1, const LINE2D &p2) |
| Zwraca true, jeśli podane proste są sobie mniej więcej równe. | |
| void | common::swap (LINE2D &p1, LINE2D &p2) |
| void | common::PointsToLine (LINE2D *Out, const VEC2 &p1, const VEC2 &p2) |
| Tworzy prostą na podstwie dwóch punktów. | |
| void | common::PointNormalToLine (LINE2D *Out, const VEC2 &Point, const VEC2 &Normal) |
| Tworzy prostą z wektora normalnego i punktu leżącego na tej prostej. | |
| bool | common::LinesParallel (const LINE2D &L1, const LINE2D &L2) |
| Zwraca true, jeśli podane proste są równoległe. | |
| bool | common::LinesPerpedicular (const LINE2D &L1, const LINE2D &L2) |
| Zwraca true, jeśli podane proste są prostopadłe. | |
| float | common::Dot (const LINE2D &L1, const LINE2D &L2) |
| Zwraca dot z wektorów normalnych dwóch prostych. | |
| float | common::LineDistance (const LINE2D &L1, const LINE2D &L2) |
| Zwraca signed odległość dwóch prostych na płaszczyźnie. | |
| bool | common::LinesIntersection (VEC2 *Out, const LINE2D &L1, const LINE2D &L2) |
| Oblicza punkt przeciecia dwóch prostych. | |
| bool | common::PointsColinear (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3) |
| Zwraca true, jeśli podane trzy punkty leżą na jednej prostej. | |
| void | common::Mul (LINE2D *Out, const LINE2D &p, float s) |
| Skalowanie prostej. | |
| void | common::Div (LINE2D *Out, const LINE2D &p, float s) |
| float | common::Dot (const LINE2D &p, const VEC3 &pt) |
| Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych 2D. | |
| float | common::DotCoord (const LINE2D &p, const VEC2 &pt) |
| Iloczyn skalarny prostej 2D z punktem 2D: a*x + b*y + c*1. | |
| float | common::DotNormal (const LINE2D &p, const VEC2 &v) |
| Iloczyn skalarny prostej 2D z wektorem 2D: a*x + b*y + c*z + d*0. | |
| void | common::Normalize (LINE2D *Out, const LINE2D &p) |
| Normalizacja prostej 2D. | |
| void | common::Normalize (LINE2D *p) |
| Normalizacja prostej w miejscu. | |
| void | common::GetRectLine (LINE2D *out, const RECTF &rect, uint index) |
| Returns line of one of 4 possible box edges. | |
Variables | |
| const LINE2D | common::LINE2D_ZERO |
| const LINE2D | common::LINE2D_POSITIVE_X |
| const LINE2D | common::LINE2D_NEGATIVE_X |
| const LINE2D | common::LINE2D_POSITIVE_Y |
| const LINE2D | common::LINE2D_NEGATIVE_Y |
| void common::Div | ( | LINE2D * | Out, | |
| const LINE2D & | p, | |||
| float | s | |||
| ) | [inline] |
| float common::Dot | ( | const LINE2D & | p, | |
| const VEC3 & | pt | |||
| ) | [inline] |
Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych 2D.
Można użyć do wyznaczenia czy tak zapisany punkt leży na płaszczyźnie, po której stronie i jak daleko.
| float common::Dot | ( | const LINE2D & | L1, | |
| const LINE2D & | L2 | |||
| ) | [inline] |
Zwraca dot z wektorów normalnych dwóch prostych.
Jeśli te proste są znormalizowane, wynikiem jest cos kąta między tymi prostymi.
| float common::DotCoord | ( | const LINE2D & | p, | |
| const VEC2 & | pt | |||
| ) | [inline] |
Iloczyn skalarny prostej 2D z punktem 2D: a*x + b*y + c*1.
Można użyć do wyznaczenia czy punkt leży na prostej 2D, po której stronie i jak daleko.
| float common::DotNormal | ( | const LINE2D & | p, | |
| const VEC2 & | v | |||
| ) | [inline] |
Iloczyn skalarny prostej 2D z wektorem 2D: a*x + b*y + c*z + d*0.
Przydatny do wyznaczania kąta między prostą 2D (jej normalną) a wektorem.
| const VEC2& common::GetLineNormal | ( | const LINE2D & | line | ) | [inline] |
Zwraca wektor normalny prostej, czyli jej składowe a, b zrzutowane na VEC2.
| VEC2& common::GetLineNormal | ( | LINE2D & | line | ) | [inline] |
Daje dostęp do wektora normalnego podanej prostej, czyli jej składowych a, b zrzutowanych na VEC2.
| void common::GetRectLine | ( | LINE2D * | out, | |
| const RECTF & | rect, | |||
| uint | index | |||
| ) |
Returns line of one of 4 possible box edges.
Face order is: -X, +X, -Y, +Y. Returned line is normalized and points to the outside.
| float common::LineDistance | ( | const LINE2D & | L1, | |
| const LINE2D & | L2 | |||
| ) | [inline] |
Zwraca signed odległość dwóch prostych na płaszczyźnie.
Proste muszą być znormalizowane.
| bool common::LineEqual | ( | const LINE2D & | p1, | |
| const LINE2D & | p2 | |||
| ) | [inline] |
Zwraca true, jeśli podane proste są sobie mniej więcej równe.
| bool common::LinesIntersection | ( | VEC2 * | Out, | |
| const LINE2D & | L1, | |||
| const LINE2D & | L2 | |||
| ) |
Oblicza punkt przeciecia dwóch prostych.
Jeśli proste nie przecinają się, tylko są równoległe lub się pokrywaną, to nie oblicza tylko zwraca false.
| bool common::LinesParallel | ( | const LINE2D & | L1, | |
| const LINE2D & | L2 | |||
| ) | [inline] |
Zwraca true, jeśli podane proste są równoległe.
| bool common::LinesPerpedicular | ( | const LINE2D & | L1, | |
| const LINE2D & | L2 | |||
| ) | [inline] |
Zwraca true, jeśli podane proste są prostopadłe.
| void common::Mul | ( | LINE2D * | Out, | |
| const LINE2D & | p, | |||
| float | s | |||
| ) | [inline] |
Skalowanie prostej.
| void common::Normalize | ( | LINE2D * | p | ) | [inline] |
Normalizacja prostej w miejscu.
| void common::Normalize | ( | LINE2D * | Out, | |
| const LINE2D & | p | |||
| ) | [inline] |
Normalizacja prostej 2D.
Po tej operacji wektor normalny prostej jest znormalizowany. Prosta pozostaje położona i zorientowana tam gdzie była.
| LINE2D common::operator* | ( | float | s, | |
| const LINE2D & | p | |||
| ) | [inline] |
| LINE2D common::operator/ | ( | float | s, | |
| const LINE2D & | p | |||
| ) | [inline] |
| void common::PointNormalToLine | ( | LINE2D * | Out, | |
| const VEC2 & | Point, | |||
| const VEC2 & | Normal | |||
| ) | [inline] |
Tworzy prostą z wektora normalnego i punktu leżącego na tej prostej.
| bool common::PointsColinear | ( | const VEC2 & | p1, | |
| const VEC2 & | p2, | |||
| const VEC2 & | p3 | |||
| ) |
Zwraca true, jeśli podane trzy punkty leżą na jednej prostej.
| void common::PointsToLine | ( | LINE2D * | Out, | |
| const VEC2 & | p1, | |||
| const VEC2 & | p2 | |||
| ) | [inline] |
Tworzy prostą na podstwie dwóch punktów.
Wynikowa prosta nie jest znormalizowana.
| void common::swap | ( | LINE2D & | p1, | |
| LINE2D & | p2 | |||
| ) | [inline] |
| const LINE2D common::LINE2D_NEGATIVE_X |
| const LINE2D common::LINE2D_NEGATIVE_Y |
| const LINE2D common::LINE2D_POSITIVE_X |
| const LINE2D common::LINE2D_POSITIVE_Y |
| const LINE2D common::LINE2D_ZERO |
1.6.1