OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | List of all members
osg::Vec3f Class Reference

#include <Vec3f.h>

Public Types

enum  { num_components = 3 }
 
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_typeptr ()
 
const value_typeptr () const
 
void set (value_type x, value_type y, value_type z)
 
void set (const Vec3f &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 Vec3f &rhs) const
 
const Vec3f operator^ (const Vec3f &rhs) const
 
const Vec3f operator* (value_type rhs) const
 
Vec3foperator*= (value_type rhs)
 
const Vec3f operator/ (value_type rhs) const
 
Vec3foperator/= (value_type rhs)
 
const Vec3f operator+ (const Vec3f &rhs) const
 
Vec3foperator+= (const Vec3f &rhs)
 
const Vec3f operator- (const Vec3f &rhs) const
 
Vec3foperator-= (const Vec3f &rhs)
 
const Vec3f operator- () const
 
value_type length () const
 
value_type length2 () const
 
value_type normalize ()
 

Public Attributes

value_type _v [3]
 

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

Definition at line 28 of file Vec3f.h.

Member Typedef Documentation

typedef float osg::Vec3f::value_type

Data type of vector components.

Definition at line 33 of file Vec3f.h.

Member Enumeration Documentation

anonymous enum

Number of vector components.

Enumerator
num_components 

Definition at line 36 of file Vec3f.h.

Constructor & Destructor Documentation

osg::Vec3f::Vec3f ( )
inline

Constructor that sets all components of the vector to zero

Definition at line 41 of file Vec3f.h.

Here is the caller graph for this function:

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

Definition at line 42 of file Vec3f.h.

Here is the call graph for this function:

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

Definition at line 43 of file Vec3f.h.

Member Function Documentation

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

Returns true if at least one component has value NaN.

Definition at line 91 of file Vec3f.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Length of the vector = sqrt( vec . vec )

Definition at line 176 of file Vec3f.h.

Here is the caller graph for this function:

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

Length squared of the vector = vec . vec

Definition at line 182 of file Vec3f.h.

Here is the caller graph for this function:

value_type osg::Vec3f::normalize ( )
inline

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

Definition at line 190 of file Vec3f.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 53 of file Vec3f.h.

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

Dot product.

Definition at line 94 of file Vec3f.h.

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

Multiply by scalar.

Definition at line 108 of file Vec3f.h.

Here is the call graph for this function:

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

Unary multiply by scalar.

Definition at line 114 of file Vec3f.h.

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

Binary vector add.

Definition at line 138 of file Vec3f.h.

Here is the call graph for this function:

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

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

Definition at line 146 of file Vec3f.h.

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

Binary vector subtract.

Definition at line 155 of file Vec3f.h.

Here is the call graph for this function:

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

Negation operator. Returns the negative of the Vec3f.

Definition at line 170 of file Vec3f.h.

Here is the call graph for this function:

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

Unary vector subtract.

Definition at line 161 of file Vec3f.h.

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

Divide by scalar.

Definition at line 123 of file Vec3f.h.

Here is the call graph for this function:

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

Unary divide by scalar.

Definition at line 129 of file Vec3f.h.

bool osg::Vec3f::operator< ( const Vec3f v) const
inline

Definition at line 55 of file Vec3f.h.

bool osg::Vec3f::operator== ( const Vec3f v) const
inline

Definition at line 51 of file Vec3f.h.

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

Definition at line 77 of file Vec3f.h.

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

Definition at line 78 of file Vec3f.h.

const Vec3f osg::Vec3f::operator^ ( const Vec3f rhs) const
inline

Cross product.

Definition at line 100 of file Vec3f.h.

Here is the call graph for this function:

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

Definition at line 64 of file Vec3f.h.

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

Definition at line 65 of file Vec3f.h.

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

Definition at line 67 of file Vec3f.h.

Here is the call graph for this function:

Here is the caller graph for this function:

void osg::Vec3f::set ( const Vec3f rhs)
inline

Definition at line 72 of file Vec3f.h.

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

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

Definition at line 89 of file Vec3f.h.

Here is the call graph for this function:

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

Definition at line 80 of file Vec3f.h.

Here is the caller graph for this function:

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

Definition at line 84 of file Vec3f.h.

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

Definition at line 81 of file Vec3f.h.

Here is the caller graph for this function:

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

Definition at line 85 of file Vec3f.h.

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

Definition at line 82 of file Vec3f.h.

Here is the caller graph for this function:

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

Definition at line 86 of file Vec3f.h.

Member Data Documentation

value_type osg::Vec3f::_v[3]

Definition at line 38 of file Vec3f.h.


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