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

osg::FieldDataTraits< Quaternion > Struct Template Reference
[Field Data Traits]

#include <OSGMathFieldDataType.h>

Inheritance diagram for osg::FieldDataTraits< Quaternion >:

osg::FieldTraitsRecurseBase< Quaternion > osg::FieldTraits List of all members.

Public Types

enum  { StringConvertable }
typedef osgIF< uiTest==1,
const Quaternion, const Quaternion
& >::_IRet 
ArgumentType
enum  { ToStringConvertable = 0x01, FromStringConvertable = 0x02 }

Static Public Member Functions

static DataTypegetType (void)
static Char8getSName (void)
static Char8getMName (void)
static Quaternion getDefault (void)
static bool getFromString (Quaternion &outVal, const Char8 *&inVal)
static void putToString (const Quaternion &inVal, std::string &outStr)
static UInt32 getBinSize (const Quaternion &)
static UInt32 getBinSize (const Quaternion *, UInt32 uiNumObjects)
static void copyToBin (BinaryDataHandler &pMem, const Quaternion &oObject)
static void copyFromBin (BinaryDataHandler &pMem, Quaternion &oObject)
static void copyToBin (BinaryDataHandler &pMem, const Quaternion *pObjectStore, UInt32 uiNumObjects)
static void copyFromBin (BinaryDataHandler &pMem, Quaternion *pObjectStore, UInt32 uiNumObjects)
static bool getFromString (Quaternion &outVal, const Char8 *inVal)
static const Char8getPName (void)

Static Public Attributes

static DataType _type
static const UInt32 uiTest

Detailed Description

template<>
struct osg::FieldDataTraits< Quaternion >

Definition at line 182 of file OSGMathFieldDataType.h.


Member Typedef Documentation

typedef osgIF<uiTest == 1, const Quaternion , const Quaternion & >::_IRet osg::FieldTraitsRecurseBase< Quaternion >::ArgumentType [inherited]
 

Definition at line 122 of file OSGFieldDataType.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
StringConvertable 

Definition at line 187 of file OSGMathFieldDataType.h.

anonymous enum [inherited]
 

Enumerator:
ToStringConvertable 
FromStringConvertable 

Definition at line 69 of file OSGFieldDataType.h.

00070     {
00071         ToStringConvertable   = 0x01,
00072         FromStringConvertable = 0x02
00073     };


Member Function Documentation

static DataType& osg::FieldDataTraits< Quaternion >::getType void   )  [inline, static]
 

Definition at line 190 of file OSGMathFieldDataType.h.

00190 { return _type;          }

static Char8* osg::FieldDataTraits< Quaternion >::getSName void   )  [inline, static]
 

Definition at line 192 of file OSGMathFieldDataType.h.

00192 { return "SFQuaternion"; }

static Char8* osg::FieldDataTraits< Quaternion >::getMName void   )  [inline, static]
 

Definition at line 193 of file OSGMathFieldDataType.h.

00193 { return "MFQuaternion"; }

static Quaternion osg::FieldDataTraits< Quaternion >::getDefault void   )  [inline, static]
 

Definition at line 195 of file OSGMathFieldDataType.h.

00195 { return Quaternion();   }

static bool osg::FieldDataTraits< Quaternion >::getFromString Quaternion outVal,
const Char8 *&  inVal
[inline, static]
 

Definition at line 197 of file OSGMathFieldDataType.h.

References osg::QuaternionBase< ValueTypeT >::setValueAsAxisRad().

00199     {
00200         // VRML requires axis and angle in radians
00201         outVal.setValueAsAxisRad(inVal);
00202 
00203         return true;
00204     }

static void osg::FieldDataTraits< Quaternion >::putToString const Quaternion inVal,
std::string &  outStr
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 206 of file OSGMathFieldDataType.h.

References osg::QuaternionBase< ValueTypeT >::getValueAsAxisRad().

00208     {
00209         typedef Quaternion::VectorType::ValueType ValueType;
00210         typedef TypeTraits<ValueType>             TypeTrait;
00211 
00212         ValueType axisX;
00213         ValueType axisY;
00214         ValueType axisZ;
00215         ValueType angleRad;
00216 
00217         inVal.getValueAsAxisRad(axisX, axisY, axisZ, angleRad);
00218 
00219         outStr.assign(TypeTrait::putToString(axisX));
00220 
00221         outStr.append( " " );
00222         outStr.append(TypeTrait::putToString(axisY));
00223 
00224         outStr.append( " " );
00225         outStr.append(TypeTrait::putToString(axisZ) );
00226 
00227         outStr.append( " " );
00228         outStr.append(TypeTrait::putToString(angleRad) );
00229     }

static UInt32 osg::FieldDataTraits< Quaternion >::getBinSize const Quaternion  )  [inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 231 of file OSGMathFieldDataType.h.

00232     {
00233         return sizeof(Real32) * 4;
00234     }

static UInt32 osg::FieldDataTraits< Quaternion >::getBinSize const Quaternion ,
UInt32  uiNumObjects
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 236 of file OSGMathFieldDataType.h.

00238     {
00239         return sizeof(Real32)* 4 *uiNumObjects;
00240     }

static void osg::FieldDataTraits< Quaternion >::copyToBin BinaryDataHandler pMem,
const Quaternion oObject
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 242 of file OSGMathFieldDataType.h.

References osg::BinaryDataHandler::putValues().

00244     {
00245         pMem.putValues(&oObject[0], 4);
00246     }

static void osg::FieldDataTraits< Quaternion >::copyFromBin BinaryDataHandler pMem,
Quaternion oObject
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 249 of file OSGMathFieldDataType.h.

References osg::BinaryDataHandler::getValues().

00251     {
00252         pMem.getValues(&oObject[0], 4);
00253     }

static void osg::FieldDataTraits< Quaternion >::copyToBin BinaryDataHandler pMem,
const Quaternion pObjectStore,
UInt32  uiNumObjects
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 255 of file OSGMathFieldDataType.h.

References osg::FieldTraitsRecurseBase< FieldTypeT >::copyToBin().

00258     {
00259         for(UInt32 i = 0; i < uiNumObjects; ++i)
00260         {
00261             copyToBin(pMem, pObjectStore[i]);
00262         }
00263     }

static void osg::FieldDataTraits< Quaternion >::copyFromBin BinaryDataHandler pMem,
Quaternion pObjectStore,
UInt32  uiNumObjects
[inline, static]
 

Reimplemented from osg::FieldTraitsRecurseBase< Quaternion >.

Definition at line 265 of file OSGMathFieldDataType.h.

References osg::FieldTraitsRecurseBase< FieldTypeT >::copyFromBin().

00268     {
00269         for(UInt32 i = 0; i < uiNumObjects; ++i)
00270         {
00271             copyFromBin(pMem, pObjectStore[i]);
00272         }
00273     }

static bool osg::FieldTraitsRecurseBase< Quaternion >::getFromString Quaternion outVal,
const Char8 inVal
[inline, static, inherited]
 

Definition at line 209 of file OSGFieldDataType.h.

00211     {
00212         typedef FieldDataTraits<FieldTypeT> MappedTrait;
00213 
00214         return MappedTrait::getFromString(outVal, inVal);
00215     }

static const Char8* osg::FieldTraits::getPName void   )  [inline, static, inherited]
 

Definition at line 75 of file OSGFieldDataType.h.

00075 { return "Field"; }


Member Data Documentation

DataType osg::FieldDataTraits< Quaternion >::_type [static]
 

const UInt32 osg::FieldTraitsRecurseBase< Quaternion >::uiTest [static, inherited]
 

Definition at line 117 of file OSGFieldDataType.h.


The documentation for this struct was generated from the following files:
Generated on Thu Aug 25 04:12:40 2005 for OpenSG by  doxygen 1.4.3