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

osg::Vec3d Class Reference

General purpose double triple for use as vertices, vectors and normals. More...

List of all members.

Public Types

typedef double value_type
 Type of Vec class.

enum  { num_components = 3 }
 Number of vector components. More...


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
 Dot product.

const Vec3d operator^ (const Vec3d &rhs) const
 Cross product.

const Vec3d operator * (value_type rhs) const
 Multiply by scalar.

Vec3doperator *= (value_type rhs)
 Unary multiply by scalar.

const Vec3d operator/ (value_type rhs) const
 Divide by scalar.

Vec3doperator/= (value_type rhs)
 Unary divide by scalar.

const Vec3d operator+ (const Vec3d &rhs) const
 Binary vector add.

Vec3doperator+= (const Vec3d &rhs)
 Unary vector add.

const Vec3d operator- (const Vec3d &rhs) const
 Binary vector subtract.

Vec3doperator-= (const Vec3d &rhs)
 Unary vector subtract.

const Vec3d operator- () const
 Negation operator.

value_type length () const
 Length of the vector = sqrt( vec .

value_type length2 () const
 Length squared of the vector = vec .

value_type normalize ()
 Normalize the vector so that it has length unity.


Public Attributes

value_type _v [3]
 Vec member varaible.


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
 

Type of Vec class.


Member Enumeration Documentation

anonymous enum
 

Number of vector components.

Enumeration values:
num_components 


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]
 

Vec member varaible.


The documentation for this class was generated from the following file:
Generated at Thu Nov 24 16:24:01 2005 for the OpenSceneGraph by doxygen 1.3.6.