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: