| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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 csDVector3 & | Normal () const
| Return the normal vector of this plane.
csDVector3 & | Normal ()
| 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().

csDVector3 csDPlane::norm

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:

- csgeom/math3d_d.h