Public Member Functions
CPlane Class Reference

## Detailed Description

A parametric 3D plane.

See also:
  CVector3, CPlane

Example:

`#include <xsi_plane.h>`

List of all members.

## Public Member Functions
SICPPSDK_INLINE | CPlane ()
SICPPSDK_INLINE | CPlane (const CVector3 &in_point, const CVector3 &in_normal)
SICPPSDK_INLINE | CPlane (const CVector3 &in_point, const CVector3 &in_tangentU, const CVector3 &in_tangentV)
SICPPSDK_INLINE | CPlane (const CPlane &in_plane)
SICPPSDK_INLINE | ~CPlane ()
SICPPSDK_INLINE CPlane & | operator= (const CPlane &in_plane)
SICPPSDK_INLINE bool | operator== (const CPlane &in_plane) const
SICPPSDK_INLINE bool | operator!= (const CPlane &in_plane) const
SICPPSDK_INLINE bool | EpsilonEquals (const CPlane &in_plane, double in_dEpsilon) const
SICPPSDK_INLINE bool | Equals (const CPlane &in_plane) const
bool | Parallel (const CPlane &in_plane) const
bool | Coplanar (const CPlane &in_plane) const
SICPPSDK_INLINE double | GetDistance (const CVector3 &in_point) const
SICPPSDK_INLINE CVector3 | GetPosition (double in_U, double inV) const
void | GetParameters (const CVector3 &in_point, double &out_U, double &out_V) const
bool | Intersect (const CLine &in_line, CVector3 &out_point) const
SICPPSDK_INLINE CVector3 | Project (const CVector3 &in_point) const
SICPPSDK_INLINE CVector3 | Reflect (const CVector3 &in_point) const
SICPPSDK_INLINE CLine | ProjectLine (const CLine &in_line) const
SICPPSDK_INLINE CLine | ReflectLine (const CLine &in_line) const
CMatrix4 & | GetMirrorTransform (CMatrix4 &out_matrix4) const
SICPPSDK_INLINE const CVector3 & | GetOrigin () const
SICPPSDK_INLINE const CVector3 & | GetNormal () const
SICPPSDK_INLINE const CVector3 & | GetTangentU () const
SICPPSDK_INLINE const CVector3 & | GetTangentV () const
SICPPSDK_INLINE CPlane & | SetOrigin (const CVector3 &in_point)
CPlane & | SetNormal (const CVector3 &in_normal)
CPlane & | SetTangents (const CVector3 &in_U, const CVector3 &in_V)
SICPPSDK_INLINE CPlane & | Set (const CVector3 &in_point, const CVector3 &in_normal)
SICPPSDK_INLINE CPlane & | Set (const CVector3 &in_point, const CVector3 &in_U, const CVector3 &in_V)
SICPPSDK_INLINE CPlane & | operator*= (const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlane & | operator*= (const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlane & | operator*= (const CTransformation &in_transformation)
SICPPSDK_INLINE CPlane & | MulByMatrix3InPlace (const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlane & | MulByMatrix3 (const CPlane &in_plane, const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlane & | MulByMatrix4InPlace (const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlane & | MulByMatrix4 (const CPlane &in_plane, const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlane & | MulByTransformationInPlace (const CTransformation &in_transformation)
SICPPSDK_INLINE CPlane & | MulByTransformation (const CPlane &in_plane, const CTransformation &in_transformation)

## Constructor & Destructor Documentation

SICPPSDK_INLINE CPlane | ( |  | ) |

Default constructor.

SICPPSDK_INLINE CPlane | ( | const CVector3 & | in_point,
|  | const CVector3 & | in_normal
| ) |  |

Construct a plane through a point with the given normal.

Parameters:

  in_point | Point on the plane
  in_normal | Normal vector

SICPPSDK_INLINE CPlane | ( | const CVector3 & | in_point,
|  | const CVector3 & | in_tangentU,
|  | const CVector3 & | in_tangentV
| ) |  |

Construct a plane through a point with the given tangents.

Parameters:

  in_point | Point on the plane
  in_tangentU | First tangent vector
  in_tangentV | Second tangent vector

SICPPSDK_INLINE CPlane | ( | const CPlane & | in_plane | ) |

Copy constructor.

Parameters:

  in_plane | Line to copy

SICPPSDK_INLINE ~CPlane | ( |  | ) |

Default destructor.

## Member Function Documentation

SICPPSDK_INLINE CPlane & operator= | ( | const CPlane & | in_plane | ) |

Assignment operator.

Parameters:

  in_plane | Line to copy

Returns:
  A reference to this plane.

SICPPSDK_INLINE bool operator== | ( | const CPlane & | in_plane | ) | const

Equality operator tests the strict equality of this CPlane with the specified plane.

Parameters:

  in_plane | Operand plane.

Returns:
  true if equal else false.

See also:
  CPlane::Equals

SICPPSDK_INLINE bool operator!= | ( | const CPlane & | in_plane | ) | const

Inequality operator tests the strict inequality of this CPlane with the specified plane.

Parameters:

  in_plane | Operand plane.

Returns:
  true if equal else false.

See also:
  CPlane::Equals

SICPPSDK_INLINE bool EpsilonEquals | ( | const CPlane & | in_plane,
|  | double | in_dEpsilon
| ) |  | const

Tests the equality of this plane with the specified plane, with a tolerance of Epsilon.

Parameters:

  in_plane | Operand plane.
  in_dEpsilon | Error margin Possible Values: [0, +INF[ should be a positive value

Returns:
  true if equal else false.

SICPPSDK_INLINE bool Equals | ( | const CPlane & | in_plane | ) | const

Tests the strict equality of this plane with the specified plane.

Parameters:

  in_plane | Operand plane.

Returns:
  true if equal else false.

bool Parallel | ( | const CPlane & | in_plane | ) | const

Tests whether two planes are parallel.

Parameters:

  in_plane | Operand plane.

Returns:
  true if equal else false.

bool Coplanar | ( | const CPlane & | in_plane | ) | const

Tests whether two planes are coplanar.

Parameters:

  in_plane | Operand plane.

Returns:
  true if equal else false.

SICPPSDK_INLINE double GetDistance | ( | const CVector3 & | in_point | ) | const

Return distance fromt the plane to the given point.

Returns:
  Distance to input point

SICPPSDK_INLINE CVector3 GetPosition | ( | double | in_U,
|  | double | inV
| ) |  | const

Return position on plane for given parameters.

Parameters:

  in_U | First parameter.
  in_V | Second parameter.

Returns:
  Position corresponding to input parameter

void GetParameters | ( | const CVector3 & | in_point,
|  | double & | out_U,
|  | double & | out_V
| ) |  | const

Return parameter on plane closest to input point.

Parameters:

  out_U | First projection parameter.
  out_V | Second projection parameter.

bool Intersect | ( | const CLine & | in_line,
|  | CVector3 & | out_point
| ) |  | const

Return intersection of this plane with the given line.

Parameters:

  in_line | Line to intersect.
  out_point | Closest point of intersection on plane.

Returns:
  true if line intersects the plane else false.

SICPPSDK_INLINE CVector3 Project | ( | const CVector3 & | in_point | ) | const

Return projection of this point on to the plane.

Returns:
  Closest point on the plane

SICPPSDK_INLINE CVector3 Reflect | ( | const CVector3 & | in_point | ) | const

Return reflection of this point across the plane.

Returns:
  Reflected point

SICPPSDK_INLINE CLine ProjectLine | ( | const CLine & | in_line | ) | const

Return projection of line on the plane.

Returns:
  Projection of input line on the plane

SICPPSDK_INLINE CLine ReflectLine | ( | const CLine & | in_line | ) | const

Return reflection of line across the plane.

Returns:
  Reflected line

CMatrix4& GetMirrorTransform | ( | CMatrix4 & | out_matrix4 | ) | const

Return CMatrix4 that transforms points across this plane.

Parameters:

  out_matrix4 | Matrix.

Returns:
  Reference to output matrix

SICPPSDK_INLINE const CVector3 & GetOrigin | ( |  | ) | const

Return origin of the plane.

Returns:
  Reference to origin.

SICPPSDK_INLINE const CVector3 & GetNormal | ( |  | ) | const

Return normal for the plane.

Returns:
  Reference to normal.

SICPPSDK_INLINE const CVector3 & GetTangentU | ( |  | ) | const

Return first tangent for the plane.

Returns:
  Reference to tangent.

SICPPSDK_INLINE const CVector3 & GetTangentV | ( |  | ) | const

Return second tangent for the plane.

Returns:
  Reference to tangent.

SICPPSDK_INLINE CPlane & SetOrigin | ( | const CVector3 & | in_point | ) |

Set origin of the plane.

Parameters:

  in_point | Point on the plane

Returns:
  A reference to this plane.

CPlane& SetNormal | ( | const CVector3 & | in_normal | ) |

Set normal for the plane.

Parameters:

  in_normal | Normal vector.

Returns:
  A reference to this plane.

CPlane& SetTangents | ( | const CVector3 & | in_U,
|  | const CVector3 & | in_V
| ) |  |

Set direction of the plane.

Parameters:

  in_U | First tangent vector.
  in_V | Second tangent vector.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & Set | ( | const CVector3 & | in_point,
|  | const CVector3 & | in_normal
| ) |  |

Set origin and normal of the plane.

Parameters:

  in_point | Point on the plane
  in_direction | Normal vector.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & Set | ( | const CVector3 & | in_point,
|  | const CVector3 & | in_U,
|  | const CVector3 & | in_V
| ) |  |

Set origin and tangents of the plane.

Parameters:

  in_point | Point on the plane
  in_U | First tangent vector.
  in_V | Second tangent vector.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & operator*= | ( | const CMatrix3 & | in_matrix3 | ) |

Right-multiplies this plane by the matrix m in place (this = this . m ).

Parameters:

  in_matrix3 | Operand matrix.

Returns:
  A reference to this plane.

See also:
  CPlane::MulByMatrix3InPlace

SICPPSDK_INLINE CPlane & operator*= | ( | const CMatrix4 & | in_matrix4 | ) |

Right-multiplies this plane by the matrix m in place (this = this . m ).

Parameters:

  in_matrix4 | Operand matrix.

Returns:
  A reference to this plane.

See also:
  CPlane::MulByMatrix4InPlace

SICPPSDK_INLINE CPlane & operator*= | ( | const CTransformation & | in_transformation | ) |

Right-multiplies this plane by the transformation t in place (this = this . t).

Parameters:

  in_transformation | transformation operand.

Returns:
  A reference to this plane.

See also:
  CPlane::MulByTransformationInPlace

SICPPSDK_INLINE CPlane & MulByMatrix3InPlace | ( | const CMatrix3 & | in_matrix3 | ) |

Right-multiplies this plane by the matrix m in place (this = this . m ).

Parameters:

  in_matrix3 | Operand matrix.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & MulByMatrix3 | ( | const CPlane & | in_plane,
|  | const CMatrix3 & | in_matrix3
| ) |  |

Right-multiplies the plane l by the matrix m and store the result in this plane (this = l . m ).

Parameters:

  in_plane | Operand plane
  in_matrix3 | Operand matrix.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & MulByMatrix4InPlace | ( | const CMatrix4 & | in_matrix4 | ) |

Right-multiplies this plane by the matrix m in place (this = this . m ).

Parameters:

  in_matrix4 | Operand matrix.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & MulByMatrix4 | ( | const CPlane & | in_plane,
|  | const CMatrix4 & | in_matrix4
| ) |  |

Right-multiplies the plane l by the matrix m and store the result in this plane (this = l . m ).

Parameters:

  in_plane | Operand plane
  in_matrix4 | Operand matrix.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & MulByTransformationInPlace | ( | const CTransformation & | in_transformation | ) |

Right-multiplies this plane by the transformation t in place (this = this . t).

Parameters:

  in_transformation | transformation operand.

Returns:
  A reference to this plane.

SICPPSDK_INLINE CPlane & MulByTransformation | ( | const CPlane & | in_plane,
|  | const CTransformation & | in_transformation
| ) |  |

Right-multiplies the plane l by the transformation t and stores the result in this plane (this = l . t ).

Parameters:

  in_plane | Operand plane.
  in_transformation | transformation operand.

Returns:
  A reference to this plane.

The documentation for this class was generated from the following file:

- xsi_plane.h