Dry
|
Surface in three-dimensional space. More...
#include <Dry/Math/Plane.h>
Public Member Functions | |
Plane () noexcept | |
Construct a degenerate plane with zero normal and parameter. | |
Plane (const Plane &plane) noexcept=default | |
Copy-construct from another plane. | |
Plane (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2) noexcept | |
Construct from 3 vertices. | |
Plane (const Vector3 &normal, const Vector3 &point) noexcept | |
Construct from a normal vector and a point on the plane. | |
Plane (const Vector4 &plane) noexcept | |
Construct from a 4-dimensional vector, where the w coordinate is the plane parameter. | |
Plane & | operator= (const Plane &rhs) noexcept=default |
Assign from another plane. | |
void | Define (const Vector3 &v0, const Vector3 &v1, const Vector3 &v2) |
Define from 3 vertices. | |
void | Define (const Vector3 &normal, const Vector3 &point) |
Define from a normal vector and a point on the plane. | |
void | Define (const Vector4 &plane) |
Define from a 4-dimensional vector, where the w coordinate is the plane parameter. | |
void | Transform (const Matrix3 &transform) |
Transform with a 3x3 matrix. | |
void | Transform (const Matrix3x4 &transform) |
Transform with a 3x4 matrix. | |
void | Transform (const Matrix4 &transform) |
Transform with a 4x4 matrix. | |
Vector3 | Project (const Vector3 &point) const |
Project a point on the plane. | |
float | Distance (const Vector3 &point) const |
Return signed distance to a point. | |
Vector3 | Reflect (const Vector3 &direction) const |
Reflect a normalized direction vector. | |
Matrix3x4 | ReflectionMatrix () const |
Return a reflection matrix. | |
Plane | Transformed (const Matrix3 &transform) const |
Return transformed by a 3x3 matrix. | |
Plane | Transformed (const Matrix3x4 &transform) const |
Return transformed by a 3x4 matrix. | |
Plane | Transformed (const Matrix4 &transform) const |
Return transformed by a 4x4 matrix. | |
Vector4 | ToVector4 () const |
Return as a vector. | |
Public Attributes | |
Vector3 | normal_ |
Plane normal. | |
Vector3 | absNormal_ |
Plane absolute normal. | |
float | d_ {} |
Plane constant. | |
Static Public Attributes | |
static const Plane | XZ |
Plane at origin with normal pointing up. | |
Surface in three-dimensional space.