class osg::Vec3d

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

Public Fields

[more]value_type _v[3]

Public Methods

[more] Vec3d()
[more]inline Vec3d(const Vec3f& vec)
[more]inline operator Vec3f() const
[more] Vec3d(value_type x, value_type y, value_type z)
[more]inline bool operator == (const Vec3d& v) const
[more]inline bool operator != (const Vec3d& v) const
[more]inline bool operator < (const Vec3d& v) const
[more]inline value_type* ptr()
[more]inline const value_type* ptr() const
[more]inline void set( value_type x, value_type y, value_type z)
[more]inline void set( const Vec3d& rhs)
[more]inline value_type& operator [] (int i)
[more]inline value_type operator [] (int i) const
[more]inline value_type& x()
[more]inline value_type& y()
[more]inline value_type& z()
[more]inline value_type x() const
[more]inline value_type y() const
[more]inline value_type z() const
[more]inline bool valid() const
[more]inline bool isNaN() const
[more]inline value_type operator * (const Vec3d& rhs) const
dot product
[more]inline const Vec3d operator ^ (const Vec3d& rhs) const
cross product
[more]inline const Vec3d operator * (value_type rhs) const
multiply by scalar
[more]inline Vec3d& operator *= (value_type rhs)
unary multiply by scalar
[more]inline const Vec3d operator / (value_type rhs) const
divide by scalar
[more]inline Vec3d& operator /= (value_type rhs)
unary divide by scalar
[more]inline const Vec3d operator + (const Vec3d& rhs) const
binary vector add
[more]inline Vec3d& operator += (const Vec3d& rhs)
unary vector add.
[more]inline const Vec3d operator - (const Vec3d& rhs) const
binary vector subtract
[more]inline Vec3d& operator -= (const Vec3d& rhs)
unary vector subtract
[more]inline const Vec3d operator - () const
negation operator.
[more]inline value_type length() const
Length of the vector = sqrt( vec .
[more]inline value_type length2() const
Length squared of the vector = vec .
[more]inline value_type normalize()
normalize the vector so that it has length unity returns the previous length of the vector

Public

[more]typedef double value_type


Documentation

General purpose double triple for use as vertices, vectors and normals. Provides general maths 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
otypedef double value_type

ovalue_type _v[3]

o Vec3d()

oinline Vec3d(const Vec3f& vec)

oinline operator Vec3f() const

o Vec3d(value_type x, value_type y, value_type z)

oinline bool operator == (const Vec3d& v) const

oinline bool operator != (const Vec3d& v) const

oinline bool operator < (const Vec3d& v) const

oinline value_type* ptr()

oinline const value_type* ptr() const

oinline void set( value_type x, value_type y, value_type z)

oinline void set( const Vec3d& rhs)

oinline value_type& operator [] (int i)

oinline value_type operator [] (int i) const

oinline value_type& x()

oinline value_type& y()

oinline value_type& z()

oinline value_type x() const

oinline value_type y() const

oinline value_type z() const

oinline bool valid() const

oinline bool isNaN() const

oinline value_type operator * (const Vec3d& rhs) const
dot product

oinline const Vec3d operator ^ (const Vec3d& rhs) const
cross product

oinline const Vec3d operator * (value_type rhs) const
multiply by scalar

oinline Vec3d& operator *= (value_type rhs)
unary multiply by scalar

oinline const Vec3d operator / (value_type rhs) const
divide by scalar

oinline Vec3d& operator /= (value_type rhs)
unary divide by scalar

oinline const Vec3d operator + (const Vec3d& rhs) const
binary vector add

oinline Vec3d& operator += (const Vec3d& rhs)
unary vector add. Slightly more efficient because no temporary intermediate object

oinline const Vec3d operator - (const Vec3d& rhs) const
binary vector subtract

oinline Vec3d& operator -= (const Vec3d& rhs)
unary vector subtract

oinline const Vec3d operator - () const
negation operator. Returns the negative of the Vec3d

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

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

oinline value_type normalize()
normalize the vector so that it has length unity returns the previous length of the vector


This class has no child classes.
Friends:
inline std::ostream& operator << (std::ostream& output, const Vec3d& vec)

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.