CrystalSpace

Public API Reference

csDPlane Class Reference
[Geometry utilities]

A plane in 3D space. More...

#include <csgeom/math3d_d.h>

List of all members.

Public Member Functions

double & A ()
 Return the A component of this plane.
double A () const
 Return the A component of this plane.
double & B ()
 Return the B component of this plane.
double B () const
 Return the B component of this plane.
double & C ()
 Return the C component of this plane.
double C () const
 Return the C component of this plane.
double Classify (const csDVector3 &pt) const
 Classify the given vector with regards to this plane.
 csDPlane (double a, double b, double c, double d=0)
 Initialize the plane.
 csDPlane (const csDVector3 &plane_norm, double d=0)
 Initialize the plane.
 csDPlane ()
 Initialize to the xy plane.
double & D ()
 Return the D component of this plane.
double D () const
 Return the D component of this plane.
double Distance (const csDVector3 &pt) const
 Compute the distance from the given vector to this plane.
void Invert ()
 Reverses the direction of the plane while maintianing the plane itself.
const csDVector3Normal () const
 Return the normal vector of this plane.
csDVector3Normal ()
 Return the normal vector of this plane.
void Normalize ()
 Normalizes the plane equation so that 'norm' is a unit vector.
void Set (double a, double b, double c, double d)
 Set the value of the four plane components.

Static Public Member Functions

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

Public Attributes

double DD
 The D component of the plane.
csDVector3 norm
 The normal vector (or the (A,B,C) components).


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 358 of file math3d_d.h.


Constructor & Destructor Documentation

csDPlane::csDPlane (  )  [inline]

Initialize to the xy plane.

Definition at line 368 of file math3d_d.h.

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

Initialize the plane.

Definition at line 371 of file math3d_d.h.

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

Initialize the plane.

Definition at line 375 of file math3d_d.h.


Member Function Documentation

double& csDPlane::A (  )  [inline]

Return the A component of this plane.

Definition at line 392 of file math3d_d.h.

double csDPlane::A (  )  const [inline]

Return the A component of this plane.

Definition at line 383 of file math3d_d.h.

double& csDPlane::B (  )  [inline]

Return the B component of this plane.

Definition at line 394 of file math3d_d.h.

double csDPlane::B (  )  const [inline]

Return the B component of this plane.

Definition at line 385 of file math3d_d.h.

double& csDPlane::C (  )  [inline]

Return the C component of this plane.

Definition at line 396 of file math3d_d.h.

double csDPlane::C (  )  const [inline]

Return the C component of this plane.

Definition at line 387 of file math3d_d.h.

static 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 408 of file math3d_d.h.

References 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 405 of file math3d_d.h.

Referenced by csDSquaredDist::PointPlane(), and csDMath3::Visible().

double& csDPlane::D (  )  [inline]

Return the D component of this plane.

Definition at line 398 of file math3d_d.h.

double csDPlane::D (  )  const [inline]

Return the D component of this plane.

Definition at line 389 of file math3d_d.h.

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 417 of file math3d_d.h.

References ABS.

void csDPlane::Invert (  )  [inline]

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

Definition at line 421 of file math3d_d.h.

const csDVector3& csDPlane::Normal (  )  const [inline]

Return the normal vector of this plane.

Definition at line 380 of file math3d_d.h.

csDVector3& csDPlane::Normal (  )  [inline]

Return the normal vector of this plane.

Definition at line 378 of file math3d_d.h.

void csDPlane::Normalize (  )  [inline]

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

Definition at line 424 of file math3d_d.h.

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

Set the value of the four plane components.

Definition at line 401 of file math3d_d.h.


Member Data Documentation

double csDPlane::DD

The D component of the plane.

Definition at line 365 of file math3d_d.h.

Referenced by csDMath3::PlanesEqual().

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

Definition at line 362 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.4.7