Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::Vec3d Class Reference

List of all members.

Public Types

typedef double value_type

Public Member Functions

 Vec3d ()
 Vec3d (const Vec3f &vec)
 operator Vec3f () const
 Vec3d (value_type x, value_type y, value_type z)
 Vec3d (const Vec2d &v2, value_type zz)
bool operator== (const Vec3d &v) const
bool operator!= (const Vec3d &v) const
bool operator< (const Vec3d &v) const
value_typeptr ()
const value_typeptr () const
void set (value_type x, value_type y, value_type z)
void set (const Vec3d &rhs)
value_typeoperator[] (int i)
value_type operator[] (int i) const
value_typex ()
value_typey ()
value_typez ()
value_type x () const
value_type y () const
value_type z () const
bool valid () const
bool isNaN () const
value_type operator * (const Vec3d &rhs) const
const Vec3d operator^ (const Vec3d &rhs) const
const Vec3d operator * (value_type rhs) const
Vec3doperator *= (value_type rhs)
const Vec3d operator/ (value_type rhs) const
Vec3doperator/= (value_type rhs)
const Vec3d operator+ (const Vec3d &rhs) const
Vec3doperator+= (const Vec3d &rhs)
const Vec3d operator- (const Vec3d &rhs) const
Vec3doperator-= (const Vec3d &rhs)
const Vec3d operator- () const
value_type length () const
value_type length2 () const
value_type normalize ()

Public Attributes

value_type _v [3]

Detailed Description

General purpose double triple for use as vertices, vectors and normals. Provides general math operations from addition through to cross products. No support yet added for double * Vec3d - is it necessary? Need to define a non-member non-friend operator* etc. Vec3d * double is okay


Member Typedef Documentation

typedef double osg::Vec3d::value_type
 


Constructor & Destructor Documentation

osg::Vec3d::Vec3d  )  [inline]
 

osg::Vec3d::Vec3d const Vec3f vec  )  [inline]
 

osg::Vec3d::Vec3d value_type  x,
value_type  y,
value_type  z
[inline]
 

osg::Vec3d::Vec3d const Vec2d v2,
value_type  zz
[inline]
 


Member Function Documentation

bool osg::Vec3d::isNaN  )  const [inline]
 

value_type osg::Vec3d::length  )  const [inline]
 

Length of the vector = sqrt( vec . vec )

value_type osg::Vec3d::length2  )  const [inline]
 

Length squared of the vector = vec . vec

value_type osg::Vec3d::normalize  )  [inline]
 

Normalize the vector so that it has length unity. Returns the previous length of the vector.

const Vec3d osg::Vec3d::operator * value_type  rhs  )  const [inline]
 

Multiply by scalar.

value_type osg::Vec3d::operator * const Vec3d rhs  )  const [inline]
 

Dot product.

Vec3d& osg::Vec3d::operator *= value_type  rhs  )  [inline]
 

Unary multiply by scalar.

osg::Vec3d::operator Vec3f  )  const [inline]
 

bool osg::Vec3d::operator!= const Vec3d v  )  const [inline]
 

const Vec3d osg::Vec3d::operator+ const Vec3d rhs  )  const [inline]
 

Binary vector add.

Vec3d& osg::Vec3d::operator+= const Vec3d rhs  )  [inline]
 

Unary vector add. Slightly more efficient because no temporary intermediate object.

const Vec3d osg::Vec3d::operator-  )  const [inline]
 

Negation operator. Returns the negative of the Vec3d.

const Vec3d osg::Vec3d::operator- const Vec3d rhs  )  const [inline]
 

Binary vector subtract.

Vec3d& osg::Vec3d::operator-= const Vec3d rhs  )  [inline]
 

Unary vector subtract.

const Vec3d osg::Vec3d::operator/ value_type  rhs  )  const [inline]
 

Divide by scalar.

Vec3d& osg::Vec3d::operator/= value_type  rhs  )  [inline]
 

Unary divide by scalar.

bool osg::Vec3d::operator< const Vec3d v  )  const [inline]
 

bool osg::Vec3d::operator== const Vec3d v  )  const [inline]
 

value_type osg::Vec3d::operator[] int  i  )  const [inline]
 

value_type& osg::Vec3d::operator[] int  i  )  [inline]
 

const Vec3d osg::Vec3d::operator^ const Vec3d rhs  )  const [inline]
 

Cross product.

const value_type* osg::Vec3d::ptr  )  const [inline]
 

value_type* osg::Vec3d::ptr  )  [inline]
 

void osg::Vec3d::set const Vec3d rhs  )  [inline]
 

void osg::Vec3d::set value_type  x,
value_type  y,
value_type  z
[inline]
 

bool osg::Vec3d::valid  )  const [inline]
 

value_type osg::Vec3d::x  )  const [inline]
 

value_type& osg::Vec3d::x  )  [inline]
 

value_type osg::Vec3d::y  )  const [inline]
 

value_type& osg::Vec3d::y  )  [inline]
 

value_type osg::Vec3d::z  )  const [inline]
 

value_type& osg::Vec3d::z  )  [inline]
 


Member Data Documentation

value_type osg::Vec3d::_v[3]
 


The documentation for this class was generated from the following file:
Generated on Wed Jun 7 04:50:07 2006 for OpenSceneGraph by  doxygen 1.4.4