CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

csDPlane Class Reference
[Geometry utilities]

A plane in 3D space. More...

#include <math3d_d.h>

List of all members.

Public Methods

 csDPlane ()
 Initialize to the xy plane. More...

 csDPlane (const csDVector3 &plane_norm, double d=0)
 Initialize the plane. More...

 csDPlane (double a, double b, double c, double d=0)
 Initialize the plane. More...

csDVector3Normal ()
 Return the normal vector of this plane. More...

const csDVector3Normal () const
 Return the normal vector of this plane. More...

double A () const
 Return the A component of this plane. More...

double B () const
 Return the B component of this plane. More...

double C () const
 Return the C component of this plane. More...

double D () const
 Return the D component of this plane. More...

double & A ()
 Return the A component of this plane. More...

double & B ()
 Return the B component of this plane. More...

double & C ()
 Return the C component of this plane. More...

double & D ()
 Return the D component of this plane. More...

void Set (double a, double b, double c, double d)
 Set the value of the four plane components. More...

double Classify (const csDVector3 &pt) const
 Classify the given vector with regards to this plane. More...

double Distance (const csDVector3 &pt) const
 Compute the distance from the given vector to this plane. More...

void Invert ()
 Reverses the direction of the plane while maintianing the plane itself. More...

void Normalize ()
 Normalizes the plane equation so that 'norm' is a unit vector. More...


Static Public Methods

double Classify (double A, double B, double C, double D, const csDVector3 &pt)
 Classify a vector with regards to four plane components. More...


Public Attributes

csDVector3 norm
 The normal vector (or the (A,B,C) components). More...

double DD
 The D component of the plane. More...


Detailed Description

A plane in 3D space.

The plane is given by the equation AAx + BBy + CCz + DD = 0, Where (AA,BB,CC) is given by the vector 'norm'.

Definition at line 355 of file math3d_d.h.


Constructor & Destructor Documentation

csDPlane::csDPlane   [inline]
 

Initialize to the xy plane.

Definition at line 365 of file math3d_d.h.

References DD.

csDPlane::csDPlane const csDVector3   plane_norm,
double    d = 0
[inline]
 

Initialize the plane.

Definition at line 368 of file math3d_d.h.

References DD.

csDPlane::csDPlane double    a,
double    b,
double    c,
double    d = 0
[inline]
 

Initialize the plane.

Definition at line 372 of file math3d_d.h.

References DD.


Member Function Documentation

double& csDPlane::A   [inline]
 

Return the A component of this plane.

Definition at line 389 of file math3d_d.h.

References csDVector3::x.

double csDPlane::A   const [inline]
 

Return the A component of this plane.

Definition at line 380 of file math3d_d.h.

References csDVector3::x.

Referenced by Classify.

double& csDPlane::B   [inline]
 

Return the B component of this plane.

Definition at line 391 of file math3d_d.h.

References csDVector3::y.

double csDPlane::B   const [inline]
 

Return the B component of this plane.

Definition at line 382 of file math3d_d.h.

References csDVector3::y.

Referenced by Classify.

double& csDPlane::C   [inline]
 

Return the C component of this plane.

Definition at line 393 of file math3d_d.h.

References csDVector3::z.

double csDPlane::C   const [inline]
 

Return the C component of this plane.

Definition at line 384 of file math3d_d.h.

References csDVector3::z.

Referenced by Classify.

double csDPlane::Classify double    A,
double    B,
double    C,
double    D,
const csDVector3   pt
[inline, static]
 

Classify a vector with regards to four plane components.

Definition at line 405 of file math3d_d.h.

References A, B, C, D, csDVector3::x, csDVector3::y, and csDVector3::z.

double csDPlane::Classify const csDVector3   pt const [inline]
 

Classify the given vector with regards to this plane.

Definition at line 402 of file math3d_d.h.

References DD.

Referenced by Distance, csDSquaredDist::PointPlane, and csDMath3::Visible.

double& csDPlane::D   [inline]
 

Return the D component of this plane.

Definition at line 395 of file math3d_d.h.

References DD.

double csDPlane::D   const [inline]
 

Return the D component of this plane.

Definition at line 386 of file math3d_d.h.

References DD.

Referenced by Classify.

double csDPlane::Distance const csDVector3   pt const [inline]
 

Compute the distance from the given vector to this plane.

This function assumes that 'norm' is a unit vector. If not, the function returns distance times the magnitude of 'norm'.

Definition at line 414 of file math3d_d.h.

References Classify.

void csDPlane::Invert   [inline]
 

Reverses the direction of the plane while maintianing the plane itself.

Definition at line 418 of file math3d_d.h.

References DD.

const csDVector3& csDPlane::Normal   const [inline]
 

Return the normal vector of this plane.

Definition at line 377 of file math3d_d.h.

csDVector3& csDPlane::Normal   [inline]
 

Return the normal vector of this plane.

Definition at line 375 of file math3d_d.h.

void csDPlane::Normalize   [inline]
 

Normalizes the plane equation so that 'norm' is a unit vector.

Definition at line 421 of file math3d_d.h.

References DD, and csDVector3::Norm.

void csDPlane::Set double    a,
double    b,
double    c,
double    d
[inline]
 

Set the value of the four plane components.

Definition at line 398 of file math3d_d.h.

References DD, csDVector3::x, csDVector3::y, and csDVector3::z.


Member Data Documentation

double csDPlane::DD
 

The D component of the plane.

Definition at line 362 of file math3d_d.h.

Referenced by Classify, csDPlane, D, Invert, Normalize, csDMath3::PlanesEqual, and Set.

csDVector3 csDPlane::norm
 

The normal vector (or the (A,B,C) components).

Definition at line 359 of file math3d_d.h.

Referenced by csDMath3::PlanesEqual.


The documentation for this class was generated from the following file:
Generated for Crystal Space by doxygen 1.2.14