class osg::Vec3

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

Public Fields

[more]float _v[3]

Public Methods

[more] Vec3()
[more] Vec3(float x, float y, float z)
[more]bool operator == (const Vec3& v) const
[more]inline float* ptr()
[more]inline const float* ptr() const
[more]inline void set( float x, float y, float z)
[more]inline float& operator [] (int i)
[more]inline float operator [] (int i) const
[more]inline float& x()
[more]inline float& y()
[more]inline float& z()
[more]inline float x() const
[more]inline float y() const
[more]inline float z() const
[more]inline float operator * (const Vec3& rhs) const
dot product
[more]inline Vec3 operator ^ (const Vec3& rhs) const
cross product
[more]inline Vec3 operator * (const float& rhs) const
multiply by scalar
[more]inline Vec3& operator *= (const float& rhs)
unary multiply by scalar
[more]inline Vec3 operator / (const float& rhs) const
divide by scalar
[more]inline Vec3& operator /= (const float& rhs)
unary divide by scalar
[more]inline Vec3 operator + (const Vec3& rhs) const
binary vector add
[more]inline Vec3& operator += (const Vec3& rhs)
unary vector add.
[more]inline Vec3 operator - (const Vec3& rhs) const
binary vector subract
[more]inline Vec3& operator -= (const Vec3& rhs)
unary vector subract
[more]inline Vec3 operator - () const
negation operator. Returns the negative of the Vec3
[more]inline float length( void ) const
Length of the vector = sqrt( vec . vec )
[more]inline float length2( void ) const
Length squared of the vector = vec . vec
[more]inline float normalize()
normalize the vector so that it has length unity returns the previous length of the vector
[more]inline friend ostream& operator << (ostream& output, const Vec3& vec)


Documentation

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

o Vec3(float x, float y, float z)

ofloat _v[3]

obool operator == (const Vec3& v) const

oinline float* ptr()

oinline const float* ptr() const

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

oinline float& operator [] (int i)

oinline float operator [] (int i) const

oinline float& x()

oinline float& y()

oinline float& z()

oinline float x() const

oinline float y() const

oinline float z() const

oinline float operator * (const Vec3& rhs) const
dot product

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

oinline Vec3 operator * (const float& rhs) const
multiply by scalar

oinline Vec3& operator *= (const float& rhs)
unary multiply by scalar

oinline Vec3 operator / (const float& rhs) const
divide by scalar

oinline Vec3& operator /= (const float& rhs)
unary divide by scalar

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

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

oinline Vec3 operator - (const Vec3& rhs) const
binary vector subract

oinline Vec3& operator -= (const Vec3& rhs)
unary vector subract

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

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

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

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

oinline friend ostream& operator << (ostream& output, const Vec3& vec)


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



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