Vec3 Class Reference

Three dimensional vector class, using Real precision. More...

#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
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  )  [inline, explicit]

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  )  [inline, explicit]

Definition at line 68 of file vec3.hh.

Vec3 ( const double  v[3]  )  [inline, explicit]

explicit initialization with an array of doubles

Definition at line 71 of file vec3.hh.

Vec3 ( const float  v[3]  )  [inline, explicit]

explicit initialization with an array of floats

Definition at line 74 of file vec3.hh.


Member Function Documentation

const Real& At ( size_t  indx  )  const [inline]

Definition at line 112 of file vec3.hh.

Real& At ( size_t  indx  )  [inline]

Definition at line 105 of file vec3.hh.

const Real* Data (  )  const [inline]

Definition at line 185 of file vec3.hh.

Real* Data (  )  [inline]

Definition at line 184 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+= ( Real  d  )  [inline]

Definition at line 135 of file vec3.hh.

Vec3& operator+= ( const Vec3 rhs  )  [inline]

addable op

Definition at line 127 of file vec3.hh.

Vec3 operator- (  )  const [inline]

negateable

Definition at line 160 of file vec3.hh.

Vec3& operator-= ( Real  d  )  [inline]

Definition at line 152 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]

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.

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

const element access

Definition at line 99 of file vec3.hh.

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

element access

Definition at line 92 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

Definition at line 187 of file vec3.hh.

Definition at line 188 of file vec3.hh.

Definition at line 189 of file vec3.hh.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 1 Mar 2018 for OpenStructure by  doxygen 1.6.1