# HPlane

## Functions

| `HPlane`
| `HPlane`
| `HPlane`
void | `Set`
double | `ClassifyPoint`
void | `CalculateNormal`
bool | `Equal`
float | `a`
float | `b`
float | `c`
float | `d`
void | `a`
void | `b`
void | `c`
void | `d`

## Detailed Description

class HPlane

  The HPlane class is the data type of a plane.

  The HPlane class encapsulates the a, b, c and d parameters of the plane equation.

  Subclassed by HPlaneKey

  Public Functions

  inline HPlane(float const A = 0, float const B = 1, float const C = 0, float const D = 0)
  inline HPlane(HVector const &normal, float const D)
  inline HPlane(HPlane const &p)
  inline void Set(float A, float B, float C, float D)

    This method sets an HPlane object with parameter values.

  inline double ClassifyPoint(HPoint const &p) const

    This method determines if given point is infront of or behind the plane.

    Returns

      A positive value if the point is in front of the plane or a negative value if the point is behind the plane. If the value is 0, the point is on the plane.

  inline void CalculateNormal(HPoint &normal) const

    This method returns a perpendicular plane vector.

    Parameters

      normal – Pass by reference. The method returns the value for a normalized vector that is perpendicular to the plane.

  inline bool Equal(HPlane const *p, float epsi1 = (1e-5f), float epsi2 = (1e-5f)) const

    This method checks if the xyz components of the point are equal.

  inline float a() const
  inline float b() const
  inline float c() const
  inline float d() const
  inline void a(float A)
  inline void b(float B)
  inline void c(float C)
  inline void d(float D)