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 CPlaneoperator= (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
CMatrix4GetMirrorTransform (CMatrix4 &out_matrix4) const
SICPPSDK_INLINE const CVector3GetOrigin () const
SICPPSDK_INLINE const CVector3GetNormal () const
SICPPSDK_INLINE const CVector3GetTangentU () const
SICPPSDK_INLINE const CVector3GetTangentV () const
SICPPSDK_INLINE CPlaneSetOrigin (const CVector3 &in_point)
CPlaneSetNormal (const CVector3 &in_normal)
CPlaneSetTangents (const CVector3 &in_U, const CVector3 &in_V)
SICPPSDK_INLINE CPlaneSet (const CVector3 &in_point, const CVector3 &in_normal)
SICPPSDK_INLINE CPlaneSet (const CVector3 &in_point, const CVector3 &in_U, const CVector3 &in_V)
SICPPSDK_INLINE CPlaneoperator*= (const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlaneoperator*= (const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlaneoperator*= (const CTransformation &in_transformation)
SICPPSDK_INLINE CPlaneMulByMatrix3InPlace (const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlaneMulByMatrix3 (const CPlane &in_plane, const CMatrix3 &in_matrix3)
SICPPSDK_INLINE CPlaneMulByMatrix4InPlace (const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlaneMulByMatrix4 (const CPlane &in_plane, const CMatrix4 &in_matrix4)
SICPPSDK_INLINE CPlaneMulByTransformationInPlace (const CTransformation &in_transformation)
SICPPSDK_INLINE CPlaneMulByTransformation (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_pointPoint on the plane
in_normalNormal 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_pointPoint on the plane
in_tangentUFirst tangent vector
in_tangentVSecond tangent vector
SICPPSDK_INLINE CPlane ( const CPlane in_plane)

Copy constructor.

Parameters:
in_planeLine to copy
SICPPSDK_INLINE ~CPlane ( )

Default destructor.


Member Function Documentation

SICPPSDK_INLINE CPlane & operator= ( const CPlane in_plane)

Assignment operator.

Parameters:
in_planeLine 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_planeOperand 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_planeOperand 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_planeOperand plane.
in_dEpsilonError 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_planeOperand plane.
Returns:
true if equal else false.
bool Parallel ( const CPlane in_plane) const

Tests whether two planes are parallel.

Parameters:
in_planeOperand plane.
Returns:
true if equal else false.
bool Coplanar ( const CPlane in_plane) const

Tests whether two planes are coplanar.

Parameters:
in_planeOperand 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_UFirst parameter.
in_VSecond 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_UFirst projection parameter.
out_VSecond projection parameter.
bool Intersect ( const CLine in_line,
CVector3 out_point 
) const

Return intersection of this plane with the given line.

Parameters:
in_lineLine to intersect.
out_pointClosest 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_matrix4Matrix.
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_pointPoint on the plane
Returns:
A reference to this plane.
CPlane& SetNormal ( const CVector3 in_normal)

Set normal for the plane.

Parameters:
in_normalNormal vector.
Returns:
A reference to this plane.
CPlane& SetTangents ( const CVector3 in_U,
const CVector3 in_V 
)

Set direction of the plane.

Parameters:
in_UFirst tangent vector.
in_VSecond 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_pointPoint on the plane
in_directionNormal 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_pointPoint on the plane
in_UFirst tangent vector.
in_VSecond 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_matrix3Operand 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_matrix4Operand 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_transformationtransformation 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_matrix3Operand 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_planeOperand plane
in_matrix3Operand 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_matrix4Operand 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_planeOperand plane
in_matrix4Operand 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_transformationtransformation 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_planeOperand plane.
in_transformationtransformation operand.
Returns:
A reference to this plane.

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