OpenStructure
Public Member Functions | Data Fields
Vec3 Class Reference

#include <vec3.hh>

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
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 40 of file vec3.hh.


Constructor & Destructor Documentation

Vec3 ( )
inline

Default initialization, all components are set to zero.

Definition at line 48 of file vec3.hh.

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

Initialization with x, y and z component.

Definition at line 51 of file vec3.hh.

Vec3 ( const Vec3 v)
inline

copy ctor

Definition at line 54 of file vec3.hh.

Vec3 ( const Vec2 v)
inline

(implicit) initialization with 2D vector

Definition at line 222 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 223 of file vec3.hh.

Vec3 ( Real  v)
inlineexplicit

Definition at line 66 of file vec3.hh.

Vec3 ( const double  v[3])
inlineexplicit

explicit initialization with an array of doubles

Definition at line 69 of file vec3.hh.

Vec3 ( const float  v[3])
inlineexplicit

explicit initialization with an array of floats

Definition at line 72 of file vec3.hh.


Member Function Documentation

Real* Data ( )
inline

Definition at line 172 of file vec3.hh.

const Real* Data ( ) const
inline

Definition at line 173 of file vec3.hh.

Real GetX ( ) const
inline

element access

Definition at line 107 of file vec3.hh.

Real GetY ( ) const
inline

Definition at line 108 of file vec3.hh.

Real GetZ ( ) const
inline

Definition at line 109 of file vec3.hh.

Vec3& operator*= ( Real  d)
inline

multipliable

Definition at line 154 of file vec3.hh.

Vec3& operator+= ( const Vec3 rhs)
inline

addable op

Definition at line 115 of file vec3.hh.

Vec3& operator+= ( Real  d)
inline

Definition at line 123 of file vec3.hh.

Vec3 operator- ( ) const
inline

negateable

Definition at line 148 of file vec3.hh.

Vec3& operator-= ( const Vec3 rhs)
inline

subtractable op

Definition at line 132 of file vec3.hh.

Vec3& operator-= ( Real  d)
inline

Definition at line 140 of file vec3.hh.

Vec3& operator/= ( Real  d)
inline

dividable

Definition at line 163 of file vec3.hh.

Vec3& operator= ( const Vec3 v)
inline

assignement op

Definition at line 75 of file vec3.hh.

bool operator== ( const Vec3 rhs) const
inline

comparable

Definition at line 84 of file vec3.hh.

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

element access

Definition at line 90 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 110 of file vec3.hh.

void SetY ( Real  v)
inline

Definition at line 111 of file vec3.hh.

void SetZ ( Real  v)
inline

Definition at line 112 of file vec3.hh.


Field Documentation

Real x

Definition at line 175 of file vec3.hh.

Real y

Definition at line 176 of file vec3.hh.

Real z

Definition at line 177 of file vec3.hh.


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