OpenStructure
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Data Fields
Vec3 Class Reference

#include <vec3.hh>

Inherits equality_comparable< Vec3 >, additive< Vec3 >, additive< Vec3, Real >, and multiplicative< Vec3, Real >.

Public Member Functions

 Vec3 ()
 
 Vec3 (Real px, Real py, Real pz)
 
 Vec3 (const Vec3 &v)
 
 Vec3 (const Vec2 &v)
 
 Vec3 (const Vec4 &v)
 
 Vec3 (Real v)
 
 Vec3 (const double v[3])
 
 Vec3 (const float v[3])
 
Vec3operator= (const Vec3 &v)
 
bool operator== (const Vec3 &rhs) const
 
Realoperator[] (std::size_t indx)
 
const Realoperator[] (std::size_t indx) const
 
RealAt (size_t indx)
 
const RealAt (size_t indx) const
 
Real GetX () const
 
Real GetY () const
 
Real GetZ () const
 
void SetX (Real v)
 
void SetY (Real v)
 
void SetZ (Real v)
 
Vec3operator+= (const Vec3 &rhs)
 
Vec3operator+= (Real d)
 
Vec3operator-= (const Vec3 &rhs)
 
Vec3operator-= (Real d)
 
Vec3 operator- () const
 
Vec3operator*= (Real d)
 
Vec3operator/= (Real d)
 
RealData ()
 
const RealData () const
 

Data Fields

Real x
 
Real y
 
Real z
 

Detailed Description

Three dimensional vector class, using Real precision.

Definition at line 42 of file vec3.hh.

Constructor & Destructor Documentation

Vec3 ( )
inline

Default initialization, all components are set to zero.

Definition at line 50 of file vec3.hh.

Vec3 ( Real  px,
Real  py,
Real  pz 
)
inline

Initialization with x, y and z component.

Definition at line 53 of file vec3.hh.

Vec3 ( const Vec3 v)
inline

copy ctor

Definition at line 56 of file vec3.hh.

Vec3 ( const Vec2 v)
inline

(implicit) initialization with 2D vector

Definition at line 340 of file vec3.hh.

Vec3 ( const Vec4 v)
inlineexplicit

explicit initialization with a 4D homogeneous vector

a 4D (homogeneous) vector can be explicitely converted to a 3D vector, resulting in (x/w,y/w,z/w)

Definition at line 342 of file vec3.hh.

Vec3 ( Real  v)
inlineexplicit

Definition at line 68 of file vec3.hh.

Vec3 ( const double  v[3])
inlineexplicit

explicit initialization with an array of doubles

Definition at line 71 of file vec3.hh.

Vec3 ( const float  v[3])
inlineexplicit

explicit initialization with an array of floats

Definition at line 74 of file vec3.hh.

Member Function Documentation

Real& At ( size_t  indx)
inline

Definition at line 105 of file vec3.hh.

const Real& At ( size_t  indx) const
inline

Definition at line 112 of file vec3.hh.

Real* Data ( )
inline

Definition at line 184 of file vec3.hh.

const Real* Data ( ) const
inline

Definition at line 185 of file vec3.hh.

Real GetX ( ) const
inline

element access

Definition at line 119 of file vec3.hh.

Real GetY ( ) const
inline

Definition at line 120 of file vec3.hh.

Real GetZ ( ) const
inline

Definition at line 121 of file vec3.hh.

Vec3& operator*= ( Real  d)
inline

multipliable

Definition at line 166 of file vec3.hh.

Vec3& operator+= ( const Vec3 rhs)
inline

addable op

Definition at line 127 of file vec3.hh.

Vec3& operator+= ( Real  d)
inline

Definition at line 135 of file vec3.hh.

Vec3 operator- ( ) const
inline

negateable

Definition at line 160 of file vec3.hh.

Vec3& operator-= ( const Vec3 rhs)
inline

subtractable op

Definition at line 144 of file vec3.hh.

Vec3& operator-= ( Real  d)
inline

Definition at line 152 of file vec3.hh.

Vec3& operator/= ( Real  d)
inline

dividable

Definition at line 175 of file vec3.hh.

Vec3& operator= ( const Vec3 v)
inline

assignement op

Definition at line 77 of file vec3.hh.

bool operator== ( const Vec3 rhs) const
inline

comparable

Definition at line 86 of file vec3.hh.

Real& operator[] ( std::size_t  indx)
inline

element access

Definition at line 92 of file vec3.hh.

const Real& operator[] ( std::size_t  indx) const
inline

const element access

Definition at line 99 of file vec3.hh.

void SetX ( Real  v)
inline

Definition at line 122 of file vec3.hh.

void SetY ( Real  v)
inline

Definition at line 123 of file vec3.hh.

void SetZ ( Real  v)
inline

Definition at line 124 of file vec3.hh.

Field Documentation

Real x

Definition at line 187 of file vec3.hh.

Real y

Definition at line 188 of file vec3.hh.

Real z

Definition at line 189 of file vec3.hh.


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