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::Vec3d Class Reference

#include <Vec3d.h>

Public Types

enum  { num_components = 3 }
 
typedef double value_type
 

Public Member Functions

 Vec3d ()
 
 Vec3d (const Vec3f &vec)
 
 operator Vec3f () const
 
 Vec3d (value_type x, value_type y, value_type z)
 
 Vec3d (const Vec2d &v2, value_type zz)
 
bool operator== (const Vec3d &v) const
 
bool operator!= (const Vec3d &v) const
 
bool operator< (const Vec3d &v) const
 
value_typeptr ()
 
const value_typeptr () const
 
void set (value_type x, value_type y, value_type z)
 
void set (const Vec3d &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 Vec3d &rhs) const
 
const Vec3d operator^ (const Vec3d &rhs) const
 
const Vec3d operator* (value_type rhs) const
 
Vec3doperator*= (value_type rhs)
 
const Vec3d operator/ (value_type rhs) const
 
Vec3doperator/= (value_type rhs)
 
const Vec3d operator+ (const Vec3d &rhs) const
 
Vec3doperator+= (const Vec3d &rhs)
 
const Vec3d operator- (const Vec3d &rhs) const
 
Vec3doperator-= (const Vec3d &rhs)
 
const Vec3d operator- () const
 
value_type length () const
 
value_type length2 () const
 
value_type normalize ()
 

Public Attributes

value_type _v [3]
 

Detailed Description

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

Definition at line 29 of file Vec3d.h.

Member Typedef Documentation

typedef double osg::Vec3d::value_type

Data type of vector components.

Definition at line 34 of file Vec3d.h.

Member Enumeration Documentation

anonymous enum

Number of vector components.

Enumerator
num_components 

Definition at line 37 of file Vec3d.h.

Constructor & Destructor Documentation

osg::Vec3d::Vec3d ( )
inline

Constructor that sets all components of the vector to zero

Definition at line 42 of file Vec3d.h.

Here is the caller graph for this function:

osg::Vec3d::Vec3d ( const Vec3f vec)
inline

Definition at line 44 of file Vec3d.h.

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

Definition at line 48 of file Vec3d.h.

Here is the call graph for this function:

osg::Vec3d::Vec3d ( const Vec2d v2,
value_type  zz 
)
inline

Definition at line 49 of file Vec3d.h.

Member Function Documentation

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

Returns true if at least one component has value NaN.

Definition at line 96 of file Vec3d.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Length of the vector = sqrt( vec . vec )

Definition at line 181 of file Vec3d.h.

Here is the caller graph for this function:

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

Length squared of the vector = vec . vec

Definition at line 187 of file Vec3d.h.

value_type osg::Vec3d::normalize ( )
inline

Normalize the vector so that it has length unity. Returns the previous length of the vector. If the vector is zero length, it is left unchanged and zero is returned.

Definition at line 196 of file Vec3d.h.

Here is the call graph for this function:

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

Definition at line 46 of file Vec3d.h.

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

Definition at line 58 of file Vec3d.h.

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

Dot product.

Definition at line 99 of file Vec3d.h.

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

Multiply by scalar.

Definition at line 113 of file Vec3d.h.

Here is the call graph for this function:

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

Unary multiply by scalar.

Definition at line 119 of file Vec3d.h.

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

Binary vector add.

Definition at line 143 of file Vec3d.h.

Here is the call graph for this function:

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

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

Definition at line 151 of file Vec3d.h.

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

Binary vector subtract.

Definition at line 160 of file Vec3d.h.

Here is the call graph for this function:

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

Negation operator. Returns the negative of the Vec3d.

Definition at line 175 of file Vec3d.h.

Here is the call graph for this function:

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

Unary vector subtract.

Definition at line 166 of file Vec3d.h.

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

Divide by scalar.

Definition at line 128 of file Vec3d.h.

Here is the call graph for this function:

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

Unary divide by scalar.

Definition at line 134 of file Vec3d.h.

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

Definition at line 60 of file Vec3d.h.

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

Definition at line 56 of file Vec3d.h.

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

Definition at line 82 of file Vec3d.h.

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

Definition at line 83 of file Vec3d.h.

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

Cross product.

Definition at line 105 of file Vec3d.h.

Here is the call graph for this function:

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

Definition at line 69 of file Vec3d.h.

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

Definition at line 70 of file Vec3d.h.

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

Definition at line 72 of file Vec3d.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 77 of file Vec3d.h.

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

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

Definition at line 94 of file Vec3d.h.

Here is the call graph for this function:

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

Definition at line 85 of file Vec3d.h.

Here is the caller graph for this function:

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

Definition at line 89 of file Vec3d.h.

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

Definition at line 86 of file Vec3d.h.

Here is the caller graph for this function:

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

Definition at line 90 of file Vec3d.h.

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

Definition at line 87 of file Vec3d.h.

Here is the caller graph for this function:

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

Definition at line 91 of file Vec3d.h.

Member Data Documentation

value_type osg::Vec3d::_v[3]

Definition at line 39 of file Vec3d.h.


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