VectorEntity
1.1.0
Medical Data Segmentation Toolkit
|
Plane defined by its equation coefficients. More...
#include <mcplane.h>
Public Types | |
enum | MCCoordinatePlaneType { XY_PLANE = 0, XZ_PLANE, YZ_PLANE } |
Types of coordinate planes. More... | |
enum | MCRelativePosition { INTERSECTS = 0, FIRST_VERTEX_IN_PLANE, SECOND_VERTEX_IN_PLANE, BOTH_IN_PLANE, OUT_OF_PLANE } |
Relative position of an edge and a plane. More... | |
Public Member Functions | |
double | GetA () const |
Returns the coefficient. | |
double | GetB () const |
double | GetC () const |
double | GetD () const |
MCVector3D | GetNormal () |
Returns the normal vector of a plane. | |
MCPlane () | |
Default constructor. | |
MCPlane (double A, double B, double C, double D) | |
A constructor with plane equation coefficients. | |
MCPlane (MCVertex *vertex, MCVector3D *normal) | |
A constructor with a normal vector of the plane and a point lying in the plane. | |
MCPlane (MCVertex *v1, MCVertex *v2, MCVertex *v3) | |
A constructor with three points lying in the plane. | |
MCPlane (MCCoordinatePlaneType cplane) | |
A constructor of a coordinate plane. | |
MCPlane (MCCoordinatePlaneType cplane, MCVertex *vertex) | |
A constructor of a coordinate plane. | |
MCPlane (MCCoordinatePlaneType cplane, double distance) | |
A constructor of a coordinate plane. | |
void | MoveBy (double distance) |
Moves the plane by a distance. | |
void | MoveTo (MCVertex *vertex) |
Moves the plane into a point. | |
void | NormalizeVector () |
Normalizes the normal vector of the plane. | |
MCRelativePosition | Position (MCEdge *edge, MCVertex &intersection) |
Returns relative position of an edge and the plane. | |
MCRelativePosition | Position (MCVertex *v1, MCVertex *v2, MCVertex &intersection) |
Returns relative position of an edge and the plane. | |
void | SetA (double A) |
Sets the coefficient. | |
void | SetB (double B) |
void | SetC (double C) |
void | SetD (double D) |
bool | TestIdentity (MCPlane *test_plane) |
Tests identity of two planes. | |
double | ToPlaneEquation (MCVertex *v) |
Substitutes a point into the plane equation. | |
~MCPlane () | |
Destructor. | |
Protected Member Functions | |
void | IsValid () |
Checks that at least one coefficient is non-zero. | |
Protected Attributes | |
double | _A |
Equation coefficient. | |
double | _B |
double | _C |
double | _D |
Plane defined by its equation coefficients.
Relative position of an edge and a plane.
vctl::MCPlane::MCPlane | ( | ) | [inline] |
Default constructor.
vctl::MCPlane::MCPlane | ( | double | A, |
double | B, | ||
double | C, | ||
double | D | ||
) | [inline] |
A constructor with plane equation coefficients.
vctl::MCPlane::MCPlane | ( | MCVertex * | vertex, |
MCVector3D * | normal | ||
) | [inline] |
A constructor with a normal vector of the plane and a point lying in the plane.
vctl::MCPlane::MCPlane | ( | MCVertex * | v1, |
MCVertex * | v2, | ||
MCVertex * | v3 | ||
) | [inline] |
A constructor with three points lying in the plane.
vctl::MCPlane::MCPlane | ( | MCCoordinatePlaneType | cplane | ) | [inline] |
A constructor of a coordinate plane.
vctl::MCPlane::MCPlane | ( | MCCoordinatePlaneType | cplane, |
MCVertex * | vertex | ||
) | [inline] |
A constructor of a coordinate plane.
vctl::MCPlane::MCPlane | ( | MCCoordinatePlaneType | cplane, |
double | distance | ||
) | [inline] |
A constructor of a coordinate plane.
vctl::MCPlane::~MCPlane | ( | ) | [inline] |
Destructor.
double vctl::MCPlane::GetA | ( | ) | const [inline] |
Returns the coefficient.
MCVector3D vctl::MCPlane::GetNormal | ( | ) | [inline] |
Returns the normal vector of a plane.
void vctl::MCPlane::IsValid | ( | ) | [inline, protected] |
Checks that at least one coefficient is non-zero.
void vctl::MCPlane::MoveBy | ( | double | distance | ) | [inline] |
Moves the plane by a distance.
void vctl::MCPlane::MoveTo | ( | MCVertex * | vertex | ) | [inline] |
Moves the plane into a point.
void vctl::MCPlane::NormalizeVector | ( | ) | [inline] |
Normalizes the normal vector of the plane.
MCRelativePosition vctl::MCPlane::Position | ( | MCEdge * | edge, |
MCVertex & | intersection | ||
) | [inline] |
Returns relative position of an edge and the plane.
MCPlane::MCRelativePosition MCPlane::Position | ( | MCVertex * | v1, |
MCVertex * | v2, | ||
MCVertex & | intersection | ||
) |
Returns relative position of an edge and the plane.
void vctl::MCPlane::SetA | ( | double | A | ) | [inline] |
Sets the coefficient.
bool vctl::MCPlane::TestIdentity | ( | MCPlane * | test_plane | ) | [inline] |
Tests identity of two planes.
double vctl::MCPlane::ToPlaneEquation | ( | MCVertex * | v | ) | [inline] |
Substitutes a point into the plane equation.
double vctl::MCPlane::_A [protected] |
Equation coefficient.