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

osg::Vec3f Class Reference

List of all members.

Public Types

typedef float value_type

Public Member Functions

 Vec3f ()
 Vec3f (value_type x, value_type y, value_type z)
 Vec3f (const Vec2f &v2, value_type zz)
bool operator== (const Vec3f &v) const
bool operator!= (const Vec3f &v) const
bool operator< (const Vec3f &v) const
value_type * ptr ()
const value_type * ptr () const
void set (value_type x, value_type y, value_type z)
void set (const Vec3f &rhs)
value_type & operator[] (int i)
value_type operator[] (int i) const
value_type & x ()
value_type & y ()
value_type & z ()
value_type x () const
value_type y () const
value_type z () const
bool valid () const
bool isNaN () const
value_type operator * (const Vec3f &rhs) const
const Vec3f operator^ (const Vec3f &rhs) const
const Vec3f operator * (value_type rhs) const
Vec3f & operator *= (value_type rhs)
const Vec3f operator/ (value_type rhs) const
Vec3f & operator/= (value_type rhs)
const Vec3f operator+ (const Vec3f &rhs) const
Vec3f & operator+= (const Vec3f &rhs)
const Vec3f operator- (const Vec3f &rhs) const
Vec3f & operator-= (const Vec3f &rhs)
const Vec3f operator- () const
value_type length () const
value_type length2 () const
value_type normalize ()

Public Attributes

value_type _v [3]

Friends

std::ostream & operator<< (std::ostream &output, const Vec3f &vec)

Detailed Description

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


Member Typedef Documentation

typedef float osg::Vec3f::value_type
 


Constructor & Destructor Documentation

osg::Vec3f::Vec3f (   )  [inline]
 

osg::Vec3f::Vec3f (  value_type  x,
value_type  y,
value_type  z
)  [inline]
 

osg::Vec3f::Vec3f (  const Vec2f &  v2,
value_type  zz
)  [inline]
 


Member Function Documentation

bool osg::Vec3f::isNaN (   )  const [inline]
 

value_type osg::Vec3f::length (   )  const [inline]
 

Length of the vector = sqrt( vec . vec )

value_type osg::Vec3f::length2 (   )  const [inline]
 

Length squared of the vector = vec . vec

value_type osg::Vec3f::normalize (   )  [inline]
 

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

const Vec3f osg::Vec3f::operator * (  value_type  rhs  )  const [inline]
 

Multiply by scalar.

value_type osg::Vec3f::operator * (  const Vec3f &  rhs  )  const [inline]
 

Dot product.

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

Unary multiply by scalar.

bool osg::Vec3f::operator!= (  const Vec3f &  v  )  const [inline]
 

const Vec3f osg::Vec3f::operator+ (  const Vec3f &  rhs  )  const [inline]
 

Binary vector add.

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

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

const Vec3f osg::Vec3f::operator- (   )  const [inline]
 

Negation operator. Returns the negative of the Vec3f.

const Vec3f osg::Vec3f::operator- (  const Vec3f &  rhs  )  const [inline]
 

Binary vector subtract.

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

Unary vector subtract.

const Vec3f osg::Vec3f::operator/ (  value_type  rhs  )  const [inline]
 

Divide by scalar.

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

Unary divide by scalar.

bool osg::Vec3f::operator< (  const Vec3f &  v  )  const [inline]
 

bool osg::Vec3f::operator== (  const Vec3f &  v  )  const [inline]
 

value_type osg::Vec3f::operator[] (  int  i  )  const [inline]
 

value_type& osg::Vec3f::operator[] (  int  i  )  [inline]
 

const Vec3f osg::Vec3f::operator^ (  const Vec3f &  rhs  )  const [inline]
 

Cross product.

const value_type* osg::Vec3f::ptr (   )  const [inline]
 

value_type* osg::Vec3f::ptr (   )  [inline]
 

void osg::Vec3f::set (  const Vec3f &  rhs  )  [inline]
 

void osg::Vec3f::set (  value_type  x,
value_type  y,
value_type  z
)  [inline]
 

bool osg::Vec3f::valid (   )  const [inline]
 

value_type osg::Vec3f::x (   )  const [inline]
 

value_type& osg::Vec3f::x (   )  [inline]
 

value_type osg::Vec3f::y (   )  const [inline]
 

value_type& osg::Vec3f::y (   )  [inline]
 

value_type osg::Vec3f::z (   )  const [inline]
 

value_type& osg::Vec3f::z (   )  [inline]
 


Friends And Related Function Documentation

std::ostream& operator<< (  std::ostream &  output,
const Vec3f &  vec
)  [friend]
 


Member Data Documentation

value_type osg::Vec3f::_v[3]
 


The documentation for this class was generated from the following file:
Generated on Fri May 13 15:15:50 2005 for openscenegraph by  doxygen 1.4.2