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

osg::MatrixCameraDecorator Class Reference
[Camera Decorators]

MatrixCameraDecorator class. See PageSystemCameraDecoratorsMatrix for a description. More...

#include <OSGMatrixCameraDecorator.h>

Inheritance diagram for osg::MatrixCameraDecorator:

osg::MatrixCameraDecoratorBase osg::CameraDecorator osg::CameraDecoratorBase osg::Camera osg::CameraBase osg::AttachmentContainer osg::FieldContainer List of all members.

Public Types

typedef MatrixCameraDecoratorPtr Ptr
enum  {
  PreViewingFieldId = Inherited::NextFieldId, PostViewingFieldId = PreViewingFieldId + 1, PreProjectionTranslationFieldId = PostViewingFieldId + 1, PostProjectionTranslationFieldId = PreProjectionTranslationFieldId + 1,
  PreProjectionFieldId = PostProjectionTranslationFieldId + 1, PostProjectionFieldId = PreProjectionFieldId + 1, NextFieldId = PostProjectionFieldId + 1
}

Public Member Functions

Sync
*virtual void changed (BitVector whichField, UInt32 origin)
access
*virtual void getProjection (Matrix &result, UInt32 width, UInt32 height)
virtual void getProjectionTranslation (Matrix &result, UInt32 width, UInt32 height)
virtual void getViewing (Matrix &result, UInt32 width, UInt32 height)
Output
*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
*SFMatrixgetSFPreViewing (void)
 Get the MatrixCameraDecorator::_sfPreViewing field.
SFMatrixgetSFPostViewing (void)
 Get the MatrixCameraDecorator::_sfPostViewing field.
SFMatrixgetSFPreProjectionTranslation (void)
 Get the MatrixCameraDecorator::_sfPreProjectionTranslation field.
SFMatrixgetSFPostProjectionTranslation (void)
 Get the MatrixCameraDecorator::_sfPostProjectionTranslation field.
SFMatrixgetSFPreProjection (void)
 Get the MatrixCameraDecorator::_sfPreProjection field.
SFMatrixgetSFPostProjection (void)
 Get the MatrixCameraDecorator::_sfPostProjection field.
MatrixgetPreViewing (void)
 Get the value of the MatrixCameraDecorator::_sfPreViewing field.
const MatrixgetPreViewing (void) const
 Get the value of the MatrixCameraDecorator::_sfPreViewing field.
MatrixgetPostViewing (void)
 Get the value of the MatrixCameraDecorator::_sfPostViewing field.
const MatrixgetPostViewing (void) const
 Get the value of the MatrixCameraDecorator::_sfPostViewing field.
MatrixgetPreProjectionTranslation (void)
 Get the value of the MatrixCameraDecorator::_sfPreProjectionTranslation field.
const MatrixgetPreProjectionTranslation (void) const
 Get the value of the MatrixCameraDecorator::_sfPreProjectionTranslation field.
MatrixgetPostProjectionTranslation (void)
 Get the value of the MatrixCameraDecorator::_sfPostProjectionTranslation field.
const MatrixgetPostProjectionTranslation (void) const
 Get the value of the MatrixCameraDecorator::_sfPostProjectionTranslation field.
MatrixgetPreProjection (void)
 Get the value of the MatrixCameraDecorator::_sfPreProjection field.
const MatrixgetPreProjection (void) const
 Get the value of the MatrixCameraDecorator::_sfPreProjection field.
MatrixgetPostProjection (void)
 Get the value of the MatrixCameraDecorator::_sfPostProjection field.
const MatrixgetPostProjection (void) const
 Get the value of the MatrixCameraDecorator::_sfPostProjection field.
Field Set
*void setPreViewing (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPreViewing field.
void setPostViewing (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPostViewing field.
void setPreProjectionTranslation (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPreProjectionTranslation field.
void setPostProjectionTranslation (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPostProjectionTranslation field.
void setPreProjection (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPreProjection field.
void setPostProjection (const Matrix &value)
 Set the value of the MatrixCameraDecorator::_sfPostProjection 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

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 MatrixCameraDecoratorPtr create (void)
 create a new instance of the class
static MatrixCameraDecoratorPtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Static Public Attributes

static const osg::BitVector PreViewingFieldMask
static const osg::BitVector PostViewingFieldMask
static const osg::BitVector PreProjectionTranslationFieldMask
static const osg::BitVector PostProjectionTranslationFieldMask
static const osg::BitVector PreProjectionFieldMask
static const osg::BitVector PostProjectionFieldMask
static const osg::BitVector MTInfluenceMask
static const osg::BitVector DecorateeFieldMask
static const osg::BitVector BeaconFieldMask
static const osg::BitVector NearFieldMask
static const osg::BitVector FarFieldMask
static const BitVector AttachmentsFieldMask
static const BitVector NextFieldMask

Protected Member Functions

Constructors
MatrixCameraDecorator (void)
 MatrixCameraDecorator (const MatrixCameraDecorator &source)
Destructors
*virtual ~MatrixCameraDecorator (void)
Sync
*void executeSyncImpl (MatrixCameraDecoratorBase *pOther, const BitVector &whichField)
virtual void executeSync (FieldContainer &other, const BitVector &whichField)

Protected Attributes

Fields
*SFMatrix _sfPreViewing
SFMatrix _sfPostViewing
SFMatrix _sfPreProjectionTranslation
SFMatrix _sfPostProjectionTranslation
SFMatrix _sfPreProjection
SFMatrix _sfPostProjection

Private Types

typedef MatrixCameraDecoratorBase Inherited

Private Member Functions

void operator= (const MatrixCameraDecorator &source)

Static Private Member Functions

static void initMethod (void)

Friends

class FieldContainer
class MatrixCameraDecoratorBase

Detailed Description

The decorator to modify the Camera matrices simply by matrices.

The osg::MatrixCameraDecorator for madifying the camera matrices by matrices, see Additional Matrices for a description.

The matrices to use are defined by the _sf Fields. The size of the full image is defined by the _sfFullWidth and _sfFullHeight Fields.

Definition at line 55 of file OSGMatrixCameraDecorator.h.


Member Typedef Documentation

typedef MatrixCameraDecoratorBase osg::MatrixCameraDecorator::Inherited [private]
 

Reimplemented from osg::MatrixCameraDecoratorBase.

Definition at line 59 of file OSGMatrixCameraDecorator.h.

typedef MatrixCameraDecoratorPtr osg::MatrixCameraDecoratorBase::Ptr [inherited]
 

Reimplemented from osg::CameraDecoratorBase.

Definition at line 95 of file OSGMatrixCameraDecoratorBase.h.


Member Enumeration Documentation

anonymous enum [inherited]
 

Enumerator:
PreViewingFieldId 
PostViewingFieldId 
PreProjectionTranslationFieldId 
PostProjectionTranslationFieldId 
PreProjectionFieldId 
PostProjectionFieldId 
NextFieldId 

Reimplemented from osg::CameraDecoratorBase.

Definition at line 97 of file OSGMatrixCameraDecoratorBase.h.

00098     {
00099         PreViewingFieldId                = Inherited::NextFieldId,
00100         PostViewingFieldId               = PreViewingFieldId                + 1,
00101         PreProjectionTranslationFieldId  = PostViewingFieldId               + 1,
00102         PostProjectionTranslationFieldId = PreProjectionTranslationFieldId  + 1,
00103         PreProjectionFieldId             = PostProjectionTranslationFieldId + 1,
00104         PostProjectionFieldId            = PreProjectionFieldId             + 1,
00105         NextFieldId                      = PostProjectionFieldId            + 1
00106     };


Constructor & Destructor Documentation

MatrixCameraDecorator::MatrixCameraDecorator void   )  [protected]
 

Definition at line 91 of file OSGMatrixCameraDecorator.cpp.

00091                                                  :
00092     Inherited()
00093 {
00094 }

MatrixCameraDecorator::MatrixCameraDecorator const MatrixCameraDecorator source  )  [protected]
 

Definition at line 96 of file OSGMatrixCameraDecorator.cpp.

00096                                                                                 :
00097     Inherited(source)
00098 {
00099 }

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

Definition at line 101 of file OSGMatrixCameraDecorator.cpp.

00102 {
00103 }


Member Function Documentation

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

Reimplemented from osg::CameraDecorator.

Definition at line 107 of file OSGMatrixCameraDecorator.cpp.

References osg::CameraDecorator::changed().

00108 {
00109     Inherited::changed(whichField, origin);
00110 }

void MatrixCameraDecorator::getProjection Matrix result,
UInt32  width,
UInt32  height
[virtual]
 

Get/calculate the projection matrix for this camera.

Reimplemented from osg::CameraDecorator.

Definition at line 113 of file OSGMatrixCameraDecorator.cpp.

References osg::CameraDecoratorBase::getDecoratee(), osg::MatrixCameraDecoratorBase::getPostProjection(), osg::MatrixCameraDecoratorBase::getPreProjection(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::TransformationMatrix< ValueTypeT >::multLeft().

00115 {        
00116     getDecoratee()->getProjection(result, width, height);
00117     
00118     result.multLeft(getPostProjection());
00119     result.mult(getPreProjection());
00120 }                                       

void MatrixCameraDecorator::getProjectionTranslation Matrix result,
UInt32  width,
UInt32  height
[virtual]
 

Get/calculate the projection translation matrix for this camera. The default is identity.

Reimplemented from osg::CameraDecorator.

Definition at line 122 of file OSGMatrixCameraDecorator.cpp.

References osg::CameraDecoratorBase::getDecoratee(), osg::MatrixCameraDecoratorBase::getPostProjectionTranslation(), osg::MatrixCameraDecoratorBase::getPreProjectionTranslation(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::TransformationMatrix< ValueTypeT >::multLeft().

00124 {        
00125     getDecoratee()->getProjectionTranslation(result, width, height);
00126     
00127     result.multLeft(getPostProjectionTranslation());
00128     result.mult(getPreProjectionTranslation());
00129 }                                       

void MatrixCameraDecorator::getViewing Matrix result,
UInt32  width,
UInt32  height
[virtual]
 

Get/calculate the viewing matrix for this camera. This is the inverse of the beacon's toWorld transformation.

Reimplemented from osg::CameraDecorator.

Definition at line 131 of file OSGMatrixCameraDecorator.cpp.

References osg::CameraDecoratorBase::getDecoratee(), osg::MatrixCameraDecoratorBase::getPostViewing(), osg::MatrixCameraDecoratorBase::getPreViewing(), osg::TransformationMatrix< ValueTypeT >::mult(), and osg::TransformationMatrix< ValueTypeT >::multLeft().

00133 {        
00134     getDecoratee()->getViewing(result, width, height);
00135     
00136     result.multLeft(getPostViewing());
00137     result.mult(getPreViewing());
00138 }                                       

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

Reimplemented from osg::CameraDecorator.

Definition at line 140 of file OSGMatrixCameraDecorator.cpp.

References SLOG.

00142 {
00143     SLOG << "Dump MatrixCameraDecorator NI" << std::endl;
00144 }

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

Reimplemented from osg::CameraDecorator.

Definition at line 76 of file OSGMatrixCameraDecorator.cpp.

00077 {
00078 }

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

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 58 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_type.

Referenced by osg::MatrixCameraDecoratorBase::create().

00059 {
00060     return _type; 
00061 } 

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 65 of file OSGMatrixCameraDecoratorBase.inl.

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

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

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 161 of file OSGMatrixCameraDecoratorBase.cpp.

References osg::MatrixCameraDecoratorBase::_type.

00162 {
00163     return _type; 
00164 } 

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 166 of file OSGMatrixCameraDecoratorBase.cpp.

References osg::MatrixCameraDecoratorBase::_type.

00167 {
00168     return _type;
00169 } 

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 181 of file OSGMatrixCameraDecoratorBase.cpp.

00182 { 
00183     return sizeof(MatrixCameraDecorator); 
00184 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPreViewing void   )  [inline, inherited]
 

Definition at line 101 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreViewing.

00102 {
00103     return &_sfPreViewing;
00104 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPostViewing void   )  [inline, inherited]
 

Definition at line 108 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostViewing.

00109 {
00110     return &_sfPostViewing;
00111 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPreProjectionTranslation void   )  [inline, inherited]
 

Definition at line 115 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjectionTranslation.

00116 {
00117     return &_sfPreProjectionTranslation;
00118 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPostProjectionTranslation void   )  [inline, inherited]
 

Definition at line 122 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjectionTranslation.

00123 {
00124     return &_sfPostProjectionTranslation;
00125 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPreProjection void   )  [inline, inherited]
 

Definition at line 129 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjection.

00130 {
00131     return &_sfPreProjection;
00132 }

SFMatrix * osg::MatrixCameraDecoratorBase::getSFPostProjection void   )  [inline, inherited]
 

Definition at line 136 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjection.

00137 {
00138     return &_sfPostProjection;
00139 }

Matrix & osg::MatrixCameraDecoratorBase::getPreViewing void   )  [inline, inherited]
 

Definition at line 144 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreViewing, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getViewing().

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

const Matrix & osg::MatrixCameraDecoratorBase::getPreViewing void   )  const [inline, inherited]
 

Definition at line 151 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreViewing, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00152 {
00153     return _sfPreViewing.getValue();
00154 }

Matrix & osg::MatrixCameraDecoratorBase::getPostViewing void   )  [inline, inherited]
 

Definition at line 165 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostViewing, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getViewing().

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

const Matrix & osg::MatrixCameraDecoratorBase::getPostViewing void   )  const [inline, inherited]
 

Definition at line 172 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostViewing, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00173 {
00174     return _sfPostViewing.getValue();
00175 }

Matrix & osg::MatrixCameraDecoratorBase::getPreProjectionTranslation void   )  [inline, inherited]
 

Definition at line 186 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getProjectionTranslation().

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

const Matrix & osg::MatrixCameraDecoratorBase::getPreProjectionTranslation void   )  const [inline, inherited]
 

Definition at line 193 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00194 {
00195     return _sfPreProjectionTranslation.getValue();
00196 }

Matrix & osg::MatrixCameraDecoratorBase::getPostProjectionTranslation void   )  [inline, inherited]
 

Definition at line 207 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getProjectionTranslation().

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

const Matrix & osg::MatrixCameraDecoratorBase::getPostProjectionTranslation void   )  const [inline, inherited]
 

Definition at line 214 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00215 {
00216     return _sfPostProjectionTranslation.getValue();
00217 }

Matrix & osg::MatrixCameraDecoratorBase::getPreProjection void   )  [inline, inherited]
 

Definition at line 228 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjection, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getProjection().

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

const Matrix & osg::MatrixCameraDecoratorBase::getPreProjection void   )  const [inline, inherited]
 

Definition at line 235 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjection, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00236 {
00237     return _sfPreProjection.getValue();
00238 }

Matrix & osg::MatrixCameraDecoratorBase::getPostProjection void   )  [inline, inherited]
 

Definition at line 249 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjection, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

Referenced by getProjection().

00250 {
00251     return _sfPostProjection.getValue();
00252 }

const Matrix & osg::MatrixCameraDecoratorBase::getPostProjection void   )  const [inline, inherited]
 

Definition at line 256 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjection, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().

00257 {
00258     return _sfPostProjection.getValue();
00259 }

void osg::MatrixCameraDecoratorBase::setPreViewing const Matrix value  )  [inline, inherited]
 

Definition at line 158 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreViewing, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00159 {
00160     _sfPreViewing.setValue(value);
00161 }

void osg::MatrixCameraDecoratorBase::setPostViewing const Matrix value  )  [inline, inherited]
 

Definition at line 179 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostViewing, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00180 {
00181     _sfPostViewing.setValue(value);
00182 }

void osg::MatrixCameraDecoratorBase::setPreProjectionTranslation const Matrix value  )  [inline, inherited]
 

Definition at line 200 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00201 {
00202     _sfPreProjectionTranslation.setValue(value);
00203 }

void osg::MatrixCameraDecoratorBase::setPostProjectionTranslation const Matrix value  )  [inline, inherited]
 

Definition at line 221 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjectionTranslation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00222 {
00223     _sfPostProjectionTranslation.setValue(value);
00224 }

void osg::MatrixCameraDecoratorBase::setPreProjection const Matrix value  )  [inline, inherited]
 

Definition at line 242 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPreProjection, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00243 {
00244     _sfPreProjection.setValue(value);
00245 }

void osg::MatrixCameraDecoratorBase::setPostProjection const Matrix value  )  [inline, inherited]
 

Definition at line 263 of file OSGMatrixCameraDecoratorBase.inl.

References osg::MatrixCameraDecoratorBase::_sfPostProjection, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().

00264 {
00265     _sfPostProjection.setValue(value);
00266 }

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

Reimplemented from osg::CameraDecoratorBase.

Definition at line 253 of file OSGMatrixCameraDecoratorBase.cpp.

References osg::MatrixCameraDecoratorBase::_sfPostProjection, osg::MatrixCameraDecoratorBase::_sfPostProjectionTranslation, osg::MatrixCameraDecoratorBase::_sfPostViewing, osg::MatrixCameraDecoratorBase::_sfPreProjection, osg::MatrixCameraDecoratorBase::_sfPreProjectionTranslation, osg::MatrixCameraDecoratorBase::_sfPreViewing, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::CameraDecoratorBase::getBinSize(), osg::FieldBits::NoField, osg::MatrixCameraDecoratorBase::PostProjectionFieldMask, osg::MatrixCameraDecoratorBase::PostProjectionTranslationFieldMask, osg::MatrixCameraDecoratorBase::PostViewingFieldMask, osg::MatrixCameraDecoratorBase::PreProjectionFieldMask, osg::MatrixCameraDecoratorBase::PreProjectionTranslationFieldMask, and osg::MatrixCameraDecoratorBase::PreViewingFieldMask.

00254 {
00255     UInt32 returnValue = Inherited::getBinSize(whichField);
00256 
00257     if(FieldBits::NoField != (PreViewingFieldMask & whichField))
00258     {
00259         returnValue += _sfPreViewing.getBinSize();
00260     }
00261 
00262     if(FieldBits::NoField != (PostViewingFieldMask & whichField))
00263     {
00264         returnValue += _sfPostViewing.getBinSize();
00265     }
00266 
00267     if(FieldBits::NoField != (PreProjectionTranslationFieldMask & whichField))
00268     {
00269         returnValue += _sfPreProjectionTranslation.getBinSize();
00270     }
00271 
00272     if(FieldBits::NoField != (PostProjectionTranslationFieldMask & whichField))
00273     {
00274         returnValue += _sfPostProjectionTranslation.getBinSize();
00275     }
00276 
00277     if(FieldBits::NoField != (