ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Vector3Tpl< Type > Class Template Reference

3D Vector (templated version) More...

#include <CVGeom.h>

Inheritance diagram for Vector3Tpl< Type >:
Collaboration diagram for Vector3Tpl< Type >:

Public Member Functions

 Vector3Tpl ()
 Default constructor. More...
 
 Vector3Tpl (Type _x, Type _y, Type _z)
 Constructor from a triplet of coordinates. More...
 
 Vector3Tpl (const Type p[])
 Constructor from an array of 3 elements. More...
 
 Vector3Tpl (const Vector2Tpl< Type > &t2D, Type c)
 Constructor from a 2D vector (and a third value) More...
 
 operator Vector3Tpl< double > () const
 
Vector3Tpl< double > toDouble () const
 Cast operator to a double vector (explicit call version) More...
 
Vector3Tpl< float > toFloat () const
 
Vector3Tpl< PointCoordinateTypetoPC () const
 
 Vector3Tpl (const Eigen::Matrix< float, 3, 1 > &v)
 Copy Function. More...
 
 Vector3Tpl (const Eigen::Matrix< double, 3, 1 > &v)
 
Vector3Tploperator= (const Eigen::Matrix< double, 3, 1 > &v)
 Assignment Function. More...
 
Vector3Tploperator= (const Eigen::Matrix< float, 3, 1 > &v)
 
Vector3Tploperator+= (const Eigen::Matrix< double, 3, 1 > &v)
 In-place addition operator. More...
 
Vector3Tploperator-= (const Eigen::Matrix< double, 3, 1 > &v)
 In-place subtraction operator. More...
 
Vector3Tploperator*= (const Eigen::Matrix< double, 3, 1 > &v)
 In-place product operator. More...
 
Vector3Tpl operator- (const Eigen::Matrix< double, 3, 1 > &v) const
 Subtraction operator. More...
 
Vector3Tpl operator+ (const Eigen::Matrix< double, 3, 1 > &v) const
 Addition operator. More...
 
Vector3Tpl operator* (const Eigen::Matrix< double, 3, 1 > &v) const
 Cross product operator. More...
 
Type operator&& (const Eigen::Matrix< double, 3, 1 > &v) const
 Dot product operator. More...
 
Type & operator() (unsigned i)
 Direct coordinate access. More...
 
const Type & operator() (unsigned i) const
 Direct coordinate access (const) More...
 
Type maxCoeff () const
 x,y,z maximum More...
 
Type prod () const
 x,y,z product More...
 
Type dot (const Vector3Tpl &v) const
 Dot product. More...
 
Vector3Tpl cross (const Vector3Tpl &v) const
 Cross product. More...
 
Type norm2 () const
 Returns vector square norm. More...
 
double norm2d () const
 Returns vector square norm (forces double precision output) More...
 
Type norm () const
 Returns vector norm. More...
 
double normd () const
 Returns vector norm (forces double precision output) More...
 
void normalize ()
 Sets vector norm to unity. More...
 
Vector3Tpl orthogonal () const
 Returns a normalized vector which is orthogonal to this one. More...
 
Vector3Tpl operator- () const
 Inverse operator. More...
 
Vector3Tploperator+= (const Vector3Tpl &v)
 In-place addition operator. More...
 
Vector3Tploperator-= (const Vector3Tpl &v)
 In-place subtraction operator. More...
 
Vector3Tploperator*= (Type v)
 In-place multiplication (by a scalar) operator. More...
 
Vector3Tploperator/= (Type v)
 In-place division (by a scalar) operator. More...
 
Vector3Tpl operator+ (const Vector3Tpl &v) const
 Addition operator. More...
 
Vector3Tpl operator- (const Vector3Tpl &v) const
 Subtraction operator. More...
 
Vector3Tpl operator* (Type s) const
 Multiplication operator. More...
 
Vector3Tpl operator/ (Type s) const
 Division operator. More...
 
Vector3Tpl operator* (const Vector3Tpl &v) const
 Cross product operator. More...
 
Type operator&& (const Vector3Tpl &v) const
 Dot product operator. More...
 
Type & operator[] (unsigned i)
 Direct coordinate access. More...
 
const Type & operator[] (unsigned i) const
 Direct coordinate access (const) More...
 
Type angle_rad (const Vector3Tpl &v) const
 Returns the angle to another vector (in radians - in [0, pi]. More...
 
double angle_radd (const Vector3Tpl &v) const
 
- Public Member Functions inherited from Tuple3Tpl< Type >
std::size_t rows () const
 
std::size_t dimensions () const
 
Type * data ()
 
const Type * data () const
 
 Tuple3Tpl ()
 Default constructor. More...
 
 Tuple3Tpl (Type a, Type b, Type c)
 Constructor from a triplet of values. More...
 
 Tuple3Tpl (const Type p[])
 Constructor from an array of 3 elements. More...
 
Tuple3Tpl operator- () const
 Inverse operator. More...
 
Tuple3Tploperator+= (const Tuple3Tpl &v)
 In-place addition operator. More...
 
Tuple3Tploperator-= (const Tuple3Tpl &v)
 In-place subtraction operator. More...
 
Tuple3Tploperator*= (Type v)
 In-place multiplication (by a scalar) operator. More...
 
Tuple3Tploperator/= (Type v)
 In-place division (by a scalar) operator. More...
 
Tuple3Tpl operator+ (const Tuple3Tpl &v) const
 Addition operator. More...
 
Tuple3Tpl operator- (const Tuple3Tpl &v) const
 Subtraction operator. More...
 
Tuple3Tpl operator* (Type s) const
 Multiplication operator. More...
 
Tuple3Tpl operator/ (Type s) const
 Division operator. More...
 

Static Public Member Functions

static Vector3Tpl fromArray (const int a[3])
 Constructor from an int array. More...
 
static Vector3Tpl fromArray (const float a[3])
 Constructor from a float array. More...
 
static Vector3Tpl fromArray (const double a[3])
 Constructor from a double array. More...
 
static Vector3Tpl fromArray (const Eigen::Matrix< double, 3, 1 > &a)
 Constructor from a Eigen vector. More...
 
static Eigen::Matrix< Type, 3, 1 > fromArray (const Vector3Tpl< float > &a)
 
static Eigen::Matrix< Type, 3, 1 > fromArray (const Vector3Tpl< double > &a)
 
static std::vector< Eigen::Matrix< double, 3, 1 > > fromArrayContainer (const std::vector< Vector3Tpl< Type >> &container)
 
static std::vector< Vector3TplfromArrayContainer (const std::vector< Eigen::Matrix< double, 3, 1 >> &container)
 
static void vdivide (const Type p[], Type s, Type r[])
 
static void vdivide (Type p[], Type s)
 
static void vmultiply (const Type p[], Type s, Type r[])
 
static void vmultiply (Type p[], Type s)
 
static Type vdot (const Type p[], const Type q[])
 
static double vdotd (const Type p[], const Type q[])
 
static void vcross (const Type p[], const Type q[], Type r[])
 
static void vcopy (const Type p[], Type q[])
 
static void vset (Type p[], Type s)
 
static void vset (Type p[], Type x, Type y, Type z)
 
static void vadd (const Type p[], const Type q[], Type r[])
 
static void vsubstract (const Type p[], const Type q[], Type r[])
 
static void vcombination (Type a, const Type p[], Type b, const Type q[], Type r[])
 
static void vcombination (const Type p[], Type b, const Type q[], Type r[])
 
static void vnormalize (Type p[])
 
static Type vnorm2 (const Type p[])
 
static double vnorm2d (const Type p[])
 
static Type vdistance2 (const Type p[], const Type q[])
 
static double vdistance2d (const Type p[], const Type q[])
 
static Type vnorm (const Type p[])
 
static double vnormd (const Type p[])
 
static Type vdistance (const Type p[], const Type q[])
 
static double vdistanced (const Type p[], const Type q[])
 
static void vorthogonal (const Type p[], Type q[])
 
static Type vangle_rad (const Type p[], const Type q[])
 
static double vangle_radd (const Type p[], const Type q[])
 

Additional Inherited Members

- Public Attributes inherited from Tuple3Tpl< Type >
union {
   struct {
      Type   x
 
      Type   y
 
      Type   z
 
   } 
 
   Type   u [3]
 
}; 
 

Detailed Description

template<typename Type>
class Vector3Tpl< Type >

3D Vector (templated version)

Definition at line 223 of file CVGeom.h.

Constructor & Destructor Documentation

◆ Vector3Tpl() [1/6]

◆ Vector3Tpl() [2/6]

template<typename Type >
Vector3Tpl< Type >::Vector3Tpl ( Type  _x,
Type  _y,
Type  _z 
)
inline

Constructor from a triplet of coordinates.

Inits vector to (x,y,z).

Definition at line 240 of file CVGeom.h.

◆ Vector3Tpl() [3/6]

template<typename Type >
Vector3Tpl< Type >::Vector3Tpl ( const Type  p[])
inlineexplicit

Constructor from an array of 3 elements.

Definition at line 244 of file CVGeom.h.

◆ Vector3Tpl() [4/6]

template<typename Type >
Vector3Tpl< Type >::Vector3Tpl ( const Vector2Tpl< Type > &  t2D,
Type  c 
)
inlineexplicit

Constructor from a 2D vector (and a third value)

Definition at line 247 of file CVGeom.h.

◆ Vector3Tpl() [5/6]

template<typename Type >
Vector3Tpl< Type >::Vector3Tpl ( const Eigen::Matrix< float, 3, 1 > &  v)
inline

Copy Function.

Definition at line 327 of file CVGeom.h.

◆ Vector3Tpl() [6/6]

template<typename Type >
Vector3Tpl< Type >::Vector3Tpl ( const Eigen::Matrix< double, 3, 1 > &  v)
inline

Definition at line 328 of file CVGeom.h.

Member Function Documentation

◆ angle_rad()

template<typename Type >
Type Vector3Tpl< Type >::angle_rad ( const Vector3Tpl< Type > &  v) const
inline

Returns the angle to another vector (in radians - in [0, pi].

Definition at line 497 of file CVGeom.h.

References Tuple3Tpl< Type >::u, and Vector3Tpl< Type >::vangle_rad().

◆ angle_radd()

template<typename Type >
double Vector3Tpl< Type >::angle_radd ( const Vector3Tpl< Type > &  v) const
inline

Definition at line 498 of file CVGeom.h.

References Tuple3Tpl< Type >::u, and Vector3Tpl< Type >::vangle_radd().

◆ cross()

◆ dot()

template<typename Type >
Type Vector3Tpl< Type >::dot ( const Vector3Tpl< Type > &  v) const
inline

Dot product.

Definition at line 408 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

Referenced by qCanupo2DViewDialog::addOrSelectPoint(), FacetsClassifier::CommputeHDistBetweenFacets(), cloudViewer::DistanceComputationTools::computeCloud2BoxEquation(), cloudViewer::DistanceComputationTools::computeCloud2ConeEquation(), cloudViewer::DistanceComputationTools::computeCloud2CylinderEquation(), cloudViewer::DistanceComputationTools::computeCloud2RectangleEquation(), ComputeFacetExtensions(), cloudViewer::Neighbourhood::computeLeastSquareBestFittingPlane(), cloudViewer::Neighbourhood::computeMomentOrder1(), cloudViewer::DistanceComputationTools::computePoint2LineSegmentDistSquared(), cloudViewer::DistanceComputationTools::computePoint2TriangleDistance(), FastMarchingForFacetExtraction::computeTCoefApprox(), qFacets::createFacets(), ccCropTool::Crop(), cloudViewer::GeometricalAnalysisTools::DetectCircle(), Plane::distance(), ccCompass::estimateStructureNormals(), cloudViewer::FPCSRegistrationTools::FindBase(), ccTrace::fitPlane(), ccGLMatrixTpl< T >::FromToRotation(), ccKdTreeForFacetExtraction::FuseCells(), cloudViewer::DgmOctree::getPointsInCylindricalNeighbourhood(), cloudViewer::DgmOctree::getPointsInCylindricalNeighbourhoodProgressive(), ccCompass::importFoliations(), ccCompassImport::importFoliations(), cloudViewer::DistanceComputationTools::intersectMeshWithOctree(), cloudViewer::Grid3D< Type >::intersectWith(), cloudViewer::FPCSRegistrationTools::LinesIntersections(), MainWindow::onItemPicked(), Vector3Tpl< Type >::operator&&(), OrientPointNormalWithCloud(), cloudViewer::Neighbourhood::projectPointsOn2DPlane(), cloudViewer::RegistrationTools::RegistrationProcedure(), ccLineation::updateMetadata(), ccThickness::updateMetadata(), and ccPlaneEditDlg::updatePlane().

◆ fromArray() [1/6]

template<typename Type >
static Vector3Tpl Vector3Tpl< Type >::fromArray ( const double  a[3])
inlinestatic

Constructor from a double array.

Definition at line 278 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl().

◆ fromArray() [2/6]

template<typename Type >
static Vector3Tpl Vector3Tpl< Type >::fromArray ( const Eigen::Matrix< double, 3, 1 > &  a)
inlinestatic

Constructor from a Eigen vector.

Definition at line 284 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl().

◆ fromArray() [3/6]

template<typename Type >
static Vector3Tpl Vector3Tpl< Type >::fromArray ( const float  a[3])
inlinestatic

Constructor from a float array.

Definition at line 273 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl().

◆ fromArray() [4/6]

template<typename Type >
static Vector3Tpl Vector3Tpl< Type >::fromArray ( const int  a[3])
inlinestatic

Constructor from an int array.

Definition at line 268 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl().

Referenced by ccGLMatrixTpl< T >::getColumnAsVec3D(), Vector3Tpl< Type >::toFloat(), and Vector3Tpl< Type >::toPC().

◆ fromArray() [5/6]

template<typename Type >
static Eigen::Matrix<Type, 3, 1> Vector3Tpl< Type >::fromArray ( const Vector3Tpl< double > &  a)
inlinestatic

Definition at line 294 of file CVGeom.h.

◆ fromArray() [6/6]

template<typename Type >
static Eigen::Matrix<Type, 3, 1> Vector3Tpl< Type >::fromArray ( const Vector3Tpl< float > &  a)
inlinestatic

Definition at line 288 of file CVGeom.h.

◆ fromArrayContainer() [1/2]

template<typename Type >
static std::vector<Vector3Tpl> Vector3Tpl< Type >::fromArrayContainer ( const std::vector< Eigen::Matrix< double, 3, 1 >> &  container)
inlinestatic

Definition at line 314 of file CVGeom.h.

References points, and Vector3Tpl< Type >::Vector3Tpl().

◆ fromArrayContainer() [2/2]

template<typename Type >
static std::vector<Eigen::Matrix<double, 3, 1> > Vector3Tpl< Type >::fromArrayContainer ( const std::vector< Vector3Tpl< Type >> &  container)
inlinestatic

Definition at line 301 of file CVGeom.h.

References points.

◆ maxCoeff()

template<typename Type >
Type Vector3Tpl< Type >::maxCoeff ( ) const
inline

x,y,z maximum

Definition at line 402 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ norm()

◆ norm2()

◆ norm2d()

◆ normalize()

◆ normd()

◆ operator Vector3Tpl< double >()

template<typename Type >
Vector3Tpl< Type >::operator Vector3Tpl< double > ( ) const
inline

Cast operator to a double vector (no loss of precision, can be done silently)

Definition at line 252 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator&&() [1/2]

template<typename Type >
Type Vector3Tpl< Type >::operator&& ( const Eigen::Matrix< double, 3, 1 > &  v) const
inline

Dot product operator.

Definition at line 385 of file CVGeom.h.

References Vector3Tpl< Type >::dot().

◆ operator&&() [2/2]

template<typename Type >
Type Vector3Tpl< Type >::operator&& ( const Vector3Tpl< Type > &  v) const
inline

Dot product operator.

Definition at line 491 of file CVGeom.h.

References Vector3Tpl< Type >::dot().

◆ operator()() [1/2]

template<typename Type >
Type& Vector3Tpl< Type >::operator() ( unsigned  i)
inline

Direct coordinate access.

Definition at line 397 of file CVGeom.h.

References Tuple3Tpl< Type >::u.

◆ operator()() [2/2]

template<typename Type >
const Type& Vector3Tpl< Type >::operator() ( unsigned  i) const
inline

Direct coordinate access (const)

Definition at line 399 of file CVGeom.h.

References Tuple3Tpl< Type >::u.

◆ operator*() [1/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator* ( const Eigen::Matrix< double, 3, 1 > &  v) const
inline

Cross product operator.

Definition at line 380 of file CVGeom.h.

References Vector3Tpl< Type >::cross().

◆ operator*() [2/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator* ( const Vector3Tpl< Type > &  v) const
inline

Cross product operator.

Definition at line 489 of file CVGeom.h.

References Vector3Tpl< Type >::cross().

◆ operator*() [3/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator* ( Type  s) const
inline

Multiplication operator.

Definition at line 481 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator*=() [1/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator*= ( const Eigen::Matrix< double, 3, 1 > &  v)
inline

In-place product operator.

Definition at line 360 of file CVGeom.h.

◆ operator*=() [2/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator*= ( Type  v)
inline

In-place multiplication (by a scalar) operator.

Definition at line 459 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator+() [1/2]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator+ ( const Eigen::Matrix< double, 3, 1 > &  v) const
inline

Addition operator.

Definition at line 373 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator+() [2/2]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator+ ( const Vector3Tpl< Type > &  v) const
inline

Addition operator.

Definition at line 473 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator+=() [1/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator+= ( const Eigen::Matrix< double, 3, 1 > &  v)
inline

In-place addition operator.

Definition at line 345 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator+=() [2/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator+= ( const Vector3Tpl< Type > &  v)
inline

In-place addition operator.

Definition at line 445 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator-() [1/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator- ( ) const
inline

Inverse operator.

Definition at line 440 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator-() [2/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator- ( const Eigen::Matrix< double, 3, 1 > &  v) const
inline

Subtraction operator.

Definition at line 366 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator-() [3/3]

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator- ( const Vector3Tpl< Type > &  v) const
inline

Subtraction operator.

Definition at line 477 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator-=() [1/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator-= ( const Eigen::Matrix< double, 3, 1 > &  v)
inline

In-place subtraction operator.

Definition at line 352 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator-=() [2/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator-= ( const Vector3Tpl< Type > &  v)
inline

In-place subtraction operator.

Definition at line 452 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator/()

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::operator/ ( Type  s) const
inline

Division operator.

Definition at line 485 of file CVGeom.h.

References Vector3Tpl< Type >::Vector3Tpl(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator/=()

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator/= ( Type  v)
inline

In-place division (by a scalar) operator.

Definition at line 466 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator=() [1/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator= ( const Eigen::Matrix< double, 3, 1 > &  v)
inline

Assignment Function.

Definition at line 331 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator=() [2/2]

template<typename Type >
Vector3Tpl& Vector3Tpl< Type >::operator= ( const Eigen::Matrix< float, 3, 1 > &  v)
inline

Definition at line 337 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ operator[]() [1/2]

template<typename Type >
Type& Vector3Tpl< Type >::operator[] ( unsigned  i)
inline

Direct coordinate access.

Definition at line 493 of file CVGeom.h.

References Tuple3Tpl< Type >::u.

◆ operator[]() [2/2]

template<typename Type >
const Type& Vector3Tpl< Type >::operator[] ( unsigned  i) const
inline

Direct coordinate access (const)

Definition at line 495 of file CVGeom.h.

References Tuple3Tpl< Type >::u.

◆ orthogonal()

template<typename Type >
Vector3Tpl Vector3Tpl< Type >::orthogonal ( ) const
inline

◆ prod()

template<typename Type >
Type Vector3Tpl< Type >::prod ( ) const
inline

x,y,z product

Definition at line 406 of file CVGeom.h.

References abs(), Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

Referenced by cloudViewer::BoundingBoxTpl< T >::volume().

◆ toDouble()

◆ toFloat()

template<typename Type >
Vector3Tpl<float> Vector3Tpl< Type >::toFloat ( ) const
inline

Cast operator to a float vector (potential loss of precision, should be called explicitely)

Definition at line 258 of file CVGeom.h.

References Vector3Tpl< Type >::fromArray(), and Tuple3Tpl< Type >::u.

◆ toPC()

template<typename Type >
Vector3Tpl<PointCoordinateType> Vector3Tpl< Type >::toPC ( ) const
inline

Cast operator to the default vector type (potential loss of precision, should be called explicitely)

Definition at line 263 of file CVGeom.h.

References Vector3Tpl< Type >::fromArray(), and Tuple3Tpl< Type >::u.

Referenced by cloudViewer::PointProjectionTools::Transformation::apply(), and ccShiftedObject::toLocal3pc().

◆ vadd()

template<typename Type >
static void Vector3Tpl< Type >::vadd ( const Type  p[],
const Type  q[],
Type  r[] 
)
inlinestatic

Definition at line 544 of file CVGeom.h.

◆ vangle_rad()

template<typename Type >
static Type Vector3Tpl< Type >::vangle_rad ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 624 of file CVGeom.h.

References max(), min(), Vector3Tpl< Type >::vdot(), and Vector3Tpl< Type >::vnorm().

Referenced by Vector3Tpl< Type >::angle_rad().

◆ vangle_radd()

template<typename Type >
static double Vector3Tpl< Type >::vangle_radd ( const Type  p[],
const Type  q[] 
)
inlinestatic

◆ vcombination() [1/2]

template<typename Type >
static void Vector3Tpl< Type >::vcombination ( const Type  p[],
Type  b,
const Type  q[],
Type  r[] 
)
inlinestatic

Definition at line 561 of file CVGeom.h.

◆ vcombination() [2/2]

template<typename Type >
static void Vector3Tpl< Type >::vcombination ( Type  a,
const Type  p[],
Type  b,
const Type  q[],
Type  r[] 
)
inlinestatic

Definition at line 555 of file CVGeom.h.

◆ vcopy()

template<typename Type >
static void Vector3Tpl< Type >::vcopy ( const Type  p[],
Type  q[] 
)
inlinestatic

Definition at line 533 of file CVGeom.h.

◆ vcross()

template<typename Type >
static void Vector3Tpl< Type >::vcross ( const Type  p[],
const Type  q[],
Type  r[] 
)
inlinestatic

Definition at line 528 of file CVGeom.h.

◆ vdistance()

template<typename Type >
static Type Vector3Tpl< Type >::vdistance ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 598 of file CVGeom.h.

References Vector3Tpl< Type >::vdistance2().

◆ vdistance2()

template<typename Type >
static Type Vector3Tpl< Type >::vdistance2 ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 581 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vdistance().

◆ vdistance2d()

template<typename Type >
static double Vector3Tpl< Type >::vdistance2d ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 586 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vdistanced().

◆ vdistanced()

template<typename Type >
static double Vector3Tpl< Type >::vdistanced ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 601 of file CVGeom.h.

References Vector3Tpl< Type >::vdistance2d().

◆ vdivide() [1/2]

template<typename Type >
static void Vector3Tpl< Type >::vdivide ( const Type  p[],
Type  s,
Type  r[] 
)
inlinestatic

Definition at line 500 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vnormalize().

◆ vdivide() [2/2]

template<typename Type >
static void Vector3Tpl< Type >::vdivide ( Type  p[],
Type  s 
)
inlinestatic

Definition at line 505 of file CVGeom.h.

◆ vdot()

template<typename Type >
static Type Vector3Tpl< Type >::vdot ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 520 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vangle_rad().

◆ vdotd()

template<typename Type >
static double Vector3Tpl< Type >::vdotd ( const Type  p[],
const Type  q[] 
)
inlinestatic

Definition at line 523 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vangle_radd().

◆ vmultiply() [1/2]

template<typename Type >
static void Vector3Tpl< Type >::vmultiply ( const Type  p[],
Type  s,
Type  r[] 
)
inlinestatic

Definition at line 510 of file CVGeom.h.

◆ vmultiply() [2/2]

template<typename Type >
static void Vector3Tpl< Type >::vmultiply ( Type  p[],
Type  s 
)
inlinestatic

Definition at line 515 of file CVGeom.h.

◆ vnorm()

template<typename Type >
static Type Vector3Tpl< Type >::vnorm ( const Type  p[])
inlinestatic

Definition at line 594 of file CVGeom.h.

References Vector3Tpl< Type >::vnorm2().

Referenced by Vector3Tpl< Type >::vangle_rad().

◆ vnorm2()

template<typename Type >
static Type Vector3Tpl< Type >::vnorm2 ( const Type  p[])
inlinestatic

Definition at line 573 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vnorm(), and Vector3Tpl< Type >::vnormalize().

◆ vnorm2d()

template<typename Type >
static double Vector3Tpl< Type >::vnorm2d ( const Type  p[])
inlinestatic

Definition at line 576 of file CVGeom.h.

Referenced by Vector3Tpl< Type >::vnormd().

◆ vnormalize()

template<typename Type >
static void Vector3Tpl< Type >::vnormalize ( Type  p[])
inlinestatic

◆ vnormd()

template<typename Type >
static double Vector3Tpl< Type >::vnormd ( const Type  p[])
inlinestatic

Definition at line 595 of file CVGeom.h.

References Vector3Tpl< Type >::vnorm2d().

Referenced by Vector3Tpl< Type >::vangle_radd().

◆ vorthogonal()

template<typename Type >
static void Vector3Tpl< Type >::vorthogonal ( const Type  p[],
Type  q[] 
)
inlinestatic

Definition at line 605 of file CVGeom.h.

References abs(), and Vector3Tpl< Type >::vnormalize().

Referenced by Vector3Tpl< Type >::orthogonal().

◆ vset() [1/2]

template<typename Type >
static void Vector3Tpl< Type >::vset ( Type  p[],
Type  s 
)
inlinestatic

Definition at line 538 of file CVGeom.h.

◆ vset() [2/2]

template<typename Type >
static void Vector3Tpl< Type >::vset ( Type  p[],
Type  x,
Type  y,
Type  z 
)
inlinestatic

Definition at line 539 of file CVGeom.h.

References Tuple3Tpl< Type >::x, Tuple3Tpl< Type >::y, and Tuple3Tpl< Type >::z.

◆ vsubstract()

template<typename Type >
static void Vector3Tpl< Type >::vsubstract ( const Type  p[],
const Type  q[],
Type  r[] 
)
inlinestatic

Definition at line 550 of file CVGeom.h.


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