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

osg::ComponentTransform Class Reference

ComponentTransform provides a vrml style transformation.

#include <OSGComponentTransform.h>

Inheritance diagram for osg::ComponentTransform:

osg::ComponentTransformBase osg::Transform osg::TransformBase osg::Group osg::GroupBase osg::NodeCore osg::AttachmentContainer osg::FieldContainer List of all members.

Public Types

typedef ComponentTransformPtr Ptr
enum  {
  CenterFieldId = Inherited::NextFieldId, RotationFieldId = CenterFieldId + 1, ScaleFieldId = RotationFieldId + 1, ScaleOrientationFieldId = ScaleFieldId + 1,
  TranslationFieldId = ScaleOrientationFieldId + 1, NextFieldId = TranslationFieldId + 1
}

Public Member Functions

Sync
*virtual void changed (BitVector whichField, UInt32 origin)
Dump
*virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
FieldContainer Get
*virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get
*SFVec3fgetSFCenter (void)
 Get the ComponentTransform::_sfCenter field.
SFQuaterniongetSFRotation (void)
 Get the ComponentTransform::_sfRotation field.
SFVec3fgetSFScale (void)
 Get the ComponentTransform::_sfScale field.
SFQuaterniongetSFScaleOrientation (void)
 Get the ComponentTransform::_sfScaleOrientation field.
SFVec3fgetSFTranslation (void)
 Get the ComponentTransform::_sfTranslation field.
Vec3fgetCenter (void)
 Get the value of the ComponentTransform::_sfCenter field.
const Vec3fgetCenter (void) const
 Get the value of the ComponentTransform::_sfCenter field.
QuaterniongetRotation (void)
 Get the value of the ComponentTransform::_sfRotation field.
const QuaterniongetRotation (void) const
 Get the value of the ComponentTransform::_sfRotation field.
Vec3fgetScale (void)
 Get the value of the ComponentTransform::_sfScale field.
const Vec3fgetScale (void) const
 Get the value of the ComponentTransform::_sfScale field.
QuaterniongetScaleOrientation (void)
 Get the value of the ComponentTransform::_sfScaleOrientation field.
const QuaterniongetScaleOrientation (void) const
 Get the value of the ComponentTransform::_sfScaleOrientation field.
Vec3fgetTranslation (void)
 Get the value of the ComponentTransform::_sfTranslation field.
const Vec3fgetTranslation (void) const
 Get the value of the ComponentTransform::_sfTranslation field.
Field Set
*void setCenter (const Vec3f &value)
 Set the value of the ComponentTransform::_sfCenter field.
void setRotation (const Quaternion &value)
 Set the value of the ComponentTransform::_sfRotation field.
void setScale (const Vec3f &value)
 Set the value of the ComponentTransform::_sfScale field.
void setScaleOrientation (const Quaternion &value)
 Set the value of the ComponentTransform::_sfScaleOrientation field.
void setTranslation (const Vec3f &value)
 Set the value of the ComponentTransform::_sfTranslation field.
Binary Access
*virtual UInt32 getBinSize (const BitVector &whichField)
virtual void copyToBin (BinaryDataHandler &pMem, const BitVector &whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField)
Copy
*virtual FieldContainerPtr shallowCopy (void) const
Helper
*virtual void accumulateMatrix (Matrix &result)
void adjustVolume (Volume &volume)
Field Get
*SFMatrixgetSFMatrix (void)
 Get the Transform::_sfMatrix field.
MatrixgetMatrix (void)
 Get the value of the Transform::_sfMatrix field.
const MatrixgetMatrix (void) const
 Get the value of the Transform::_sfMatrix field.

Static Public Member Functions

Class Get
*static FieldContainerTypegetClassType (void)
 access the type of the class
static UInt32 getClassTypeId (void)
 access the numerical type of the class
Construction
*static ComponentTransformPtr create (void)
 create a new instance of the class
static ComponentTransformPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Static Public Attributes

static const osg::BitVector CenterFieldMask
static const osg::BitVector RotationFieldMask
static const osg::BitVector ScaleFieldMask
static const osg::BitVector ScaleOrientationFieldMask
static const osg::BitVector TranslationFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector MatrixFieldMask
static const BitVector ParentsFieldMask = (1 << NodeCore::ParentsFieldId )
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask

Protected Types

typedef ComponentTransformBase Inherited

Protected Member Functions

Constructors
ComponentTransform (void)
 ComponentTransform (const ComponentTransform &source)
Destructor
*virtual ~ComponentTransform (void)
Sync
*void executeSyncImpl (ComponentTransformBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)
Sync
*void executeSyncImpl (TransformBase *pOther, const BitVector &whichField)
Draw & Intersect & Render
*Action::ResultE drawEnter (Action *action)
Action::ResultE drawLeave (Action *action)
Action::ResultE intersectEnter (Action *action)
NewActionTypes::ResultE intersectEnter (ActorBase::FunctorArgumentType &funcArg)
Action::ResultE intersectLeave (Action *action)
NewActionTypes::ResultE intersectLeave (ActorBase::FunctorArgumentType &funcArg)
Action::ResultE renderEnter (Action *action)
Action::ResultE renderLeave (Action *action)

Protected Attributes

Fields
*SFVec3f _sfCenter
SFQuaternion _sfRotation
SFVec3f _sfScale
SFQuaternion _sfScaleOrientation
SFVec3f _sfTranslation
Fields
*SFMatrix _sfMatrix

Private Member Functions

void setMatrix (const Matrix &value)
 prohibit default function (move to 'public' if needed)
void operator= (const ComponentTransform &source)

Static Private Member Functions

Init
*static void initMethod (void)

Friends

class FieldContainer
class ComponentTransformBase

Detailed Description

Definition at line 56 of file OSGComponentTransform.h.


Member Typedef Documentation

typedef ComponentTransformBase osg::ComponentTransform::Inherited [protected]
 

Reimplemented from osg::ComponentTransformBase.

Definition at line 81 of file OSGComponentTransform.h.

typedef ComponentTransformPtr osg::ComponentTransformBase::Ptr [inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 94 of file OSGComponentTransformBase.h.


Member Enumeration Documentation

anonymous enum [inherited]
 

Enumerator:
CenterFieldId 
RotationFieldId 
ScaleFieldId 
ScaleOrientationFieldId 
TranslationFieldId 
NextFieldId 

Reimplemented from osg::TransformBase.

Definition at line 96 of file OSGComponentTransformBase.h.

00097     {
00098         CenterFieldId           = Inherited::NextFieldId,
00099         RotationFieldId         = CenterFieldId           + 1,
00100         ScaleFieldId            = RotationFieldId         + 1,
00101         ScaleOrientationFieldId = ScaleFieldId            + 1,
00102         TranslationFieldId      = ScaleOrientationFieldId + 1,
00103         NextFieldId             = TranslationFieldId      + 1
00104     };


Constructor & Destructor Documentation

ComponentTransform::ComponentTransform void   )  [protected]
 

Definition at line 93 of file OSGComponentTransform.cpp.

References osg::ComponentTransformBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00093                                            :
00094     Inherited()
00095 {
00096     _sfScale.getValue().setValues(1.f, 1.f, 1.f);
00097 }

ComponentTransform::ComponentTransform const ComponentTransform source  )  [protected]
 

Definition at line 99 of file OSGComponentTransform.cpp.

00099                                                                        :
00100     Inherited(source)
00101 {
00102 }

ComponentTransform::~ComponentTransform void   )  [protected, virtual]
 

Definition at line 107 of file OSGComponentTransform.cpp.

00108 {
00109 }


Member Function Documentation

void ComponentTransform::changed BitVector  whichField,
UInt32  origin
[virtual]
 

Reimplemented from osg::Transform.

Definition at line 60 of file OSGComponentTransform.cpp.

References osg::beginEditCP(), osg::ComponentTransformBase::CenterFieldMask, osg::Transform::changed(), osg::endEditCP(), osg::ComponentTransformBase::getCenter(), osg::TransformBase::getMatrix(), osg::ComponentTransformBase::getRotation(), osg::ComponentTransformBase::getScale(), osg::ComponentTransformBase::getScaleOrientation(), osg::ComponentTransformBase::getTranslation(), osg::TransformBase::MatrixFieldMask, osg::ComponentTransformBase::RotationFieldMask, osg::ComponentTransformBase::ScaleFieldMask, osg::ComponentTransformBase::ScaleOrientationFieldMask, osg::TransformationMatrix< ValueTypeT >::setTransform(), and osg::ComponentTransformBase::TranslationFieldMask.

00061 {
00062     ComponentTransformPtr ptr(*this);
00063 
00064     if((whichField & CenterFieldMask          ) ||
00065        (whichField & RotationFieldMask        ) ||
00066        (whichField & ScaleFieldMask           ) ||
00067        (whichField & ScaleOrientationFieldMask) ||
00068        (whichField & TranslationFieldMask     )  )
00069     {
00070         beginEditCP(ptr, MatrixFieldMask);
00071         {
00072             getMatrix().setTransform(getTranslation     (),
00073                                      getRotation        (),
00074                                      getScale           (),
00075                                      getScaleOrientation(),
00076                                      getCenter          ());
00077         }
00078         endEditCP  (ptr, MatrixFieldMask);
00079     }
00080 
00081     Inherited::changed(whichField, origin);
00082 }

void ComponentTransform::dump UInt32  uiIndent = 0,
const BitVector  bvFlags = 0
const [virtual]
 

Reimplemented from osg::Transform.

Definition at line 84 of file OSGComponentTransform.cpp.

References osg::Transform::dump().

00086 {
00087     Inherited::dump(uiIndent, bvFlags);
00088 }

void ComponentTransform::initMethod void   )  [static, private]
 

Reimplemented from osg::Transform.

Definition at line 114 of file OSGComponentTransform.cpp.

References osg::Transform::drawEnter(), osg::Transform::drawLeave(), osg::ComponentTransformBase::getClassType(), osg::Transform::intersectEnter(), osg::Transform::intersectLeave(), osg::osgTypedMethodFunctor2BaseCPtr(), osg::osgTypedMethodFunctor2BaseCPtrRef(), osg::IntersectAction::registerEnterDefault(), osg::RenderAction::registerEnterDefault(), osg::DrawAction::registerEnterDefault(), osg::IntersectAction::registerLeaveDefault(), osg::RenderAction::registerLeaveDefault(), osg::DrawAction::registerLeaveDefault(), osg::Transform::renderEnter(), and osg::Transform::renderLeave().

00115 {
00116     DrawAction::registerEnterDefault(
00117         getClassType(),
00118         osgTypedMethodFunctor2BaseCPtrRef<
00119             Action::ResultE,
00120             ComponentTransformPtr  ,
00121             CNodePtr               ,
00122             Action                *>(&ComponentTransform::drawEnter));
00123 
00124     DrawAction::registerLeaveDefault(
00125         getClassType(),
00126         osgTypedMethodFunctor2BaseCPtrRef<
00127             Action::ResultE,
00128             ComponentTransformPtr  ,
00129             CNodePtr               ,
00130             Action                *>(&ComponentTransform::drawLeave));
00131 
00132 
00133     RenderAction::registerEnterDefault(
00134         getClassType(),
00135         osgTypedMethodFunctor2BaseCPtrRef<
00136             Action::ResultE,
00137             ComponentTransformPtr  ,
00138             CNodePtr               ,
00139             Action                *>(&ComponentTransform::renderEnter));
00140 
00141     RenderAction::registerLeaveDefault(
00142         getClassType(),
00143         osgTypedMethodFunctor2BaseCPtrRef<
00144             Action::ResultE,
00145             ComponentTransformPtr  ,
00146             CNodePtr               ,
00147             Action                *>(&ComponentTransform::renderLeave));
00148 
00149 
00150     IntersectAction::registerEnterDefault(
00151         getClassType(),
00152         osgTypedMethodFunctor2BaseCPtrRef<
00153             Action::ResultE,
00154             ComponentTransformPtr  ,
00155             CNodePtr               ,
00156             Action                *>(&ComponentTransform::intersectEnter));
00157 
00158     IntersectAction::registerLeaveDefault(
00159         getClassType(),
00160         osgTypedMethodFunctor2BaseCPtrRef<
00161             Action::ResultE,
00162             ComponentTransformPtr  ,
00163             CNodePtr               ,
00164             Action                *>(&ComponentTransform::intersectLeave));
00165 
00166     IntersectActor::regClassEnter(
00167         osgTypedMethodFunctor2BaseCPtr<
00168             NewActionTypes::ResultE,
00169             ComponentTransformPtr  ,
00170             NodeCorePtr            ,
00171             ActorBase::FunctorArgumentType &>(&ComponentTransform::intersectEnter),
00172         getClassType());
00173 
00174     IntersectActor::regClassLeave(
00175         osgTypedMethodFunctor2BaseCPtr<
00176             NewActionTypes::ResultE,
00177             ComponentTransformPtr  ,
00178             NodeCorePtr            ,
00179             ActorBase::FunctorArgumentType &>(&ComponentTransform::intersectLeave),
00180         getClassType());
00181 }

void osg::ComponentTransform::setMatrix const Matrix value  )  [private]
 

Reimplemented from osg::TransformBase.

void osg::ComponentTransform::operator= const ComponentTransform source  )  [private]
 

osg::FieldContainerType & osg::ComponentTransformBase::getClassType void   )  [inline, static, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 58 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_type.

Referenced by osg::ComponentTransformBase::create(), osg::VRMLWriteAction::initializeAction(), initMethod(), osg::SplitGraphOp::isGroup(), and osg::MergeGraphOp::isGroup().

00059 {
00060     return _type; 
00061 } 

osg::UInt32 osg::ComponentTransformBase::getClassTypeId void   )  [inline, static, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 65 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_type, and osg::TypeBase::getId().

00066 {
00067     return _type.getId(); 
00068 } 

FieldContainerType & ComponentTransformBase::getType void   )  [virtual, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 150 of file OSGComponentTransformBase.cpp.

References osg::ComponentTransformBase::_type.

00151 {
00152     return _type; 
00153 } 

const FieldContainerType & ComponentTransformBase::getType void   )  const [virtual, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 155 of file OSGComponentTransformBase.cpp.

References osg::ComponentTransformBase::_type.

00156 {
00157     return _type;
00158 } 

UInt32 ComponentTransformBase::getContainerSize void   )  const [virtual, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 170 of file OSGComponentTransformBase.cpp.

00171 { 
00172     return sizeof(ComponentTransform); 
00173 }

SFVec3f * osg::ComponentTransformBase::getSFCenter void   )  [inline, inherited]
 

Definition at line 101 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfCenter.

00102 {
00103     return &_sfCenter;
00104 }

SFQuaternion * osg::ComponentTransformBase::getSFRotation void   )  [inline, inherited]
 

Definition at line 108 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfRotation.

00109 {
00110     return &_sfRotation;
00111 }

SFVec3f * osg::ComponentTransformBase::getSFScale void   )  [inline, inherited]
 

Definition at line 115 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScale.

00116 {
00117     return &_sfScale;
00118 }

SFQuaternion * osg::ComponentTransformBase::getSFScaleOrientation void   )  [inline, inherited]
 

Definition at line 122 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScaleOrientation.

00123 {
00124     return &_sfScaleOrientation;
00125 }

SFVec3f * osg::ComponentTransformBase::getSFTranslation void   )  [inline, inherited]
 

Definition at line 129 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfTranslation.

00130 {
00131     return &_sfTranslation;
00132 }

Vec3f & osg::ComponentTransformBase::getCenter void   )  [inline, inherited]
 

Definition at line 137 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed().

00138 {
00139     return _sfCenter.getValue();
00140 }

const Vec3f & osg::ComponentTransformBase::getCenter void   )  const [inline, inherited]
 

Definition at line 144 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00145 {
00146     return _sfCenter.getValue();
00147 }

Quaternion & osg::ComponentTransformBase::getRotation void   )  [inline, inherited]
 

Definition at line 158 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfRotation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed().

00159 {
00160     return _sfRotation.getValue();
00161 }

const Quaternion & osg::ComponentTransformBase::getRotation void   )  const [inline, inherited]
 

Definition at line 165 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfRotation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00166 {
00167     return _sfRotation.getValue();
00168 }

Vec3f & osg::ComponentTransformBase::getScale void   )  [inline, inherited]
 

Definition at line 179 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed().

00180 {
00181     return _sfScale.getValue();
00182 }

const Vec3f & osg::ComponentTransformBase::getScale void   )  const [inline, inherited]
 

Definition at line 186 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00187 {
00188     return _sfScale.getValue();
00189 }

Quaternion & osg::ComponentTransformBase::getScaleOrientation void   )  [inline, inherited]
 

Definition at line 200 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScaleOrientation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed().

00201 {
00202     return _sfScaleOrientation.getValue();
00203 }

const Quaternion & osg::ComponentTransformBase::getScaleOrientation void   )  const [inline, inherited]
 

Definition at line 207 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScaleOrientation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00208 {
00209     return _sfScaleOrientation.getValue();
00210 }

Vec3f & osg::ComponentTransformBase::getTranslation void   )  [inline, inherited]
 

Definition at line 221 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by changed().

00222 {
00223     return _sfTranslation.getValue();
00224 }

const Vec3f & osg::ComponentTransformBase::getTranslation void   )  const [inline, inherited]
 

Definition at line 228 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00229 {
00230     return _sfTranslation.getValue();
00231 }

void osg::ComponentTransformBase::setCenter const Vec3f value  )  [inline, inherited]
 

Definition at line 151 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfCenter, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00152 {
00153     _sfCenter.setValue(value);
00154 }

void osg::ComponentTransformBase::setRotation const Quaternion value  )  [inline, inherited]
 

Definition at line 172 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfRotation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00173 {
00174     _sfRotation.setValue(value);
00175 }

void osg::ComponentTransformBase::setScale const Vec3f value  )  [inline, inherited]
 

Definition at line 193 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScale, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00194 {
00195     _sfScale.setValue(value);
00196 }

void osg::ComponentTransformBase::setScaleOrientation const Quaternion value  )  [inline, inherited]
 

Definition at line 214 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfScaleOrientation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00215 {
00216     _sfScaleOrientation.setValue(value);
00217 }

void osg::ComponentTransformBase::setTranslation const Vec3f value  )  [inline, inherited]
 

Definition at line 235 of file OSGComponentTransformBase.inl.

References osg::ComponentTransformBase::_sfTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00236 {
00237     _sfTranslation.setValue(value);
00238 }

UInt32 ComponentTransformBase::getBinSize const BitVector whichField  )  [virtual, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 240 of file OSGComponentTransformBase.cpp.

References osg::ComponentTransformBase::_sfCenter, osg::ComponentTransformBase::_sfRotation, osg::ComponentTransformBase::_sfScale, osg::ComponentTransformBase::_sfScaleOrientation, osg::ComponentTransformBase::_sfTranslation, osg::ComponentTransformBase::CenterFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::TransformBase::getBinSize(), osg::FieldBits::NoField, osg::ComponentTransformBase::RotationFieldMask, osg::ComponentTransformBase::ScaleFieldMask, osg::ComponentTransformBase::ScaleOrientationFieldMask, and osg::ComponentTransformBase::TranslationFieldMask.

00241 {
00242     UInt32 returnValue = Inherited::getBinSize(whichField);
00243 
00244     if(FieldBits::NoField != (CenterFieldMask & whichField))
00245     {
00246         returnValue += _sfCenter.getBinSize();
00247     }
00248 
00249     if(FieldBits::NoField != (RotationFieldMask & whichField))
00250     {
00251         returnValue += _sfRotation.getBinSize();
00252     }
00253 
00254     if(FieldBits::NoField != (ScaleFieldMask & whichField))
00255     {
00256         returnValue += _sfScale.getBinSize();
00257     }
00258 
00259     if(FieldBits::NoField != (ScaleOrientationFieldMask & whichField))
00260     {
00261         returnValue += _sfScaleOrientation.getBinSize();
00262     }
00263 
00264     if(FieldBits::NoField != (TranslationFieldMask & whichField))
00265     {
00266         returnValue += _sfTranslation.getBinSize();
00267     }
00268 
00269 
00270     return returnValue;
00271 }

void ComponentTransformBase::copyToBin BinaryDataHandler pMem,
const BitVector whichField
[virtual, inherited]
 

Reimplemented from osg::TransformBase.

Definition at line 273 of file OSGComponentTransformBase.cpp.

References osg::ComponentTransformBase::_sfCenter, osg::ComponentTransformBase::_sfRotation, osg::ComponentTransformBase::_sfScale, osg::ComponentTransformBase::_sfScaleOrientation, osg::ComponentTransformBase::_sfTranslation, osg::ComponentTransformBase::CenterFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::TransformBase::copyToBin(), osg::FieldBits::NoField, osg::ComponentTransformBase::RotationFieldMask, osg::ComponentTransformBase::ScaleFieldMask, osg::ComponentTransformBase::ScaleOrientationFieldMask, and osg::ComponentTransformBase::TranslationFieldMask.

00275 {
00276     Inherited::copyToBin(pMem, whichField);
00277 
00278     if(FieldBits::NoField != (CenterFieldMask & whichField))
00279     {
00280         _sfCenter.copyToBin(pMem);
00281     }
00282 
00283     if(FieldBits::NoField != (RotationFieldMask & whichField))
00284     {
00285         _sfRotation.copyToBin(pMem);
00286     }