openscenegraph
Public Types | Public Member Functions | Public Attributes | List of all members
osg::Vec2f Class Reference

Public Types

enum  { num_components = 2 }
 
typedef float value_type
 

Public Member Functions

 Vec2f ()
 
 Vec2f (value_type x, value_type y)
 
bool operator== (const Vec2f &v) const
 
bool operator!= (const Vec2f &v) const
 
bool operator< (const Vec2f &v) const
 
value_typeptr ()
 
const value_typeptr () const
 
void set (value_type x, value_type y)
 
void set (const Vec2f &rhs)
 
value_typeoperator[] (int i)
 
value_type operator[] (int i) const
 
value_typex ()
 
value_typey ()
 
value_type x () const
 
value_type y () const
 
bool valid () const
 
bool isNaN () const
 
value_type operator* (const Vec2f &rhs) const
 
const Vec2f operator* (value_type rhs) const
 
Vec2foperator*= (value_type rhs)
 
const Vec2f operator/ (value_type rhs) const
 
Vec2foperator/= (value_type rhs)
 
const Vec2f operator+ (const Vec2f &rhs) const
 
Vec2foperator+= (const Vec2f &rhs)
 
const Vec2f operator- (const Vec2f &rhs) const
 
Vec2foperator-= (const Vec2f &rhs)
 
const Vec2f operator- () const
 
value_type length () const
 
value_type length2 (void) const
 
value_type normalize ()
 

Public Attributes

value_type _v [2]
 

Detailed Description

General purpose float pair. Uses include representation of texture coordinates. No support yet added for float * Vec2f - is it necessary? Need to define a non-member non-friend operator* etc. BTW: Vec2f * float is okay

Member Typedef Documentation

typedef float osg::Vec2f::value_type

Data type of vector components.

Member Enumeration Documentation

anonymous enum

Number of vector components.

Enumerator
num_components 

Constructor & Destructor Documentation

osg::Vec2f::Vec2f ( )
inline

Constructor that sets all components of the vector to zero

osg::Vec2f::Vec2f ( value_type  x,
value_type  y 
)
inline

Member Function Documentation

bool osg::Vec2f::isNaN ( ) const
inline

Returns true if at least one component has value NaN.

value_type osg::Vec2f::length ( ) const
inline

Length of the vector = sqrt( vec . vec )

value_type osg::Vec2f::length2 ( void  ) const
inline

Length squared of the vector = vec . vec

value_type osg::Vec2f::normalize ( )
inline

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

bool osg::Vec2f::operator!= ( const Vec2f v) const
inline
value_type osg::Vec2f::operator* ( const Vec2f rhs) const
inline

Dot product.

const Vec2f osg::Vec2f::operator* ( value_type  rhs) const
inline

Multiply by scalar.

Vec2f& osg::Vec2f::operator*= ( value_type  rhs)
inline

Unary multiply by scalar.

const Vec2f osg::Vec2f::operator+ ( const Vec2f rhs) const
inline

Binary vector add.

Vec2f& osg::Vec2f::operator+= ( const Vec2f rhs)
inline

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

const Vec2f osg::Vec2f::operator- ( const Vec2f rhs) const
inline

Binary vector subtract.

const Vec2f osg::Vec2f::operator- ( ) const
inline

Negation operator. Returns the negative of the Vec2f.

Vec2f& osg::Vec2f::operator-= ( const Vec2f rhs)
inline

Unary vector subtract.

const Vec2f osg::Vec2f::operator/ ( value_type  rhs) const
inline

Divide by scalar.

Vec2f& osg::Vec2f::operator/= ( value_type  rhs)
inline

Unary divide by scalar.

bool osg::Vec2f::operator< ( const Vec2f v) const
inline
bool osg::Vec2f::operator== ( const Vec2f v) const
inline
value_type& osg::Vec2f::operator[] ( int  i)
inline
value_type osg::Vec2f::operator[] ( int  i) const
inline
value_type* osg::Vec2f::ptr ( )
inline
const value_type* osg::Vec2f::ptr ( ) const
inline
void osg::Vec2f::set ( value_type  x,
value_type  y 
)
inline
void osg::Vec2f::set ( const Vec2f rhs)
inline
bool osg::Vec2f::valid ( ) const
inline

Returns true if all components have values that are not NaN.

value_type& osg::Vec2f::x ( )
inline
value_type osg::Vec2f::x ( ) const
inline
value_type& osg::Vec2f::y ( )
inline
value_type osg::Vec2f::y ( ) const
inline

Member Data Documentation

value_type osg::Vec2f::_v[2]

Vec member variable.


The documentation for this class was generated from the following file: