CSIBCVectorwd Class Reference

General purpose 3D vector class, with implicit W component. More...

#include <SIBCVectorwd.h>

List of all members.

Public Member Functions

  CSIBCVectorwd ()
  CSIBCVectorwd (const double in_dX, const double in_dY, const double in_dZ, const double in_dW)
double  GetX (void) const
double  GetY (void) const
double  GetZ (void) const
double  GetW (void) const
double  Get (const int in_iIndex) const
void  Get (double &out_dX, double &out_dY, double &out_dZ, double &out_dW) const
CSIBCVectorwd SetX (const double in_dVal)
CSIBCVectorwd SetY (const double in_dVal)
CSIBCVectorwd SetZ (const double in_dVal)
CSIBCVectorwd SetW (const double in_dVal)
CSIBCVectorwd Set (const int in_nIndex, const double in_dVal)
CSIBCVectorwd Set (const double in_dX, const double in_dY, const double in_dZ, const double in_dW)
CSIBCVectorwd SetNull (void)
bool  IsNull (const double in_dEpsilon=PICO_EPS) const
CSIBCVectorwd SetMinimal (const double in_dEpsilon=PICO_EPS)
bool  AreAlmostEqual (const CSIBCVectorwd &in_vct, const double in_dEpsilon=PICO_EPS)
bool  operator== (const CSIBCVectorwd &in_vct) const
bool  operator!= (const CSIBCVectorwd &in_vct) const
CSIBCVectorwd Negate (void)
double  GetLength (void) const
bool  SetLength (const double in_dLength)
bool  Normalize (void)
CSIBCVectorwd Add (const CSIBCVectorwd &in_vct)
CSIBCVectorwd Add (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd Sub (const CSIBCVectorwd &in_vct1)
CSIBCVectorwd Sub (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd Mul (const double in_vct)
CSIBCVectorwd Mul (const double in_dFactor, const CSIBCVectorwd &in_vct)
CSIBCVectorwd Mul (const CSIBCVectorwd &in_vct, const double in_dFactor)
CSIBCVectorwd Div (const double in_vct1)
CSIBCVectorwd Div (const double in_dFactor, const CSIBCVectorwd &in_vct)
CSIBCVectorwd MulComp (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd MulComp (const CSIBCVectorwd &in_vct)
CSIBCVectorwd DivComp (const CSIBCVectorwd &in_vct)
CSIBCVectorwd DivComp (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd SetMidpoint (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2)
CSIBCVectorwd LinearPositionInterpolate (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2, const double in_dT)
bool  SetOrthogonal (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
bool  SetOrthoProj (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd SetProjection (const CSIBCVectorwd &in_vct)
CSIBCVectorwd SetMirror (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
CSIBCVectorwd BsplinePositionInterpolate (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2, const CSIBCVectorwd &in_vct3, const CSIBCVectorwd &in_vct4, const double in_dT)
CSIBCVectorwd Combine (const CSIBCVectorwd &in_vct1, const double in_dS1, const CSIBCVectorwd &in_vct2, const double in_dS2)
void  SetBounds (const CSIBCVectorwd &in_pnt, CSIBCVectorwd &io_min, CSIBCVectorwd &io_max)

Friends

double  GetDot (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
double  GetDistance (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2)
double  GetSquaredDistance (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2)
bool  AreOrthogonal (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2, const double in_dEpsilon=PICO_EPS)
double  GetVctAngle (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2, const bool in_bIsSigned=false)
double  GetPntAngle (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2, const CSIBCVectorwd &in_pnt3, const bool in_bIsSigned=false)
double  GetVctCosAngle (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2)
double  GetPntCosAngle (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2, const CSIBCVectorwd &in_pnt3)
bool  ArePntCollinear (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2, const CSIBCVectorwd &in_pnt3, const double in_dEpsilon=PICO_EPS)
bool  AreVctCoplanar (const CSIBCVectorwd &in_vct1, const CSIBCVectorwd &in_vct2, const CSIBCVectorwd &in_vct3, const double in_dEpsilon=PICO_EPS)
bool  ArePntCoplanar (const CSIBCVectorwd &in_pnt1, const CSIBCVectorwd &in_pnt2, const CSIBCVectorwd &in_pnt3, const CSIBCVectorwd &in_pnt4, const double in_dEpsilon=PICO_EPS)


Detailed Description

General purpose 3D vector class, with implicit W component.

Representation of a 3D vector, with an implicit W componennt, 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, and also a 3D vector class that does not have an implicit W component, CSIBCVector3Dd.

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

CSIBCVectorwd (  ) 

Default Constructor. Constructs a new 3D vector.

CSIBCVectorwd ( const double  in_dX,
const double  in_dY,
const double  in_dZ,
const double  in_dW  
)

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

Parameters:
[in]  in_dX  The value for the X component of the new vector.
[in]  in_dY  The value for the Y component of the new vector.
[in]  in_dZ  The value for the Z component of the new vector.
[in]  in_dW  The value for the W component of the new vector.


Member Function Documentation

double GetX ( void   )  const

Returns the X component of this vector.

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

CSIBCVectorwd::GetZ

CSIBCVectorwd::GetW

CSIBCVectorwd::SetX

CSIBCVectorwd::Get

double GetY ( void   )  const

Returns the Y component of this vector.

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

CSIBCVectorwd::GetZ

CSIBCVectorwd::GetW

CSIBCVectorwd::SetY

CSIBCVectorwd::Get

double GetZ ( void   )  const

Returns the Z component of this vector.

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

CSIBCVectorwd::GetY

CSIBCVectorwd::GetW

CSIBCVectorwd::SetZ

CSIBCVectorwd::Get

double GetW ( void   )  const

Returns the W component of this vector.

Returns:
Value of the W component of this vector.
See also:
CSIBCVectorwd::GetX

CSIBCVectorwd::GetY

CSIBCVectorwd::GetZ

CSIBCVectorwd::SetW

CSIBCVectorwd::Get

double Get ( const int  in_iIndex  )  const

Returns the value of the component specified by in_nIndex.

Parameters:
[in]  in_iIndex  Index of the component value to get (0 == X, 1 == Y, 2 == Z, 3 == W).
Returns:
Value of the component specified by in_nIndex.
See also:
CSIBCVectorwd::GetX

CSIBCVectorwd::GetY

CSIBCVectorwd::GetZ

CSIBCVectorwd::GetW

CSIBCVectorwd::Set

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

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

Parameters:
[out]  out_dX  Receives the value of the X component
[out]  out_dY  Receives the value of the Y component
[out]  out_dZ  Receives the value of the Z component
[out]  out_dW  Receives the value of the W component
See also:
CSIBCVectorwd::GetX

CSIBCVectorwd::GetY

CSIBCVectorwd::GetZ

CSIBCVectorwd::GetW

CSIBCVectorwd::Set

CSIBCVectorwd& SetX ( const double  in_dVal  ) 

Sets the value of the X component of this vector.

Parameters:
[in]  in_dVal  The new value of the X component of this vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::SetY

CSIBCVectorwd::SetZ

CSIBCVectorwd::SetW

CSIBCVectorwd::Set

CSIBCVectorwd::GetX

CSIBCVectorwd& SetY ( const double  in_dVal  ) 

Sets the value of the Y component of this vector.

Parameters:
[in]  in_dVal  The new value of the Y component of this vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::SetX

CSIBCVectorwd::SetZ

CSIBCVectorwd::SetW

CSIBCVectorwd::Set

CSIBCVectorwd::GetY

CSIBCVectorwd& SetZ ( const double  in_dVal  ) 

Sets the value of the Z component of this vector.

Parameters:
[in]  in_dVal  The new value of the Z component of this vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::SetX

CSIBCVectorwd::SetY

CSIBCVectorwd::SetW

CSIBCVectorwd::Set

CSIBCVectorwd::GetZ

CSIBCVectorwd& SetW ( const double  in_dVal  ) 

Sets the value of the W component of this vector.

Parameters:
[in]  in_dVal  The new value of the W component of this vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::SetX

CSIBCVectorwd::SetY

CSIBCVectorwd::SetZ

CSIBCVectorwd::Set

CSIBCVectorwd::GetW

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

Sets the component given by in_nIndex to in_dVal.

Parameters:
[in]  in_nIndex  The index of the component to set (0 == X, 1 == Y, 2 == Z, 3 == W).
[in]  in_dVal  The value to set the component to.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Set

CSIBCVectorwd::Get

CSIBCVectorwd& Set ( const double  in_dX,
const double  in_dY,
const double  in_dZ,
const double  in_dW  
)

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

Parameters:
[in]  in_dX  The value for the X component of the vector.
[in]  in_dY  The value for the Y component of the vector.
[in]  in_dZ  The value for the Z component of the vector.
[in]  in_dW  The value for the W component of the vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Set

CSIBCVectorwd::SetX

CSIBCVectorwd::SetY

CSIBCVectorwd::SetZ

CSIBCVectorwd::SetW

CSIBCVectorwd::Get

CSIBCVectorwd& SetNull ( void   ) 

Sets all the components of this vector to zero.

Returns:
Reference to this vector.
See also:
CSIBCVectorwd::IsNull

CSIBCVectorwd::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]  in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Return values:
true  if the vector is null
false  otherwise
See also:
CSIBCVectorwd::SetNull

CSIBCVectorwd::AreAlmostEqual

CSIBCVectorwd & SetMinimal ( const double  in_dEpsilon = PICO_EPS  )  [inline]

Sets each component of this vector to be at least in_dEpsilon (in absolute value). This does not change the sign of the component.

Parameters:
[in]  in_dEpsilon  Value for the minimum absolute value of each component. Defaults to PICO_EPS.
Returns:
Reference to this vector
See also:
CSIBCVectorwd::Set

bool AreAlmostEqual ( const CSIBCVectorwd in_vct,
const double  in_dEpsilon = PICO_EPS  
)

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

Parameters:
[in]  in_vct  Vector for equality comparison.
[in]  in_dEpsilon  Floating-point comparison error range. Defaults to PICO_EPS.
Return values:
true  if the vectors are equal
false  otherwise
See also:
CSIBCVectorwd::operator==

CSIBCVectorwd::operator!=

bool operator== ( const CSIBCVectorwd in_vct  )  const

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

Parameters:
[in]  in_vct  The vector to compare equality with.
Return values:
true  if the vectors are exactly equal
false  otherwise
See also:
CSIBCVectorwd::AreAlmostEqual

CSIBCVectorwd::operator!=

bool operator!= ( const CSIBCVectorwd in_vct  )  const

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

Parameters:
[in]  in_vct  The vector to compare inequality with.
Return values:
true  if the vectors differ in any component
false  otherwise
See also:
CSIBCVectorwd::AreAlmostEqual

CSIBCVectorwd::operator==

CSIBCVectorwd& Negate ( void   ) 

Sets this vector to its negative.

Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Negate

double GetLength ( void   )  const

Returns the length of this vector.

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

CSIBCVectorwd::SetLength

CSIBCVectorwd::Normalize

bool SetLength ( const double  in_dLength  ) 

Sets the length of this vector.

Parameters:
[in]  in_dLength  New length for this vector.
Return values:
true  if the length was set properly
false  if the length of the current vector is zero
See also:
CSIBCVectorwd::Normalize

CSIBCVectorwd::GetLength

bool Normalize ( void   ) 

Sets the vector to be a unit vector.

Return values:
true  if the length was set properly
false  if the length of the current vector is zero
See also:
CSIBCVectorwd::SetLength

CSIBCVectorwd::GetLength

CSIBCVectorwd& Add ( const CSIBCVectorwd in_vct  ) 

Adds this vector and in_vct. The W components are not added, and the W component of the resultant is taken from this vector. The result is stored in this vector.

Parameters:
[in]  in_vct  Vector to add to this vector. return CSIBCVectorwd& Reference to this vector.
See also:
CSIBCVectorwd::Add

CSIBCVectorwd::Sub

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

Adds in_vct1 and in_vct2. The W components are not added, and the W component of the resultant is taken from this vector. The result is stored in this vector.

Parameters:
[in]  in_vct1  First vector in the addition.
[in]  in_vct2  Second vector in the addition.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Add

CSIBCVectorwd::Sub

CSIBCVectorwd& Sub ( const CSIBCVectorwd in_vct1  ) 

Subtracts in_vct from this vector. The W components are not subtracted, and the W component of the resultant is taken from this vector. The result is stored in this vector.

Parameters:
[in]  in_vct1  Vector to subtract from this vector.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Sub

CSIBCVectorwd::Add

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

Subtracts in_vct2 from in_vct1. The W components are not subtracted, and the W component of the resultant is taken from this vector. The result is stored in this vector.

Parameters:
[in]  in_vct1  First vector for the subtraction.
[in]  in_vct2  Second vector for the subtraction.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Sub

CSIBCVectorwd::Add

CSIBCVectorwd& Mul ( const double  in_vct  ) 

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

Parameters:
[in]  in_vct  Factor to multiply the components of this vector by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Mul

CSIBCVectorwd::Div

CSIBCVectorwd::MulComp

CSIBCVectorwd::DivComp

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

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

Parameters:
[in]  in_dFactor  Factor to multiply the components of in_vct by.
[in]  in_vct  Vector to multiply.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Mul

CSIBCVectorwd::Div

CSIBCVectorwd::MulComp

CSIBCVectorwd::DivComp

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

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

Parameters:
[in]  in_vct  Vector to multiply.
[in]  in_dFactor  Factor to multiply the components of in_vct by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Mul

CSIBCVectorwd::Div

CSIBCVectorwd::MulComp

CSIBCVectorwd::DivComp

CSIBCVectorwd& Div ( const double  in_vct1  ) 

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

Parameters:
[in]  in_vct1  Factor to divide the components of this vector by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Div

CSIBCVectorwd::Mul

CSIBCVectorwd::DivComp

CSIBCVectorwd::MulComp

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

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

Parameters:
[in]  in_vct  Vector to divide.
[in]  in_dFactor  Factor to divide the components of this vector by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::Div

CSIBCVectorwd::Mul

CSIBCVectorwd::DivComp

CSIBCVectorwd::MulComp

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

Multiplies each component of in_vct1 by the corresponding component in in_vct2, except for the W component which is set to the W component of this vector. The result is stored in this vector.

Parameters:
[in]  in_vct1  First vector to multiply the components of.
[in]  in_vct2  Second vector to multiply the components of.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::MulComp

CSIBCVectorwd::DivComp

CSIBCVectorwd::Mul

CSIBCVectorwd::Div

CSIBCVectorwd& MulComp ( const CSIBCVectorwd in_vct  ) 

Multiplies each component of in_vct by the corresponding component in this vector, except for the W component which is set to the W component of this vector. The result is stored in this vector.

Parameters:
[in]  in_vct  Vector to multiply the components of.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::MulComp

CSIBCVectorwd::DivComp

CSIBCVectorwd::Mul

CSIBCVectorwd::Div

CSIBCVectorwd& DivComp ( const CSIBCVectorwd in_vct  ) 

Divides each component of this vector by the corresponding component in in_vct, except for the W component which is set to the W component of this vector. The result is stored in this vector.

Parameters:
[in]  in_vct  Vector to divide the components of this vector by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::DivComp

CSIBCVectorwd::MulComp

CSIBCVectorwd::Div

CSIBCVectorwd::Mul

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

Divides each component of in_vct1 by the corresponding component in in_vct2, except for the W component which is set to the W component of this vector. The result is stored in this vector.

Parameters:
[in]  in_vct1  Vector to be divided by the components of in_vct2
[in]  in_vct2  Vector to divide the components of in_vct1 by.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::DivComp

CSIBCVectorwd::MulComp

CSIBCVectorwd::Div

CSIBCVectorwd::Mul

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

Sets this vector to the midpoint between the two points in_pnt1 and in_pnt2. The W component for the resultant is taken from the current vector.

Parameters:
[in]  in_pnt1  First point for midpoint determination.
[in]  in_pnt2  Second point for midpoint determination.
Returns:
Reference to this vector.
See also:
CSIBCVectorwd::SetMean

CSIBCVectorwd::LinearPositionInterpolate

CSIBCVectorwd& LinearPositionInterpolate ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd 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. The W component is unaffected and taken from the current vector.

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

bool SetOrthogonal ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd in_vct2  
)

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a

bool SetOrthoProj ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd in_vct2  
)

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a

CSIBCVectorwd& SetProjection ( const CSIBCVectorwd in_vct  ) 

Not implemented yet.

Parameters:
in_vct  n/a

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

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a

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

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a
in_vct3  n/a
in_vct4  n/a
in_dT  n/a

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

Not implemented yet.

Parameters:
in_vct1  n/a
in_dS1  n/a
in_vct2  n/a
in_dS2  n/a

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

Not implemented yet.

Parameters:
in_pnt  n/a
io_min  n/a
io_max  n/a


Friends And Related Function Documentation

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

Computes the dot product between the vectors in_vct1 and in_vct2. Only the X, Y and Z components are used in this calculation.

Parameters:
[in]  in_vct1  First vector in the dot product.
[in]  in_vct2  Second vector in the dot product.
Returns:
The dot product between in_vct1 and in_vct2.

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

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

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

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

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

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

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

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a
in_dEpsilon  n/a

double GetVctAngle ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd in_vct2,
const bool  in_bIsSigned = false  
) [friend]

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a
in_bIsSigned  n/a

double GetPntAngle ( const CSIBCVectorwd in_pnt1,
const CSIBCVectorwd in_pnt2,
const CSIBCVectorwd in_pnt3,
const bool  in_bIsSigned = false  
) [friend]

Not implemented yet.

Parameters:
in_pnt1  n/a
in_pnt2  n/a
in_pnt3  n/a
in_bIsSigned  n/a

double GetVctCosAngle ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd in_vct2  
) [friend]

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a

double GetPntCosAngle ( const CSIBCVectorwd in_pnt1,
const CSIBCVectorwd in_pnt2,
const CSIBCVectorwd in_pnt3  
) [friend]

Not implemented yet.

Parameters:
in_pnt1  n/a
in_pnt2  n/a
in_pnt3  n/a

bool ArePntCollinear ( const CSIBCVectorwd in_pnt1,
const CSIBCVectorwd in_pnt2,
const CSIBCVectorwd in_pnt3,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Not implemented yet.

Parameters:
in_pnt1  n/a
in_pnt2  n/a
in_pnt3  n/a
in_dEpsilon  n/a

bool AreVctCoplanar ( const CSIBCVectorwd in_vct1,
const CSIBCVectorwd in_vct2,
const CSIBCVectorwd in_vct3,
const double  in_dEpsilon = PICO_EPS  
) [friend]

Not implemented yet.

Parameters:
in_vct1  n/a
in_vct2  n/a
in_vct3  n/a
in_dEpsilon  n/a

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

Not implemented yet.

Parameters:
in_pnt1  n/a
in_pnt2  n/a
in_pnt3  n/a
in_pnt4  n/a
in_dEpsilon  n/a


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