Public Member Functions | Public Attributes | List of all members
ConvexDecomposition::Vector3d< Type > Class Template Reference

#include <cd_vector.h>

Public Member Functions

void AngleAxis (Type angle, const Vector3d< Type > &axis)
 
Type Area (const Vector3d< Type > &p1, const Vector3d< Type > &p2) const
 
bool BinaryEqual (const Vector3d< double > &p) const
 
bool BinaryEqual (const Vector3d< int > &p) const
 
double ComputeNormal (const Vector3d< double > &A, const Vector3d< double > &B, const Vector3d< double > &C)
 
double ComputePlane (const Vector3d< double > &A, const Vector3d< double > &B, const Vector3d< double > &C)
 
bool Concave (const Vector3d< double > &a, const Vector3d< double > &b)
 
Vector3d< Type > Cross (const Vector3d< Type > &other) const
 
void Cross (const Vector3d< Type > &a, const Vector3d< Type > &b)
 
Type Distance (const Vector3d< Type > &a) const
 
Type Distance2 (const Vector3d< Type > &a) const
 
Type DistanceXY (const Vector3d< Type > &a) const
 
Type Dot (const Vector3d< Type > &a) const
 
Type FastDistance (const Vector3d< Type > &a) const
 
Type FasterDistance (const Vector3d< Type > &a) const
 
Type FasterLength (void) const
 
Type FasterMagnitude (void) const
 
double FasterNormalize (void)
 
Type FastLength (void) const
 
Type FastMagnitude (void) const
 
double FastNormalize (void)
 
void Get (Type *v) const
 
Type GetX (void) const
 
Type GetY (void) const
 
Type GetZ (void) const
 
void Interpolate (const Vector3d< double > &from, const Vector3d< double > &to, double offset)
 
bool IsSame (const Vector3d< double > &v, double epsilon) const
 
Type Length (void) const
 
Type Length2 (void) const
 
void Lerp (const Vector3d< Type > &from, const Vector3d< Type > &to, double slerp)
 
Type Magnitude (void) const
 
void NearestPointInLine (const Vector3d< Type > &point, const Vector3d< Type > &line0, const Vector3d< Type > &line1)
 
void NearestPointInLineSegment (const Vector3d< Type > &point, const Vector3d< Type > &line0, const Vector3d< Type > &line1)
 
void NearestPointInPlane (const Vector3d< Type > &point, const Vector3d< Type > &triangle0, const Vector3d< Type > &triangle1, const Vector3d< Type > &triangle2)
 
void NearestPointInPlane (const Vector3d< Type > &point, const Vector3d< Type > &planePoint, const Vector3d< Type > &planeNormal)
 
void NearestPointInTriangle (const Vector3d< Type > &point, const Vector3d< Type > &triangle0, const Vector3d< Type > &triangle1, const Vector3d< Type > &triangle2)
 
Vector3d negative (void) const
 
double Normalize (void)
 
bool operator!= (const Vector3d< Type > &a) const
 
Vector3d operator* (const double s) const
 
void operator*= (const double s)
 
Vector3d operator+ (const Vector3d &A) const
 
Vector3d operator+ (const double s) const
 
void operator+= (const Vector3d A)
 
void operator+= (const double A)
 
Vector3d operator- (const Vector3d &A) const
 
Vector3d operator- (void) const
 
void operator-= (const Vector3d A)
 
Vector3d operator/ (const double s) const
 
void operator/= (Type A)
 
Vector3doperator= (const Vector3d &A)
 
bool operator== (const Vector3d< Type > &a) const
 
Type operator[] (const int i) const
 
Type & operator[] (const int i)
 
Type Partial (const Vector3d< Type > &p) const
 
bool PointInTriXY (const Vector3d< double > &p1, const Vector3d< double > &p2, const Vector3d< double > &p3) const
 
bool PointInTriXZ (const Vector3d< double > &p1, const Vector3d< double > &p2, const Vector3d< double > &p3) const
 
bool PointInTriYZ (const Vector3d< double > &p1, const Vector3d< double > &p2, const Vector3d< double > &p3) const
 
bool PointTestXY (const Vector3d< double > &i, const Vector3d< double > &j) const
 
const Type * Ptr () const
 
Type * Ptr ()
 
void Reflection (const Vector3d< Type > &a, const Vector3d< Type > &b)
 
void ScaleSumScale (double c0, double c1, const Vector3d< double > &pos)
 
void Set (const int *p)
 
void Set (const double *p)
 
void Set (Type a, Type b, Type c)
 
void SetX (Type t)
 
void SetY (Type t)
 
void SetZ (Type t)
 
void SwapYZ (void)
 
 Vector3d (void)
 
 Vector3d (const Vector3d &a)
 
 Vector3d (Type a, Type b, Type c)
 
 Vector3d (const double *t)
 
 Vector3d (const int *t)
 
Type X (void) const
 
Type Y (void) const
 
Type Z (void) const
 
void Zero (void)
 

Public Attributes

Type x
 
Type y
 
Type z
 

Detailed Description

template<class Type>
class ConvexDecomposition::Vector3d< Type >

Definition at line 82 of file cd_vector.h.

Constructor & Destructor Documentation

◆ Vector3d() [1/5]

template<class Type>
ConvexDecomposition::Vector3d< Type >::Vector3d ( void  )
inline

Definition at line 85 of file cd_vector.h.

◆ Vector3d() [2/5]

template<class Type>
ConvexDecomposition::Vector3d< Type >::Vector3d ( const Vector3d< Type > &  a)
inline

Definition at line 87 of file cd_vector.h.

◆ Vector3d() [3/5]

template<class Type>
ConvexDecomposition::Vector3d< Type >::Vector3d ( Type  a,
Type  b,
Type  c 
)
inline

Definition at line 94 of file cd_vector.h.

◆ Vector3d() [4/5]

template<class Type>
ConvexDecomposition::Vector3d< Type >::Vector3d ( const double *  t)
inline

Definition at line 101 of file cd_vector.h.

◆ Vector3d() [5/5]

template<class Type>
ConvexDecomposition::Vector3d< Type >::Vector3d ( const int *  t)
inline

Definition at line 108 of file cd_vector.h.

Member Function Documentation

◆ AngleAxis()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::AngleAxis ( Type  angle,
const Vector3d< Type > &  axis 
)
inline

Definition at line 384 of file cd_vector.h.

◆ Area()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Area ( const Vector3d< Type > &  p1,
const Vector3d< Type > &  p2 
) const
inline

Definition at line 494 of file cd_vector.h.

◆ BinaryEqual() [1/2]

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::BinaryEqual ( const Vector3d< double > &  p) const
inline

Definition at line 348 of file cd_vector.h.

◆ BinaryEqual() [2/2]

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::BinaryEqual ( const Vector3d< int > &  p) const
inline

Definition at line 360 of file cd_vector.h.

◆ ComputeNormal()

template<class Type>
double ConvexDecomposition::Vector3d< Type >::ComputeNormal ( const Vector3d< double > &  A,
const Vector3d< double > &  B,
const Vector3d< double > &  C 
)
inline

Definition at line 206 of file cd_vector.h.

◆ ComputePlane()

template<class Type>
double ConvexDecomposition::Vector3d< Type >::ComputePlane ( const Vector3d< double > &  A,
const Vector3d< double > &  B,
const Vector3d< double > &  C 
)
inline

Definition at line 397 of file cd_vector.h.

◆ Concave()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::Concave ( const Vector3d< double > &  a,
const Vector3d< double > &  b 
)
inline

Definition at line 582 of file cd_vector.h.

◆ Cross() [1/2]

template<class Type>
Vector3d<Type> ConvexDecomposition::Vector3d< Type >::Cross ( const Vector3d< Type > &  other) const
inline

Definition at line 562 of file cd_vector.h.

◆ Cross() [2/2]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Cross ( const Vector3d< Type > &  a,
const Vector3d< Type > &  b 
)
inline

Definition at line 569 of file cd_vector.h.

◆ Distance()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Distance ( const Vector3d< Type > &  a) const
inline

Definition at line 454 of file cd_vector.h.

◆ Distance2()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Distance2 ( const Vector3d< Type > &  a) const
inline

Definition at line 481 of file cd_vector.h.

◆ DistanceXY()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::DistanceXY ( const Vector3d< Type > &  a) const
inline

Definition at line 473 of file cd_vector.h.

◆ Dot()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Dot ( const Vector3d< Type > &  a) const
inline

Definition at line 556 of file cd_vector.h.

◆ FastDistance()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FastDistance ( const Vector3d< Type > &  a) const
inline

Definition at line 460 of file cd_vector.h.

◆ FasterDistance()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FasterDistance ( const Vector3d< Type > &  a) const
inline

Definition at line 466 of file cd_vector.h.

◆ FasterLength()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FasterLength ( void  ) const
inline

Definition at line 443 of file cd_vector.h.

◆ FasterMagnitude()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FasterMagnitude ( void  ) const
inline

Definition at line 315 of file cd_vector.h.

◆ FasterNormalize()

template<class Type>
double ConvexDecomposition::Vector3d< Type >::FasterNormalize ( void  )
inline

Definition at line 536 of file cd_vector.h.

◆ FastLength()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FastLength ( void  ) const
inline

Definition at line 437 of file cd_vector.h.

◆ FastMagnitude()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::FastMagnitude ( void  ) const
inline

Definition at line 310 of file cd_vector.h.

◆ FastNormalize()

template<class Type>
double ConvexDecomposition::Vector3d< Type >::FastNormalize ( void  )
inline

Definition at line 519 of file cd_vector.h.

◆ Get()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Get ( Type *  v) const
inline

Definition at line 257 of file cd_vector.h.

◆ GetX()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::GetX ( void  ) const
inline

Definition at line 182 of file cd_vector.h.

◆ GetY()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::GetY ( void  ) const
inline

Definition at line 183 of file cd_vector.h.

◆ GetZ()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::GetZ ( void  ) const
inline

Definition at line 184 of file cd_vector.h.

◆ Interpolate()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Interpolate ( const Vector3d< double > &  from,
const Vector3d< double > &  to,
double  offset 
)
inline

Definition at line 332 of file cd_vector.h.

◆ IsSame()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::IsSame ( const Vector3d< double > &  v,
double  epsilon 
) const
inline

Definition at line 194 of file cd_vector.h.

◆ Length()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Length ( void  ) const
inline

Definition at line 391 of file cd_vector.h.

◆ Length2()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Length2 ( void  ) const
inline

Definition at line 448 of file cd_vector.h.

◆ Lerp()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Lerp ( const Vector3d< Type > &  from,
const Vector3d< Type > &  to,
double  slerp 
)
inline

Definition at line 320 of file cd_vector.h.

◆ Magnitude()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Magnitude ( void  ) const
inline

Definition at line 305 of file cd_vector.h.

◆ NearestPointInLine()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::NearestPointInLine ( const Vector3d< Type > &  point,
const Vector3d< Type > &  line0,
const Vector3d< Type > &  line1 
)
inline

Definition at line 721 of file cd_vector.h.

◆ NearestPointInLineSegment()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::NearestPointInLineSegment ( const Vector3d< Type > &  point,
const Vector3d< Type > &  line0,
const Vector3d< Type > &  line1 
)
inline

Definition at line 742 of file cd_vector.h.

◆ NearestPointInPlane() [1/2]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::NearestPointInPlane ( const Vector3d< Type > &  point,
const Vector3d< Type > &  triangle0,
const Vector3d< Type > &  triangle1,
const Vector3d< Type > &  triangle2 
)
inline

Definition at line 770 of file cd_vector.h.

◆ NearestPointInPlane() [2/2]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::NearestPointInPlane ( const Vector3d< Type > &  point,
const Vector3d< Type > &  planePoint,
const Vector3d< Type > &  planeNormal 
)
inline

Definition at line 790 of file cd_vector.h.

◆ NearestPointInTriangle()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::NearestPointInTriangle ( const Vector3d< Type > &  point,
const Vector3d< Type > &  triangle0,
const Vector3d< Type > &  triangle1,
const Vector3d< Type > &  triangle2 
)
inline

Definition at line 803 of file cd_vector.h.

◆ negative()

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::negative ( void  ) const
inline

Definition at line 296 of file cd_vector.h.

◆ Normalize()

template<class Type>
double ConvexDecomposition::Vector3d< Type >::Normalize ( void  )
inline

Definition at line 502 of file cd_vector.h.

◆ operator!=()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::operator!= ( const Vector3d< Type > &  a) const
inline

Definition at line 120 of file cd_vector.h.

◆ operator*()

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator* ( const double  s) const
inline

Definition at line 138 of file cd_vector.h.

◆ operator*=()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::operator*= ( const double  s)
inline

Definition at line 164 of file cd_vector.h.

◆ operator+() [1/2]

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator+ ( const Vector3d< Type > &  A) const
inline

Definition at line 130 of file cd_vector.h.

◆ operator+() [2/2]

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator+ ( const double  s) const
inline

Definition at line 143 of file cd_vector.h.

◆ operator+=() [1/2]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::operator+= ( const Vector3d< Type >  A)
inline

Definition at line 160 of file cd_vector.h.

◆ operator+=() [2/2]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::operator+= ( const double  A)
inline

Definition at line 167 of file cd_vector.h.

◆ operator-() [1/2]

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator- ( const Vector3d< Type > &  A) const
inline

Definition at line 134 of file cd_vector.h.

◆ operator-() [2/2]

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator- ( void  ) const
inline

Definition at line 171 of file cd_vector.h.

◆ operator-=()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::operator-= ( const Vector3d< Type >  A)
inline

Definition at line 162 of file cd_vector.h.

◆ operator/()

template<class Type>
Vector3d ConvexDecomposition::Vector3d< Type >::operator/ ( const double  s) const
inline

Definition at line 150 of file cd_vector.h.

◆ operator/=()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::operator/= ( Type  A)
inline

Definition at line 157 of file cd_vector.h.

◆ operator=()

template<class Type>
Vector3d& ConvexDecomposition::Vector3d< Type >::operator= ( const Vector3d< Type > &  A)
inline

Definition at line 126 of file cd_vector.h.

◆ operator==()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::operator== ( const Vector3d< Type > &  a) const
inline

Definition at line 115 of file cd_vector.h.

◆ operator[]() [1/2]

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::operator[] ( const int  i) const
inline

Definition at line 175 of file cd_vector.h.

◆ operator[]() [2/2]

template<class Type>
Type& ConvexDecomposition::Vector3d< Type >::operator[] ( const int  i)
inline

Definition at line 177 of file cd_vector.h.

◆ Partial()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Partial ( const Vector3d< Type > &  p) const
inline

Definition at line 489 of file cd_vector.h.

◆ PointInTriXY()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::PointInTriXY ( const Vector3d< double > &  p1,
const Vector3d< double > &  p2,
const Vector3d< double > &  p3 
) const
inline

Definition at line 642 of file cd_vector.h.

◆ PointInTriXZ()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::PointInTriXZ ( const Vector3d< double > &  p1,
const Vector3d< double > &  p2,
const Vector3d< double > &  p3 
) const
inline

Definition at line 695 of file cd_vector.h.

◆ PointInTriYZ()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::PointInTriYZ ( const Vector3d< double > &  p1,
const Vector3d< double > &  p2,
const Vector3d< double > &  p3 
) const
inline

Definition at line 668 of file cd_vector.h.

◆ PointTestXY()

template<class Type>
bool ConvexDecomposition::Vector3d< Type >::PointTestXY ( const Vector3d< double > &  i,
const Vector3d< double > &  j 
) const
inline

Definition at line 632 of file cd_vector.h.

◆ Ptr() [1/2]

template<class Type>
const Type* ConvexDecomposition::Vector3d< Type >::Ptr ( ) const
inline

Definition at line 291 of file cd_vector.h.

◆ Ptr() [2/2]

template<class Type>
Type* ConvexDecomposition::Vector3d< Type >::Ptr ( )
inline

Definition at line 292 of file cd_vector.h.

◆ Reflection()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Reflection ( const Vector3d< Type > &  a,
const Vector3d< Type > &  b 
)
inline

Computes the reflection vector between two vectors.

Definition at line 368 of file cd_vector.h.

◆ ScaleSumScale()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::ScaleSumScale ( double  c0,
double  c1,
const Vector3d< double > &  pos 
)
inline

Definition at line 243 of file cd_vector.h.

◆ Set() [1/3]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Set ( const int *  p)
inline

Definition at line 264 of file cd_vector.h.

◆ Set() [2/3]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Set ( const double *  p)
inline

Definition at line 271 of file cd_vector.h.

◆ Set() [3/3]

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Set ( Type  a,
Type  b,
Type  c 
)
inline

Definition at line 279 of file cd_vector.h.

◆ SetX()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::SetX ( Type  t)
inline

Definition at line 190 of file cd_vector.h.

◆ SetY()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::SetY ( Type  t)
inline

Definition at line 191 of file cd_vector.h.

◆ SetZ()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::SetZ ( Type  t)
inline

Definition at line 192 of file cd_vector.h.

◆ SwapYZ()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::SwapYZ ( void  )
inline

Definition at line 250 of file cd_vector.h.

◆ X()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::X ( void  ) const
inline

Definition at line 186 of file cd_vector.h.

◆ Y()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Y ( void  ) const
inline

Definition at line 187 of file cd_vector.h.

◆ Z()

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::Z ( void  ) const
inline

Definition at line 188 of file cd_vector.h.

◆ Zero()

template<class Type>
void ConvexDecomposition::Vector3d< Type >::Zero ( void  )
inline

Definition at line 286 of file cd_vector.h.

Member Data Documentation

◆ x

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::x

Definition at line 896 of file cd_vector.h.

◆ y

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::y

Definition at line 897 of file cd_vector.h.

◆ z

template<class Type>
Type ConvexDecomposition::Vector3d< Type >::z

Definition at line 898 of file cd_vector.h.


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


convex_decomposition
Author(s): John W. Ratcliff
autogenerated on Mon Feb 28 2022 22:06:34