Artec 3D Scanning SDK  2.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
artec::sdk::base::Point4< T > Class Template Reference

4-dimensional point class. More...

#include <artec/sdk/base/Point.h>

Public Types

typedef T value_type
 

Public Member Functions

 Point4 ()
 Constructor. Empty for allocation of the fast points array. More...
 
 Point4 (T tx, T ty, T tz, T tw)
 
 Point4 (const Point4 &ot)
 Copying constructor. More...
 
Point4operator= (const Point4 &ot)
 Assignment operator. More...
 
 Point4 (const Point2< T > &ot)
 Point2 conversion. More...
 
Point4operator= (const Point2< T > &ot)
 
 Point4 (const Point3< T > &ot)
 Point3 conversion. More...
 
Point4operator= (const Point3< T > &ot)
 
template<typename T2 >
 Point4 (const Point4< T2 > &ot)
 Type conversion. More...
 
Point4 operator- () const
 Unary minus. More...
 
 operator T * ()
 Conversion to plain form operator. More...
 
 operator const T * () const
 
double length () const
 Distance of the point from the origin. More...
 
double lengthSquared () const
 Square of distance of the point from the origin. More...
 
void normalize ()
 Normalization to unit vector in the Euclidean norm. More...
 
Point4 normalized () const
 
bool isZero () const
 "Zero" checking More...
 
void reset ()
 Reset values to default. More...
 
template<typename T2 >
Point4< T > & operator+= (const T2 &val)
 
template<typename T2 >
Point4< T > & operator-= (const T2 &val)
 
template<typename T2 >
Point4< T > & operator*= (const T2 &val)
 
template<typename T2 >
Point4< T > & operator/= (const T2 &val)
 
template<typename T2 >
Point4< T > operator+ (const T2 &val) const
 
template<typename T2 >
Point4< T > operator- (const T2 &val) const
 
template<typename T2 >
Point4< T > operator* (const T2 &val) const
 
template<typename T2 >
Point4< T > operator/ (const T2 &val) const
 
Point4operator+= (const Point4 &ot)
 
Point4operator-= (const Point4 &ot)
 
Point4operator*= (const Point4 &ot)
 
Point4operator/= (const Point4 &ot)
 
Point4 operator+ (const Point4 &p2) const
 
Point4 operator- (const Point4 &p2) const
 
Point4 operator* (const Point4 &p2) const
 
Point4 operator/ (const Point4 &p2) const
 
bool operator== (const Point4 &p2) const
 
bool operator!= (const Point4 &p2) const
 
bool operator> (const Point4 &p2) const
 
bool operator>= (const Point4 &p2) const
 
bool operator< (const Point4 &p2) const
 
bool operator<= (const Point4 &p2) const
 

Static Public Member Functions

static T dot (const Point4< T > &p1, const Point4< T > &p2)
 Inner product operator. More...
 

Public Attributes

union {
   struct {
      T   x
 
      T   y
 
      T   z
 
      T   w
 
   } 
 
   T   data [4]
 
}; 
 Point data. More...
 

Static Public Attributes

static const int size_ = 4
 

Detailed Description

template<typename T>
class artec::sdk::base::Point4< T >

4-dimensional point class.

Coordinates are of type T.

Definition at line 26 of file Point.h.

Member Typedef Documentation

template<typename T>
typedef T artec::sdk::base::Point4< T >::value_type

Definition at line 364 of file Point.h.

Constructor & Destructor Documentation

template<typename T>
artec::sdk::base::Point4< T >::Point4 ( )
inlineexplicit

Constructor. Empty for allocation of the fast points array.

Definition at line 367 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::Point4 ( tx,
ty,
tz,
tw 
)
inlineexplicit

Definition at line 369 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::Point4 ( const Point4< T > &  ot)
inline

Copying constructor.

Definition at line 372 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::Point4 ( const Point2< T > &  ot)
inline

Point2 conversion.

Definition at line 378 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::Point4 ( const Point3< T > &  ot)
inline

Point3 conversion.

Definition at line 382 of file Point.h.

template<typename T>
template<typename T2 >
artec::sdk::base::Point4< T >::Point4 ( const Point4< T2 > &  ot)
inlineexplicit

Type conversion.

Definition at line 386 of file Point.h.

Member Function Documentation

template<typename T>
static T artec::sdk::base::Point4< T >::dot ( const Point4< T > &  p1,
const Point4< T > &  p2 
)
inlinestatic

Inner product operator.

Definition at line 432 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::isZero ( ) const
inline

"Zero" checking

Definition at line 470 of file Point.h.

template<typename T>
double artec::sdk::base::Point4< T >::length ( ) const
inline

Distance of the point from the origin.

Definition at line 442 of file Point.h.

template<typename T>
double artec::sdk::base::Point4< T >::lengthSquared ( ) const
inline

Square of distance of the point from the origin.

Definition at line 445 of file Point.h.

template<typename T>
void artec::sdk::base::Point4< T >::normalize ( )
inline

Normalization to unit vector in the Euclidean norm.

Definition at line 448 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::normalized ( ) const
inline

Definition at line 460 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::operator const T * ( ) const
inline

Definition at line 439 of file Point.h.

template<typename T>
artec::sdk::base::Point4< T >::operator T * ( )
inline

Conversion to plain form operator.

Definition at line 438 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator!= ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 424 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T> artec::sdk::base::Point4< T >::operator* ( const T2 &  val) const
inline

Arithmetical operations with the scalar type

Definition at line 399 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::operator* ( const Point4< T > &  p2) const
inline

Arithmetical operations with point

Definition at line 414 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T>& artec::sdk::base::Point4< T >::operator*= ( const T2 &  val)
inline

Arithmetical operations with the scalar type

Definition at line 392 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator*= ( const Point4< T > &  ot)
inline

Arithmetical operations with point

Definition at line 409 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T> artec::sdk::base::Point4< T >::operator+ ( const T2 &  val) const
inline

Arithmetical operations with the scalar type

Definition at line 395 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::operator+ ( const Point4< T > &  p2) const
inline

Arithmetical operations with point

Definition at line 412 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T>& artec::sdk::base::Point4< T >::operator+= ( const T2 &  val)
inline

Arithmetical operations with the scalar type

Definition at line 390 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator+= ( const Point4< T > &  ot)
inline

Arithmetical operations with point

Definition at line 407 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T> artec::sdk::base::Point4< T >::operator- ( const T2 &  val) const
inline

Arithmetical operations with the scalar type

Definition at line 397 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::operator- ( const Point4< T > &  p2) const
inline

Arithmetical operations with point

Definition at line 413 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::operator- ( ) const
inline

Unary minus.

Definition at line 419 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T>& artec::sdk::base::Point4< T >::operator-= ( const T2 &  val)
inline

Arithmetical operations with the scalar type

Definition at line 391 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator-= ( const Point4< T > &  ot)
inline

Arithmetical operations with point

Definition at line 408 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T> artec::sdk::base::Point4< T >::operator/ ( const T2 &  val) const
inline

Arithmetical operations with the scalar type

Definition at line 401 of file Point.h.

template<typename T>
Point4 artec::sdk::base::Point4< T >::operator/ ( const Point4< T > &  p2) const
inline

Arithmetical operations with point

Definition at line 415 of file Point.h.

template<typename T>
template<typename T2 >
Point4<T>& artec::sdk::base::Point4< T >::operator/= ( const T2 &  val)
inline

Arithmetical operations with the scalar type

Definition at line 393 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator/= ( const Point4< T > &  ot)
inline

Arithmetical operations with point

Definition at line 410 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator< ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 427 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator<= ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 428 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator= ( const Point4< T > &  ot)
inline

Assignment operator.

Definition at line 375 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator= ( const Point2< T > &  ot)
inline

Definition at line 379 of file Point.h.

template<typename T>
Point4& artec::sdk::base::Point4< T >::operator= ( const Point3< T > &  ot)
inline

Definition at line 383 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator== ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 423 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator> ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 425 of file Point.h.

template<typename T>
bool artec::sdk::base::Point4< T >::operator>= ( const Point4< T > &  p2) const
inline

Logical operations

Definition at line 426 of file Point.h.

template<typename T>
void artec::sdk::base::Point4< T >::reset ( )
inline

Reset values to default.

Definition at line 473 of file Point.h.

Member Data Documentation

union { ... }

Point data.

template<typename T>
T artec::sdk::base::Point4< T >::data[4]

Definition at line 485 of file Point.h.

template<typename T>
const int artec::sdk::base::Point4< T >::size_ = 4
static

Definition at line 488 of file Point.h.

template<typename T>
T artec::sdk::base::Point4< T >::w

Definition at line 482 of file Point.h.

template<typename T>
T artec::sdk::base::Point4< T >::x

Definition at line 482 of file Point.h.

template<typename T>
T artec::sdk::base::Point4< T >::y

Definition at line 482 of file Point.h.

template<typename T>
T artec::sdk::base::Point4< T >::z

Definition at line 482 of file Point.h.


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