CSIBCVector3Dd Class Reference

General purpose 3D vector class. More...

#include <SIBCVector3Dd.h>

List of all members.

Public Member Functions

  CSIBCVector3Dd ()
  CSIBCVector3Dd (const double in_dX, const double in_dY, const double in_dZ)
  CSIBCVector3Dd (const double in_dXYZ[3])
  CSIBCVector3Dd (int in_nIndex, double in_dVal)
const double *  GetArray () const
double  GetX (void) const
double  GetY (void) const
double  GetZ (void) const
double  Get (const int in_nIndex) const
void  Get (double &out_dX, double &out_dY, double &out_dZ) const
double  GetMaxComponent (bool in_bInAbs=true) const
double  GetMinComponent (bool in_bInAbs=true) const
int  GetIndexOfMaxComponent (bool in_bInAbs=true) const
int  GetIndexOfMinComponent (bool in_bInAbs=true) const
CSIBCVector3Dd SetX (const double in_dVal)
CSIBCVector3Dd SetY (const double in_dVal)
CSIBCVector3Dd SetZ (const double in_dVal)
CSIBCVector3Dd Set (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Set (const int in_nIndex, const double in_dVal)
CSIBCVector3Dd Set (const double in_dX, const double in_dY, const double in_dZ)
CSIBCVector3Dd SetNull (void)
bool  IsNull (const double in_dEpsilon=PICO_EPS) const
CSIBCVector3Dd SetMinimal (bool in_bInAbs=true, const double in_dEpsilon=PICO_EPS)
CSIBCVector3Dd SetMinimal (const CSIBCVector3Dd &, bool in_bInAbs=true)
bool  operator== (const CSIBCVector3Dd &in_vct) const
bool  operator!= (const CSIBCVector3Dd &in_vct) const
CSIBCVector3Dd Negate (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Negate (void)
double  GetSquaredLength (void) const
double  GetLength (void) const
bool  SetLength (const double in_dLength)
bool  Normalize (void)
CSIBCVector3Dd Add (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Add (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
CSIBCVector3Dd Sub (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Sub (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
CSIBCVector3Dd Mul (const double in_dFactor)
CSIBCVector3Dd Mul (const double in_dFactor, const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Mul (const CSIBCVector3Dd &in_vct, const double in_dFactor)
CSIBCVector3Dd Mul (const CSIBCVector3Dd &in_vct, const CSIBCMatrix33d &in_mat)
CSIBCVector3Dd Mul (const CSIBCMatrix33d &in_mat)
CSIBCVector3Dd Mul (const CSIBCMatrix33d &in_mat, const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Mul (const CSIBCVector3Dd &in_vct, const CSIBCRotMatd &in_mat)
CSIBCVector3Dd Mul (const CSIBCRotMatd &in_mat, const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd Mul (const CSIBCVector3Dd &in_vct, const CSIBCXfoMatd &in_mat)
CSIBCVector3Dd Mul (const CSIBCVector3Dd &in_vct, const CSIBCMatrix44d &in_mat)
CSIBCVector3Dd Div (const double in_dFactor)
CSIBCVector3Dd Div (const CSIBCVector3Dd &in_vct, const double in_dFactor)
CSIBCVector3Dd MulComp (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
CSIBCVector3Dd MulComp (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd DivComp (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd DivComp (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
CSIBCVector3Dd SetCross (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd SetCross (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
bool  SetOrthogonal (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
bool  SetOrthoProj (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
bool  SetProjection (const CSIBCVector3Dd &in_vct)
CSIBCVector3Dd SetMirror (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
CSIBCVector3Dd SetMidpoint (const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
CSIBCVector3Dd SetMean (const CSIBCVector3Dd *in_vct, ULONG in_nbVct)
CSIBCVector3Dd LinearPositionInterpolate (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dT)
void  SetBounds (const CSIBCVector3Dd &in_pnt, CSIBCVector3Dd &io_min, CSIBCVector3Dd &io_max)
CSIBCVector3Dd Combine (const CSIBCVector3Dd &in_vct1, const double in_dS1, const CSIBCVector3Dd &in_vct2, const double in_dS2)
CSIBCVector3Dd BsplinePositionInterpolate (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const CSIBCVector3Dd &in_vct3, const CSIBCVector3Dd &in_vct4, const double in_dT)
CSIBCVector3Dd BsplineVectorInterpolate (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const CSIBCVector3Dd &in_vct3, const CSIBCVector3Dd &in_vct4, const double in_dT)

Friends

bool  AreAlmostEqual (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dEpsilon=PICO_EPS)
double  GetDot (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
bool  AreOrthogonal (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dEpsilon=PICO_EPS)
bool  AreParallel (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dEpsilon=PICO_EPS)
double  GetDistance (const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
double  GetSquaredDistance (const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
void  GetOrthogonalBasis (const CSIBCVector3Dd &in_vct1, CSIBCVector3Dd &out_vct2, CSIBCVector3Dd &out_vct3)
void  GetOrthonormalBasis (CSIBCVector3Dd &io_vct1, CSIBCVector3Dd &out_vct2, CSIBCVector3Dd &out_vct3)
double  GetPntsAngle (const CSIBCVector3Dd &in_pntOrigin, const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
double  Get2DPntsAngleSigned (const CSIBCVector3Dd &in_pntOrigin, const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
double  GetPntsCosAngle (const CSIBCVector3Dd &in_pntOrigin, const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2)
double  GetVctsAngle (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dEpsilon=PICO_EPS)
double  Get2DVctsAngleSigned (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2)
double  GetVctsCosAngle (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const double in_dEpsilon=PICO_EPS)
int  Get2DPntSide (const CSIBCVector3Dd &in_pnt, const CSIBCVector3Dd &in_pntOrigin, const CSIBCVector3Dd &in_pntTip)
double  GetTriangleArea (const CSIBCVector3Dd &in_rPoint0, const CSIBCVector3Dd &in_rPoint1, const CSIBCVector3Dd &in_rPoint2)
bool  ArePntsCollinear (const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2, const CSIBCVector3Dd &in_pnt3, const double in_dEpsilon=PICO_EPS)
bool  AreVctsCoplanar (const CSIBCVector3Dd &in_vct1, const CSIBCVector3Dd &in_vct2, const CSIBCVector3Dd &in_vct3, const double in_dEpsilon=PICO_EPS)
bool  ArePntsCoplanar (const CSIBCVector3Dd &in_pnt1, const CSIBCVector3Dd &in_pnt2, const CSIBCVector3Dd &in_pnt3, const CSIBCVector3Dd &in_pnt4, const double in_dEpsilon=PICO_EPS)


Detailed Description

General purpose 3D vector class.

Representation of a 3D vector, defining operations to access, modify and perform calculations on 3D vectors. This class uses double precision floating-point numbers for represent its data, and in its operations. There are seperate similar classes for 2D and 4D vectors, CSIBCVector2Dd and CSIBCVector4Dd, respectively, which also use double precision. There also exists a 3D vector class with an implicit W component, CSIBCVectorwd.

Furthermore, there is another set of vector classes which use single precision floating-point numbers, CSIBCVector2D, CSIBCVector3D and CSIBCVector4D for 2D, 3D and 4D vectors respectively. Quaternions represented as 4D vectors are also available in CSIBCQuaternion and CSIBCQuaterniond with single precision and double precision, repspectively.


Constructor & Destructor Documentation

CSIBCVector3Dd (  ) 

Default Constructor. Constructs a new 3D vector.

CSIBCVector3Dd ( const double  in_dX,
const double  in_dY,
const double  in_dZ  
)

Constructor. Constructs a new 3D vector, with in_dX, in_dY and in_dZ as the X, Y and Z component values, respectively.

Parameters:
in_dX  The value for the X component of the new vector.
in_dY  The value for the Y component of the new vector.
in_dZ  The value for the Z component of the new vector.

CSIBCVector3Dd ( const double  in_dXYZ[3]  ) 

Constructor. Sets the new vector to have the X, Y and Z values contained in the array in_dXYZ.

Parameters:
in_dXY  Array containing the X, Y and Z values for the new vector.

CSIBCVector3Dd ( int  in_nIndex,
double  in_dVal  
)

Constructor. Sets the component determined by in_nIndex to in_dVal, and the other component to zero.

Parameters:
in_nIndex  Index of the component to set to in_dVal. (0 == X, 1 == Y).


Member Function Documentation

const double* GetArray (  )  const

Returns an array containing the X, Y and Z components of the vector. Note that the pointer obtained from this call should not be freed. Any modification to the values in the array results in a direct modification of this object.

Returns:
const double* Array containing the X, Y and Z components of this vector.
See also:
CSIBCVector3Dd::Get

double GetX ( void   )  const

Gets the X component of this vector.

Returns:
Value of the X component of this vector.
See also:
CSIBCVector3Dd::GetY

CSIBCVector3Dd::GetZ

CSIBCVector3Dd::SetX

CSIBCVector3Dd::Get

double GetY ( void   )  const

Gets the Y component of this vector.

Returns:
Value of the Y component of this vector.
See also:
CSIBCVector3Dd::GetX

CSIBCVector3Dd::GetZ

CSIBCVector3Dd::SetY

CSIBCVector3Dd::Get

double GetZ ( void   )  const

Gets the Z component of this vector.

Returns:
Value of the Z component of this vector.
See also:
CSIBCVector3Dd::GetX

CSIBCVector3Dd::GetY

CSIBCVector3Dd::SetZ

CSIBCVector3Dd::Get

double Get ( const int  in_nIndex  )  const

Gets the value of the component specified by in_nIndex.

Parameters:
in_nIndex  Index of the component value to get (0 == X, 1 == Y, 2 == Z).
Returns:
double Value of the component specified by in_nIndex.
See also:
CSIBCVector3Dd::GetX

CSIBCVector3Dd::GetY

CSIBCVector3Dd::GetZ

CSIBCVector3Dd::Set

void Get ( double &  out_dX,
double &  out_dY,
double &  out_dZ  
) const

Gets the values of the X, Y and Z components of this vector.

Parameters:
out_dX  Receives the value of the X component
out_dY  Receives the value of the Y component
out_dZ  Receives the value of the Z component
See also:
CSIBCVector3Dd::GetX

CSIBCVector3Dd::GetY

CSIBCVector3Dd::GetZ

CSIBCVector3Dd::Set

double GetMaxComponent ( bool  in_bInAbs = true  )  const

Gets the value of largest component of the vector.

Parameters:
in_bInAbs  true if comparisons should be made with absolute values, false if comparisons should be made without absolute values. Defaults to true.
Returns:
double The value (or absolute value if in_bInAbs is true) of the largest component of the vector.
See also:
CSIBCVector3Dd::GetIndexOfMaxComponent

CSIBCVector3Dd::GetMinComponent

double GetMinComponent ( bool  in_bInAbs = true  )  const

Gets the value of smallest component of the vector.

Parameters:
in_bInAbs  true if comparisons should be made with absolute values, false if comparisons should be made without absolute values. Defaults to true.
Returns:
double The value (or absolute value if in_bInAbs is true) of the smallest component of the vector.
See also:
CSIBCVector3Dd::GetIndexOfMinComponent

CSIBCVector3Dd::GetMaxComponent

int GetIndexOfMaxComponent ( bool  in_bInAbs = true  )  const

Gets the index of the largest component of the vector.

Parameters:
in_bInAbs  true if comparisons should be made with absolute values, false if comparisons should be made without absolute values. Defaults to true.
Returns:
int Index of the largest component of the vector (0 == X, 1 == Y, 2 == Z).
See also:
CSIBCVector3Dd::GetMaxComponent

CSIBCVector3Dd::GetIndexOfMinComponent

int GetIndexOfMinComponent ( bool  in_bInAbs = true  )  const

Gets the index of the smallest component of the vector.

Parameters:
in_bInAbs  true if comparisons should be made with absolute values, false if comparisons should be made without absolute values. Defaults to true.
Returns:
int Index of the smallest component of the vector (0 == X, 1 == Y, 2 == Z).
See also:
CSIBCVector3Dd::GetMinComponent

CSIBCVector3Dd::GetIndexOfMaxComponent

CSIBCVector3Dd& SetX ( const double  in_dVal  ) 

Sets the value of the X component of this vector.

Parameters:
in_dVal  The new value of the X component of this vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetY

CSIBCVector3Dd::SetZ

CSIBCVector3Dd::Set

CSIBCVector3Dd::GetX

CSIBCVector3Dd& SetY ( const double  in_dVal  ) 

Sets the value of the Y component of this vector.

Parameters:
in_dVal  The new value of the Y component of this vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetX

CSIBCVector3Dd::SetZ

CSIBCVector3Dd::Set

CSIBCVector3Dd::GetY

CSIBCVector3Dd& SetZ ( const double  in_dVal  ) 

Sets the value of the Z component of this vector.

Parameters:
in_dVal  The new value of the Z component of this vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetX

CSIBCVector3Dd::SetY

CSIBCVector3Dd::Set

CSIBCVector3Dd::GetZ

CSIBCVector3Dd& Set ( const CSIBCVector3Dd in_vct  ) 

Sets the value of this vector to the value of in_vct.

Parameters:
in_vct  Vector to set this vector equal to.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Set

CSIBCVector3Dd::SetX

CSIBCVector3Dd::SetY

CSIBCVector3Dd::SetZ

CSIBCVector3Dd::Get

CSIBCVector3Dd& Set ( const int  in_nIndex,
const double  in_dVal  
)

Sets the component given by in_nIndex to in_dVal.

Parameters:
in_nIndex  The index of the component to set (0 == X, 1 == Y, 2 == Z).
in_dVal  The value to set the component to.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Set

CSIBCVector3Dd::Get

CSIBCVector3Dd& Set ( const double  in_dX,
const double  in_dY,
const double  in_dZ  
)

Sets the X, Y and Z components of the vector.

Parameters:
in_dX  The value for the X component of the vector.
in_dY  The value for the Y component of the vector.
in_dZ  The value for the Z component of the vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Set

CSIBCVector3Dd::GetX

CSIBCVector3Dd::GetY

CSIBCVector3Dd::GetZ

CSIBCVector3Dd::Get

CSIBCVector3Dd& SetNull ( void   ) 

Sets all the components of this vector to zero.

Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::IsNull

CSIBCVector3Dd::Set

bool IsNull ( const double  in_dEpsilon = PICO_EPS  )  const

Determines whether all components of this vector are equal to zero. Since this method uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Returns:
bool true if the vector is null, false otherwise.
See also:
CSIBCVector3Dd::SetNull

CSIBCVector3Dd::AreAlmostEqual

CSIBCVector3Dd & SetMinimal ( bool  in_bInAbs = true,
const double  in_dEpsilon = PICO_EPS  
) [inline]

Ensure that each of the components of this vector are at least as large as in_dEpsilon. If not, they are set to in_dEpsilon. Note that if comparisons are done with absolute values, the sign of the vector components does not change, if they are less than in_dEpsilon.

Parameters:
in_bInAbs  true if comparisons are done with absolute values, false if comparisons are done without absolute values. Defaults to true.
in_dEpsilon  Minimal value for components of this vector. Defaults to PICO_EPS.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetMinimal

CSIBCVector3Dd::AreAlmostEqual

CSIBCVector3Dd& SetMinimal ( const CSIBCVector3Dd ,
bool  in_bInAbs = true  
)

Ensures that each of the components of this vector are at least as large as the components of in_vct. If they are not, they are set to be equal to the component of in_vct. Note that if comparisons are done with absolute values, the sign of the vector components does not change, if they are less than the corresponding component values in in_vct.

Parameters:
in_vct  Vector containing minimal component values.
in_bInAbs  true if comparisons are done with absolute values, false if comparisons are done without absolute values. Defaults to true.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetMinimal

CSIBCVector3Dd::AreAlmostEqual

bool operator== ( const CSIBCVector3Dd in_vct  )  const

Determines whether all corresponding components of this vector and in_vct are exactly equal.

Parameters:
in_vct  The vector to compare equality with.
Returns:
bool true if the vectors are exactly equal, false otherwise.
See also:
CSIBCVector3Dd::AreAlmostEqual

CSIBCVector3Dd::operator!=

bool operator!= ( const CSIBCVector3Dd in_vct  )  const

Determines whether any corresponding components of this vector and in_vct are different.

Parameters:
in_vct  The vector to compare inequality with.
Returns:
bool true if the vectors differ in any component, false otherwise.
See also:
CSIBCVector3Dd::AreAlmostEqual

CSIBCVector3Dd::operator==

CSIBCVector3Dd& Negate ( const CSIBCVector3Dd in_vct  ) 

Sets this vector to the negative of in_vct.

Parameters:
in_vct  Vector containing the negative value for this vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Negate

CSIBCVector3Dd& Negate ( void   ) 

Sets this vector to its negative.

Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Negate

double GetSquaredLength ( void   )  const

Gets the squared length of this vector.

Returns:
double The squared length of this vector.
See also:
CSIBCVector3Dd::GetLength

CSIBCVector3Dd::SetLength

CSIBCVector3Dd::Normalize

double GetLength ( void   )  const

Gets the length of this vector.

Returns:
double The squared length of this vector.
See also:
CSIBCVector3Dd::GetSquaredLength

CSIBCVector3Dd::SetLength

CSIBCVector3Dd::Normalize

bool SetLength ( const double  in_dLength  ) 

Sets the length of this vector.

Parameters:
in_dLength  New length for this vector.
Returns:
bool true if the length was set properly, false if the length of the current vector is zero.
See also:
CSIBCVector3Dd::Normalize

CSIBCVector3Dd::GetLength

bool Normalize ( void   ) 

Sets the vector to be a unit vector.

Returns:
bool true if the length was set properly, false if the length of the current vector is zero.
See also:
CSIBCVector3Dd::SetLength

CSIBCVector3Dd::GetLength

CSIBCVector3Dd& Add ( const CSIBCVector3Dd in_vct  ) 

Adds this vector and in_vct. The result is stored in this vector.

Parameters:
in_vct  Vector to add to this vector. return CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Add

CSIBCVector3Dd::Sub

CSIBCVector3Dd& Add ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Adds in_vct1 and in_vct2. The result is stored in this vector.

Parameters:
in_vct1  First vector in the addition.
in_vct2  Second vector in the addition.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Add

CSIBCVector3Dd::Sub

CSIBCVector3Dd& Sub ( const CSIBCVector3Dd in_vct  ) 

Subtracts in_vct from this vector. The result is stored in this vector.

Parameters:
in_vct  Vector to subtract from this vector.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Sub

CSIBCVector3Dd::Add

CSIBCVector3Dd& Sub ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Subtracts in_vct2 from in_vct1. The result is stored in this vector.

Parameters:
in_vct1  First vector for the subtraction.
in_vct2  Second vector for the subtraction.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Sub

CSIBCVector3Dd::Add

CSIBCVector3Dd& Mul ( const double  in_dFactor  ) 

Multiplies each component of this vector by in_dFactor. The result is stored in this vector.

Parameters:
in_dFactor  Factor to multiply the components of this vector by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::Div

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd& Mul ( const double  in_dFactor,
const CSIBCVector3Dd in_vct  
)

Multiplies each of the components in in_vct by in_dFactor. The result is stored in this vector.

Parameters:
in_dFactor  Factor to multiply the components of in_vct by.
in_vct  Vector to multiply.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::Div

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd& Mul ( const CSIBCVector3Dd in_vct,
const double  in_dFactor  
)

Multiplies each of the components in in_vct by in_dFactor. The result is stored in this vector.

Parameters:
in_vct  Vector to multiply.
in_dFactor  Factor to multiply the components of in_vct by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::Div

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd& Mul ( const CSIBCVector3Dd in_vct,
const CSIBCMatrix33d in_mat  
)

Multiplies a row vector in_vct, into a 3x3 matrix in_mat (in_vct * in_mat), and stores the result in this vector.

Parameters:
in_vct  Row vector to multiply (on the left).
in_mat  Matrix to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCMatrix33d in_mat  ) 

Multiplies a this vector (as a row vector), into a 3x3 matrix in_mat (this * in_mat), and stores the result in this vector.

Parameters:
in_vct  Row vector to multiply (on the left).
in_mat  Matrix to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCMatrix33d in_mat,
const CSIBCVector3Dd in_vct  
)

Multiplies a 3x3 matrix in_mat, into a column vector, in_vct (in_mat * in_vct), and stores the result in this vector.

Parameters:
in_mat  Matrix to multiply (on the left).
in_vct  Column vector to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCVector3Dd in_vct,
const CSIBCRotMatd in_mat  
)

Multiplies a row vector in_vct, into a 3x3 rotation matrix in_mat (in_vct * in_mat), and stores the result in this vector.

Parameters:
in_vct  Row vector to multiply (on the left).
in_mat  Rotation matrix to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCRotMatd in_mat,
const CSIBCVector3Dd in_vct  
)

Multiplies a 3x3 rotation matrix in_mat, into a column vector, in_vct (in_mat * in_vct), and stores the result in this vector.

Parameters:
in_mat  Rotation matrix to multiply (on the left).
in_vct  Column vector to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCVector3Dd in_vct,
const CSIBCXfoMatd in_mat  
)

Multiplies a row vector in_vct, into a 4x4 transformation matrix in_mat (in_vct * in_mat), and stores the result in this vector. Since a 4-vector is required for the multiplication, the W component of in_vct is assumed to be 1. Since the output from this operation is normally a 4-vector, only the X, Y and Z components are used.

Parameters:
in_vct  Row vector to multiply (on the left).
in_mat  Rotation matrix to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Mul ( const CSIBCVector3Dd in_vct,
const CSIBCMatrix44d in_mat  
)

Multiplies a row vector in_vct, into a 4x4 matrix in_mat (in_vct * in_mat), and stores the result in this vector. Since a 4-vector is required for the multiplication, the W component of in_vct is assumed to be 1. The X, Y and Z output components are divided by the resultant W component.

Parameters:
in_vct  Row vector to multiply (on the left).
in_mat  Rotation matrix to multiply (on the right).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Mul

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Div

CSIBCVector3Dd& Div ( const double  in_dFactor  ) 

Divides each component of this vector by in_dFactor. The result is stored in this vector.

Parameters:
in_dFactor  Factor to divide the components of this vector by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Div

CSIBCVector3Dd::Mul

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::MulComp

CSIBCVector3Dd& Div ( const CSIBCVector3Dd in_vct,
const double  in_dFactor  
)

Divides each component of in_vct by in_dFactor. The result is stored in this vector.

Parameters:
in_vct  Vector to divide.
in_dFactor  Factor to divide the components of this vector by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::Div

CSIBCVector3Dd::Mul

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::MulComp

CSIBCVector3Dd& MulComp ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Multiplies each component of in_vct1 by the corresponding component in in_vct2. The result is stored in this vector.

Parameters:
in_vct1  First vector to multiply the components of.
in_vct2  Second vector to multiply the components of.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Mul

CSIBCVector3Dd::Div

CSIBCVector3Dd& MulComp ( const CSIBCVector3Dd in_vct  ) 

Multiplies each component of in_vct by the corresponding component in this vector. The result is stored in this vector.

Parameters:
in_vct  Vector to multiply the components of.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::MulComp

CSIBCVector3Dd::DivComp

CSIBCVector3Dd::Mul

CSIBCVector3Dd::Div

CSIBCVector3Dd& DivComp ( const CSIBCVector3Dd in_vct  ) 

Divides each component of this vector by the corresponding component in in_vct. The result is stored in this vector.

Parameters:
in_vct  Vector to divide the components of this vector by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::DivComp

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::Div

CSIBCVector3Dd::Mul

CSIBCVector3Dd& DivComp ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Divides each component of in_vct1 by the corresponding component in in_vct2. The result is stored in this vector.

Parameters:
in_vct1  Vector to be divided by the components of in_vct2
in_vct2  Vector to divide the components of in_vct1 by.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::DivComp

CSIBCVector3Dd::MulComp

CSIBCVector3Dd::Div

CSIBCVector3Dd::Mul

CSIBCVector3Dd& SetCross ( const CSIBCVector3Dd in_vct  ) 

Computes the cross product between this vector and in_vct (this x in_vct). The result is stored in this vector

Parameters:
in_vct  Vector to cross with this vector (on the left).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::GetDot

CSIBCVector3Dd::SetCross

CSIBCVector3Dd& SetCross ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Computes the cross product between in_vct1 and in_vct2 (in_vct1 x in_vct2). The result is stored in this vector.

Parameters:
in_vct1  Vector to cross with this vector (on the left).
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::GetDot

CSIBCVector3Dd::SetCross

bool SetOrthogonal ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Computes the vector that is orthogonal to in_vct1, and in the same plane as in_vct1 and in_vct2. The result is stored in this vector.

Parameters:
in_vct1  Vector that the new vector should be orthogonal to.
in_vct2  Another vector, with in_vct1 that forms a plane in which the new vector should lie in.
Returns:
bool true if the orthogonal vector could be calculated, false if in_vct1 and in_vct2 are colinear. If false, this vector contains the null vector.
See also:
CSIBCVector3Dd::AreOrthogonal

CSIBCVector3Dd::SetOrthoProj

CSIBCVector3Dd::GetOrthogonalBasis

bool SetOrthoProj ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Computes the vector that is orthogonal to in_vct1, and in the same plane as in_vct1 and in_vct2. The result is then projected on in_vct2. The result is stored in this vector.

Parameters:
in_vct1  Vector taht the new vector should be orthogonal to.
iN_vct2  Another vector, with in_vct1 that forms a plane in which the new vector should lie in. The result is then projected onto this vector.
Returns:
bool true if the orthogonal projected vector could be calculated, false if in_vct1 and in_vct2 are colinear. If false, this vector contains the null vector.
See also:
CSIBCVector3Dd::SetOrthogonal

CSIBCVector3Dd::AreOrthogonal

CSIBCVector3Dd::SetProjection

bool SetProjection ( const CSIBCVector3Dd in_vct  ) 

Projects this vector onto in_vct. The projected vector is stored in this vector.

Parameters:
in_vct  Vector to project this vector onto.
Returns:
bool true if the vector is projected, false if the input vector is the null vector. If false, this vector keeps its original value.
See also:
CSIBCVector3Dd::SetOrthoProj

CSIBCVector3Dd& SetMirror ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
)

Computes in_vct1 * 2 - in_vct2, and stores the result in this vector.

Parameters:
in_vct1  First vector in the computation.
in_vct2  Second vector in the computation.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetProjection

CSIBCVector3Dd& SetMidpoint ( const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
)

Sets this vector to the midpoint between the two points in_pnt1 and in_pnt2.

Parameters:
in_pnt1  First point for midpoint determination.
in_pnt2  Second point for midpoint determination.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetMean

CSIBCVector3Dd::LinearPositionInterpolate

CSIBCVector3Dd& SetMean ( const CSIBCVector3Dd in_vct,
ULONG  in_nbVct  
)

Computes the mean of the vector components of the vectors in the array in_vct. The result is stored in this vector.

Parameters:
in_vct  Array of vectors (in_nbVct LONG) to calculate the mean of.
in_nbVct  Number of vectors in the in_vct array.
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetMidpoint

CSIBCVector3Dd::LinearPositionInterpolate

CSIBCVector3Dd& LinearPositionInterpolate ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dT  
)

Computes the linear interpolation between the two vectors in_vct1 and in_vct2, at a point in_dT between the two vectors.

Parameters:
in_vct1  Starting point for the interpolation.
in_vct2  Ending point for the interpolation.
in_dT  Interpolation point between the vectors, in the range [0.0f, 1.0f].
Returns:
CSIBCVector3Dd& Reference to this vector.
See also:
CSIBCVector3Dd::SetMidpoint

void SetBounds ( const CSIBCVector3Dd in_pnt,
CSIBCVector3Dd io_min,
CSIBCVector3Dd io_max  
)

Not implemented yet

CSIBCVector3Dd& Combine ( const CSIBCVector3Dd in_vct1,
const double  in_dS1,
const CSIBCVector3Dd in_vct2,
const double  in_dS2  
)

Not implemented yet

CSIBCVector3Dd& BsplinePositionInterpolate ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const CSIBCVector3Dd in_vct3,
const CSIBCVector3Dd in_vct4,
const double  in_dT  
)

Not implemented yet.

CSIBCVector3Dd& BsplineVectorInterpolate ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const CSIBCVector3Dd in_vct3,
const CSIBCVector3Dd in_vct4,
const double  in_dT  
)

Not implemented yet.


Friends And Related Function Documentation

bool AreAlmostEqual ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Determines whether all corresponding components of the in_vct1 and in_vct2 are equal. Since this method uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
in_vct1  First vector for equality comparison.
in_vct2  Second vector for equality comparison.
in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Returns:
bool true if the vectors are equal, false otherwise.
See also:
CSIBCVector3Dd::operator==

CSIBCVector3Dd::operator!=

double GetDot ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
) [friend]

Computes the dot product between the vectors in_vct1 and in_vct2.

Parameters:
in_vct1  First vector in the dot product.
in_vct2  Second vector in the dot product.
Returns:
double The dot product between in_vct1 and in_vct2.
See also:
CSIBCVector3Dd::SetCross

bool AreOrthogonal ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Determines whether two vectors in_vct1 and in_vct2 are orthogonal to each other. Since this method uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
in_vct1  First vector for orthogonality comparison.
in_vct2  Second vector for orthogonality comparison.
in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Returns:
bool true if the vectors are orthogonal, false otherwise.
See also:
CSIBCVector3Dd::SetOrthogonal

CSIBCVector3Dd::SetOrthoProj

CSIBCVector3Dd::GetOrthogonalBasis

bool AreParallel ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Determines whether in_vct1 and in_vct2 are parallel vectors. Since this method uses floating-point comparison, a threshhold value of in_dEpsilon is used for equality comparison.

Parameters:
in_vct1  The first vector in the parallelism comparison.
in_vct2  The second vector in the parallelism comparison.
in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.

double GetDistance ( const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
) [friend]

Computes the distance between two points in 3D space given by in_pnt1 and in_pnt2.

Parameters:
in_pnt1  Starting point for distance calculation.
in_pnt2  Ending point for distance calculation.
Returns:
double The scalar distance between the two points, in 3D space.
See also:
CSIBCVector3Dd::GetSquaredDistance

double GetSquaredDistance ( const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
) [friend]

Computes the squared distance between two points in 3D space given by in_pnt1 and in_pnt2.

Parameters:
in_pnt1  Starting point for distance calculation.
in_pnt2  Ending point for distance calculation.
Returns:
double The squared scalar distance between the two points, in 3D space.
See also:
CSIBCVector3Dd::GetDistance

void GetOrthogonalBasis ( const CSIBCVector3Dd in_vct1,
CSIBCVector3Dd out_vct2,
CSIBCVector3Dd out_vct3  
) [friend]

Computes two vectors out_vct2 and out_vct3, which together with the input vector in_vct1 form an orthogonal basis. The out vectors are not normalized.

Parameters:
in_vct1  Vector to compute the orthogonal basis from.
out_vct2  Receives an orthogonal basis vector.
out_vct3  Receives an orthogonal basis vector.
See also:
CSIBCVector3Dd::GetOrthonormalBasis

CSIBCVector3Dd::SetOrthogonal

CSIBCVector3Dd::SetOrthoProj

void GetOrthonormalBasis ( CSIBCVector3Dd io_vct1,
CSIBCVector3Dd out_vct2,
CSIBCVector3Dd out_vct3  
) [friend]

Computes two vectors out_vct2 and out_vct3, which together with the input vector in_vct1 form an orthonormal basis. io_vct1 is normalized if it is not already normalized.

Parameters:
io_vct1  Vector to compute the orthonormal vector from. Normalized if not already normalized.
out_vct2  Receives an orthonormal basis vector.
out_vct3  Receives an orthonormal basis vector.
See also:
CSIBCVector3Dd::GetOrthogonalBasis

CSIBCVector3Dd::SetOrthogonal

CSIBCVector3Dd::SetOrthoProj

double GetPntsAngle ( const CSIBCVector3Dd in_pntOrigin,
const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
) [friend]

Computes the angle between the vectors defined by in_pntOrigin to in_pnt1, and in_pntOrigin to in_pnt2. The angle is in the range [0.0f, M_PI].

Parameters:
in_pntOrigin  Origin point for the two vectors.
in_pnt1  End point of the first vector.
in_pnt2  End point of the second vector.
Returns:
double Angle (in radians) between the two vectors. In the range [0.0f, M_PI].
See also:
CSIBCVector3Dd::GetPntsAngleSigned

CSIBCVector3Dd::GetPntsCosAngle

CSIBCVector3Dd::GetVctsAngle

CSIBCVector3Dd::Get2DVctsAngleSigned

CSIBCVector3Dd::GetVctsCosAngle

double Get2DPntsAngleSigned ( const CSIBCVector3Dd in_pntOrigin,
const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
) [friend]

Computes the angle between the vectors defined by in_pntOrigin to in_pnt1, and in_pntOrigin to in_pnt2. The angle is in the range [-M_PI, M_PI]. This angle is positive if it corresponds to a counter-clockwise rotation, and it is negative if it corresponds to a clockwise rotation.

Parameters:
in_pntOrigin  Origin point for the two vectors.
in_pnt1  End point of the first vector.
in_pnt2  End point of the second vector.
Returns:
double Angle (in radians) between the two vectors. In the range [-M_PI, M_PI].
See also:
CSIBCVector3Dd::GetPntsAngle

CSIBCVector3Dd::GetPntsCosAngle

CSIBCVector3Dd::GetVctsAngle

CSIBCVector3Dd::Get2DVctsAngleSigned

CSIBCVector3Dd::GetVctsCosAngle

double GetPntsCosAngle ( const CSIBCVector3Dd in_pntOrigin,
const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2  
) [friend]

Computes the cosine of the angle between the vectors defined by in_pntOrigin to in_pnt1, and in_pntOrigin to in_pnt2.

Parameters:
in_pntOrigin  Origin point for the two vectors.
in_pnt1  End point of the first vector.
in_pnt2  End point of the second vector.
Returns:
double Cosine of the angle between the two vectors. In the range [-1.0f, 1.0f].
See also:
CSIBCVector3Dd::GetPntsAngle

CSIBCVector3Dd::Get2DPntsAngleSigned

CSIBCVector3Dd::GetVctsAngle

CSIBCVector3Dd::Get2DVctsAngleSigned

CSIBCVector3Dd::GetVctsCosAngle

double GetVctsAngle ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Computes the angle between the vectors in_vct1 and in_vct2. The angle is in the range of [0.0f, M_PI].

Parameters:
in_vct1  First vector.
in_vct2  Second vector.
in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Returns:
double Angle (in radians) between the two vectors. In the range [0.0f, M_PI].
See also:
CSIBCVector3Dd::GetPntsAngle

CSIBCVector3Dd::Get2DPntsAngleSigned

CSIBCVector3Dd::GetPntsCosAngle

CSIBCVector3Dd::Get2DVctsAngleSigned

CSIBCVector3Dd::GetVctsCosAngle

double Get2DVctsAngleSigned ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2  
) [friend]

Computes the angle between the vectors in_vct1 and in_vct2. The angle is in the range [-M_PI, M_PI]. This angle is positive if it corresponds to a counter-clockwise rotation, and it is negative if it corresponds to a clockwise rotation.

Parameters:
in_vct1  First vector.
in_vct2  Second vector.
Returns:
double Angle (in radians) between the two vectors. In the range [-M_PI, M_PI].
See also:
CSIBCVector3Dd::GetPntsAngle

CSIBCVector3Dd::Get2DPntsAngleSigned

CSIBCVector3Dd::GetPntsCosAngle

CSIBCVector3Dd::GetVctsAngle

CSIBCVector3Dd::GetVctsCosAngle

double GetVctsCosAngle ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Computes the cosine of the angle between the vectors in_vct1 and in_vct2.

Parameters:
in_vct1  First vector.
in_vct2  Second vector.
Returns:
double Cosine of the angle between the two vectors. In the range [-1.0f, 1.0f].
See also:
CSIBCVector3Dd::GetPntsCosAngle

CSIBCVector3Dd::GetPntsAngle

CSIBCVector3Dd::Get2DPntsAngleSigned

CSIBCVector3Dd::GetVctsAngle

CSIBCVector3Dd::Get2DVctsAngleSigned

int Get2DPntSide ( const CSIBCVector3Dd in_pnt,
const CSIBCVector3Dd in_pntOrigin,
const CSIBCVector3Dd in_pntTip  
) [friend]

Determines which 'side' of the vector formed between the points in_pntOrigin and in_pntTip, a point in_pnt is on.

Parameters:
in_pnt  Point to determine which side of the vector it is on.
in_pntOrigin  Staring point of the vector.
in_pntTip  Ending point of the vector.
Returns:
int The side that the point is on. (-1 == right side, 1 == left side).

double GetTriangleArea ( const CSIBCVector3Dd in_rPoint0,
const CSIBCVector3Dd in_rPoint1,
const CSIBCVector3Dd in_rPoint2  
) [friend]

Calculates the area of the triangle with the verticies in_rPoint0, in_rPoint1 and in_rPoint2.

Parameters:
in_rPoint0  First vertex of the triangle.
in_rPoint1  Second vertex of the triangle.
in_rPoint2  Third vertex of the triangle.

bool ArePntsCollinear ( const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2,
const CSIBCVector3Dd in_pnt3,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Not implemented yet.

bool AreVctsCoplanar ( const CSIBCVector3Dd in_vct1,
const CSIBCVector3Dd in_vct2,
const CSIBCVector3Dd in_vct3,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Not implemented yet.

bool ArePntsCoplanar ( const CSIBCVector3Dd in_pnt1,
const CSIBCVector3Dd in_pnt2,
const CSIBCVector3Dd in_pnt3,
const CSIBCVector3Dd in_pnt4,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Not implemented yet.


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