OSG::AlgorithmStageBase Class Reference

AlgorithmStage Base Class.

#include <OSGAlgorithmStageBase.h>

Inheritance diagram for OSG::AlgorithmStageBase:

OSG::Stage OSG::StageBase OSG::StageHandlerMixin< ContainerMixinHead< StageDesc > > OSG::ContainerMixinHead< StageDesc > OSG::Group OSG::GroupBase OSG::NodeCore OSG::AttachmentContainer OSG::FieldContainer OSG::ReflexiveContainer OSG::AlgorithmStage List of all members.

dcast



typedef FieldContainerAttachment AttachmentObj
typedef FieldContainerAttachmentPtr AttachmentObjPtr
typedef SFFieldContainerAttachmentPtrMap SFAttachmentObjPtrMap
typedef SFAttachmentObjPtrMap::StoredType AttachmentObjPtrMap
typedef AttachmentObjPtrMap::iterator AttachmentObjPtrMapIt
 OSG_GEN_INTERNALPTR (AttachmentContainer)

Public Types

enum  { AlgorithmFieldId = Inherited::NextFieldId, ProjectionModeFieldId = AlgorithmFieldId + 1, ProjectionMatrixFieldId = ProjectionModeFieldId + 1, NextFieldId = ProjectionMatrixFieldId + 1 }
typedef Stage Inherited
typedef Stage ParentContainer
typedef Inherited::TypeObject TypeObject
typedef TypeObject::InitPhase InitPhase
enum  { RenderTargetFieldId = Inherited::NextFieldId, InheritedTargetFieldId = RenderTargetFieldId + 1, NextFieldId = InheritedTargetFieldId + 1 }
enum  UpdateMode
enum  GroupMode
typedef StageHandlerMixin<
ContainerMixinHead< StageDesc > > 
Self
typedef ContainerMixinHead<
StageDesc >::Desc 
Desc
typedef StageValidator::ValidationStatus ValidationStatus
typedef MFParentFieldContainerPtr ParentField
typedef const MFParentFieldContainerPtr * ParentFieldPtr
typedef MFParentFieldContainerPtr::const_iterator ParentFieldIt
Type definitions


typedef Field *(ReflexiveContainer::*) FieldEditMethod (void)
typedef const Field *(ReflexiveContainer::*) FieldGetMethod (void) const

Public Member Functions

 OSG_GEN_INTERNALPTR (AlgorithmStage)
 OSG_GEN_INTERNALPTR (Stage)
 OSG_GEN_INTERNALPTR (Group)
 OSG_GEN_INTERNALPTR (NodeCore)
 OSG_RC_FIRST_FIELD_DECL (UpdateMode)
 OSG_RC_FIRST_FIELD_DECL (Parents)
 OSG_RC_LAST_FIELD_DECL (UpdateMode)
 OSG_RC_LAST_FIELD_DECL (Parents)
ValidationStatus validateOnEnter (RenderTraversalActionBase *pAction)
ValidationStatus validateOnLeave (RenderTraversalActionBase *pAction)
void pushPartition (RenderTraversalActionBase *pAction, UInt32 uiCopyOnPush=0x0000, RenderPartitionBase::Mode eMode=RenderPartitionBase::StateSorting)
void popPartition (RenderTraversalActionBase *pAction)
void beginPartitionGroup (RenderTraversalActionBase *pAction)
void endPartitionGroup (RenderTraversalActionBase *pAction)
void beginPartitions (RenderTraversalActionBase *pAction)
void endPartitions (RenderTraversalActionBase *pAction)
void setUpdateMode (UpdateMode eMode)
UInt32 getUpdateMode (void) const
SFUInt32 * editSFUpdateMode (void)
const SFUInt32 * getSFUpdateMode (void) const
void setData (StageDataP pData, Int32 iDataSlotId, RenderTraversalActionBase *pAction)
FieldContainer Get


virtual FieldContainerTypegetType (void)
virtual const FieldContainerTypegetType (void) const
virtual UInt32 getContainerSize (void) const
Field Get


const SFAlgorithmPtr * getSFAlgorithm (void) const
 Get the AlgorithmStage::_sfAlgorithm field.
SFUInt32 * editSFProjectionMode (void)
 Get the AlgorithmStage::_sfAlgorithm field.
const SFUInt32 * getSFProjectionMode (void) const
 Get the AlgorithmStage::_sfAlgorithm field.
SFMatrix * editSFProjectionMatrix (void)
 Get the AlgorithmStage::_sfAlgorithm field.
const SFMatrix * getSFProjectionMatrix (void) const
 Get the AlgorithmStage::_sfAlgorithm field.
AlgorithmPtrConst getAlgorithm (void) const
 Get the value of the AlgorithmStage::_sfAlgorithm field.
UInt32 & editProjectionMode (void)
 Get the value of the AlgorithmStage::_sfProjectionMode field.
const UInt32 & getProjectionMode (void) const
 Get the value of the AlgorithmStage::_sfProjectionMode field.
MatrixeditProjectionMatrix (void)
 Get the value of the AlgorithmStage::_sfProjectionMatrix field.
const MatrixgetProjectionMatrix (void) const
 Get the value of the AlgorithmStage::_sfProjectionMatrix field.
Field Set


void setAlgorithm (AlgorithmPtrConstArg value)
 Set the value of the AlgorithmStage::_sfAlgorithm field.
void setProjectionMode (const UInt32 &value)
 Set the value of the AlgorithmStage::_sfProjectionMode field.
void setProjectionMatrix (const Matrix &value)
 Set the value of the AlgorithmStage::_sfProjectionMatrix field.
Binary Access


virtual UInt32 getBinSize (ConstFieldMaskArg whichField)
virtual void copyToBin (BinaryDataHandler &pMem, ConstFieldMaskArg whichField)
virtual void copyFromBin (BinaryDataHandler &pMem, ConstFieldMaskArg whichField)
Copy


virtual FieldContainerPtr shallowCopy (void) const
Sync


virtual void changed (ConstFieldMaskArg whichField, UInt32 origin, BitVector detail)
Dump


virtual void dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const
Type definitions


 OSG_GEN_INTERNALPTR (FieldContainer)
 OSG_RC_FIRST_FIELD_DECL (ChangedCallbacks)
 OSG_RC_LAST_FIELD_DECL (ChangedCallbacks)
Field Get


const SFFrameBufferObjectPtr * getSFRenderTarget (void) const
 Get the Stage::_sfRenderTarget field.
SFBool * editSFInheritedTarget (void)
 Get the Stage::_sfRenderTarget field.
const SFBool * getSFInheritedTarget (void) const
 Get the Stage::_sfRenderTarget field.
FrameBufferObjectPtrConst getRenderTarget (void) const
 Get the value of the Stage::_sfRenderTarget field.
bool & editInheritedTarget (void)
 Get the value of the Stage::_sfInheritedTarget field.
const bool & getInheritedTarget (void) const
 Get the value of the Stage::_sfInheritedTarget field.
Field Set


void setRenderTarget (FrameBufferObjectPtrConstArg value)
 Set the value of the Stage::_sfRenderTarget field.
void setInheritedTarget (const bool &value)
 Set the value of the Stage::_sfInheritedTarget field.
Constructors


 OSG_RC_FIRST_FIELD_DECL (Attachments)
 OSG_RC_LAST_FIELD_DECL (Attachments)
Helper


const MFParentFieldContainerPtr & getParents (void) const
Get


const MFParentFieldContainerPtr * getMFParents (void) const
Changed


virtual void accumulateMatrix (Matrixr &result)
MT Destruction


virtual void adjustVolume (Volume &volume)
Comparison


virtual void invalidateVolume (void)
Dump


void addParent (FieldContainerPtrConst &parent, const UInt16 uiStoredInFieldId=InvalidParentEPos)
void subParent (FieldContainerPtrConst &parent)
Set


void addAttachment (const AttachmentObjPtr attachmentP, UInt16 binding=0)
void subAttachment (const AttachmentObjPtr attachmentP, UInt16 binding=0)
AttachmentObjPtr findAttachment (UInt32 groupId, UInt16 binding=0)
AttachmentObjPtr findAttachment (const FieldContainerType &type, UInt16 binding=0)
your_category


const SFAttachmentObjPtrMapgetSFAttachments (void) const
Set


void callChangedFunctors (ConstFieldMaskArg whichField)
Container Access


UInt32 addChangedFunctor (ChangedFunctor func, std::string createSymbol)
template<class FunctorT>
void subChangedFunctor (FunctorT func)
void subChangedFunctor (UInt32 uiId)
void clearChangedFunctors (void)
Field Flags


const FieldFlagsgetFieldFlags (void)
Helper


OSG_SYSTEM_DLLMAPPING void addReference (void)
OSG_SYSTEM_DLLMAPPING void subReference (void)
OSG_SYSTEM_DLLMAPPING void subReferenceLocalVar (void)
OSG_SYSTEM_DLLMAPPING Int32 getRefCount (void) const
dcast


OSG_SYSTEM_DLLMAPPING UInt32 getTypeId (void) const
OSG_SYSTEM_DLLMAPPING UInt16 getGroupId (void) const
OSG_SYSTEM_DLLMAPPING const
Char8 * 
getTypeName (void) const
Get Field


OSG_SYSTEM_DLLMAPPING UInt32 getNumFields (void) const
OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr editField (UInt32 fieldId)
OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr editField (const Char8 *fieldName)
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr getField (UInt32 fieldId) const
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr getField (const Char8 *fieldName) const
Get Field Description


OSG_SYSTEM_DLLMAPPING FieldDescriptionBasegetFieldDescription (UInt32 fieldId)
OSG_SYSTEM_DLLMAPPING FieldDescriptionBasegetFieldDescription (const Char8 *fieldName)
Comparison


OSG_SYSTEM_DLLMAPPING EditFieldHandlePtr invalidEditField (void)
OSG_SYSTEM_DLLMAPPING GetFieldHandlePtr invalidGetField (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
static UInt16 getClassGroupId (void)
 access the type of the class
Construction


static AlgorithmStagePtr create (void)
 create a new instance of the class
static AlgorithmStagePtr createEmpty (void)
 create an empty new instance of the class, do not copy the prototype

Public Attributes

 OSG_RC_NO_FIELD_DECL
dcast


 OSG_ABSTR_FIELD_CONTAINER_DECL

Static Public Attributes

static const OSG::BitVector AlgorithmFieldMask
static const OSG::BitVector ProjectionModeFieldMask
static const OSG::BitVector ProjectionMatrixFieldMask
static const OSG::BitVector NextFieldMask
static const OSG::BitVector RenderTargetFieldMask
static const OSG::BitVector InheritedTargetFieldMask
static const bool isNodeCore = true

Protected Member Functions

void onCreate (const Self *source=NULL)
ValidationStatus validate (RenderTraversalActionBase *pAction)
EditFieldHandlePtr editHandleUpdateMode (void)
GetFieldHandlePtr getHandleUpdateMode (void) const
void onCreateAspect (const Self *createAspect, const Self *source=NULL)
void onDestroy (UInt32 uiContainerId)
Constructors


 AlgorithmStageBase (void)
 AlgorithmStageBase (const AlgorithmStageBase &source)
Destructors


virtual ~AlgorithmStageBase (void)
onCreate


void onCreate (const AlgorithmStage *source=NULL)
Generic Field Access


GetFieldHandlePtr getHandleAlgorithm (void) const
EditFieldHandlePtr editHandleAlgorithm (void)
GetFieldHandlePtr getHandleProjectionMode (void) const
EditFieldHandlePtr editHandleProjectionMode (void)
GetFieldHandlePtr getHandleProjectionMatrix (void) const
EditFieldHandlePtr editHandleProjectionMatrix (void)
Sync


virtual void resolveLinks (void)
Draw


ActionBase::ResultE render (Action *action)
onCreate


void onCreate (const Stage *source=NULL)
MT Construction


OSG_SYSTEM_DLLMAPPING void onCreate (const FieldContainer *source=NULL)
OSG_SYSTEM_DLLMAPPING void onCreateAspect (const FieldContainer *createAspect, const FieldContainer *source=NULL)
Changed


OSG_SYSTEM_DLLMAPPING void onCreate (const ReflexiveContainer *source=NULL)
virtual OSG_SYSTEM_DLLMAPPING
void 
onDestroyAspect (UInt32 uiContainerId, UInt32 uiAspect)
Generic Field Access


GetFieldHandlePtr getHandleRenderTarget (void) const
EditFieldHandlePtr editHandleRenderTarget (void)
GetFieldHandlePtr getHandleInheritedTarget (void) const
EditFieldHandlePtr editHandleInheritedTarget (void)
Action Callbacks


ActionBase::ResultE renderEnter (Action *action)
ActionBase::ResultE renderLeave (Action *action)
ActionBase::ResultE intersect (Action *action)
Edit


GetFieldHandlePtr getHandleParents (void) const
Sync


EditFieldHandlePtr editHandleAttachments (void)
GetFieldHandlePtr getHandleAttachments (void) const
Edit


OSG_SYSTEM_DLLMAPPING void subReferenceUnresolved (void)
MT Construction


virtual OSG_SYSTEM_DLLMAPPING
bool 
deregister (UInt32 uiContainerId)
MT Construction


OSG_SYSTEM_DLLMAPPING void registerChangedContainer (void)
virtual OSG_SYSTEM_DLLMAPPING
void 
registerChangedContainerV (void)
Local Edit


void editSField (ConstFieldMaskArg whichField)
template<class FieldT>
void editMField (ConstFieldMaskArg whichField, FieldT &oField)
MT Destruction


void execEndEdit (ConstFieldMaskArg whichField)
void clearChangeEntry (ContainerChangeEntry *pRef)
Edit


OSG_SYSTEM_DLLMAPPING void setId (UInt32 uiContainerId)
OSG_SYSTEM_DLLMAPPING UInt32 getId (void) const

Static Protected Member Functions

static void classDescInserter (TypeObject &oType)
static Char8 * getClassname (void)
static void classDescInserter (TypeObject &oType)
Init


static void initMethod (InitPhase ePhase)
Fields


static void classDescInserter (TypeObject &oType)
MT Construction


template<class ObjectT>
static void newPtr (typename ObjectT::ObjPtr &result, const ObjectT *prototypeP)
template<class ObjectT>
static void newPtr (typename ObjectT::ObjPtr &result)

Protected Attributes

Int32 _iDataSlotId
Int32 _iStageId
StageValidator::ValidationStatus _tmpStatus
SFUInt32 _sfUpdateMode
Fields


SFAlgorithmPtr _sfAlgorithm
SFUInt32 _sfProjectionMode
SFMatrix _sfProjectionMatrix
Fields


SFFrameBufferObjectPtr _sfRenderTarget
SFBool _sfInheritedTarget
Fields


MFParentFieldContainerPtr _mfParents
Fields


SFAttachmentObjPtrMap _sfAttachments
Type information


FieldFlags_pFieldFlags
MFChangedFunctorCallback _mfChangedFunctors
Int32 _iRefCount
Member


BitVector _bvChanged
ContainerChangeEntry_pContainerChanges
UInt32 _uiContainerId

Static Protected Attributes

static TypeObject _type

Private Member Functions

void operator= (const AlgorithmStageBase &source)

Detailed Description

Definition at line 80 of file OSGAlgorithmStageBase.h.


Member Typedef Documentation

Reimplemented from OSG::Stage.

Reimplemented in OSG::AlgorithmStage.

Definition at line 84 of file OSGAlgorithmStageBase.h.

Reimplemented from OSG::StageBase.

Definition at line 85 of file OSGAlgorithmStageBase.h.

Reimplemented from OSG::StageBase.

Definition at line 87 of file OSGAlgorithmStageBase.h.

Reimplemented from OSG::StageBase.

Definition at line 88 of file OSGAlgorithmStageBase.h.

Reimplemented from OSG::AttachmentContainer.

Definition at line 73 of file OSGStageHandlerMixin.h.

Reimplemented from OSG::ContainerMixinHead< StageDesc >.

Definition at line 75 of file OSGStageHandlerMixin.h.

Definition at line 78 of file OSGStageHandlerMixin.h.

typedef MFParentFieldContainerPtr OSG::NodeCore::ParentField [inherited]

Definition at line 77 of file OSGNodeCore.h.

typedef const MFParentFieldContainerPtr* OSG::NodeCore::ParentFieldPtr [inherited]

Definition at line 78 of file OSGNodeCore.h.

typedef MFParentFieldContainerPtr::const_iterator OSG::NodeCore::ParentFieldIt [inherited]

Definition at line 79 of file OSGNodeCore.h.

Definition at line 70 of file OSGAttachmentContainer.h.

typedef FieldContainerAttachmentPtr OSG::AttachmentContainer::AttachmentObjPtr [inherited]

Definition at line 71 of file OSGAttachmentContainer.h.

typedef SFFieldContainerAttachmentPtrMap OSG::AttachmentContainer::SFAttachmentObjPtrMap [inherited]

Definition at line 72 of file OSGAttachmentContainer.h.

typedef SFAttachmentObjPtrMap::StoredType OSG::AttachmentContainer::AttachmentObjPtrMap [inherited]

Definition at line 74 of file OSGAttachmentContainer.h.

typedef AttachmentObjPtrMap::iterator OSG::AttachmentContainer::AttachmentObjPtrMapIt [inherited]

Definition at line 75 of file OSGAttachmentContainer.h.

typedef Field*(ReflexiveContainer::*) OSG::ReflexiveContainer::FieldEditMethod(void) [inherited]

Definition at line 79 of file OSGReflexiveContainer.h.

typedef const Field*(ReflexiveContainer::*) OSG::ReflexiveContainer::FieldGetMethod(void) const [inherited]

Definition at line 81 of file OSGReflexiveContainer.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
AlgorithmFieldId 
ProjectionModeFieldId 
ProjectionMatrixFieldId 
NextFieldId 

Definition at line 96 of file OSGAlgorithmStageBase.h.

00097     {
00098         AlgorithmFieldId = Inherited::NextFieldId,
00099         ProjectionModeFieldId = AlgorithmFieldId + 1,
00100         ProjectionMatrixFieldId = ProjectionModeFieldId + 1,
00101         NextFieldId = ProjectionMatrixFieldId + 1
00102     };

anonymous enum [inherited]

Enumerator:
RenderTargetFieldId 
InheritedTargetFieldId 
NextFieldId 

Definition at line 97 of file OSGStageBase.h.

00098     {
00099         RenderTargetFieldId = Inherited::NextFieldId,
00100         InheritedTargetFieldId = RenderTargetFieldId + 1,
00101         NextFieldId = InheritedTargetFieldId + 1
00102     };

Definition at line 80 of file OSGStageHandlerMixin.h.

00081     {
00082         PerWindow    = 0x0001,
00083         PerViewport  = 0x0002,
00084         PerTraversal = 0x0003,
00085 
00086         PerVisit     = 0x0004
00087     };

Definition at line 89 of file OSGStageHandlerMixin.h.

00090     {
00091         NoPartitionGroup = 0x0000,
00092         InPartitionGroup = 0x0001,
00093         InPartitionList  = 0x0002
00094     };


Constructor & Destructor Documentation

OSG::AlgorithmStageBase::AlgorithmStageBase ( void   )  [protected]

Definition at line 361 of file OSGAlgorithmStageBase.cpp.

00361                                            :
00362     Inherited(),
00363     _sfAlgorithm              (AlgorithmPtr(NullFC)),
00364     _sfProjectionMode         (UInt32(0x0001)),
00365     _sfProjectionMatrix       ()
00366 {
00367 }

OSG::AlgorithmStageBase::AlgorithmStageBase ( const AlgorithmStageBase source  )  [protected]

Definition at line 369 of file OSGAlgorithmStageBase.cpp.

00369                                                                        :
00370     Inherited(source),
00371     _sfAlgorithm              (NullFC),
00372     _sfProjectionMode         (source._sfProjectionMode         ),
00373     _sfProjectionMatrix       (source._sfProjectionMatrix       )
00374 {
00375 }

OSG::AlgorithmStageBase::~AlgorithmStageBase ( void   )  [protected, virtual]

Definition at line 380 of file OSGAlgorithmStageBase.cpp.

00381 {
00382 }


Member Function Documentation

OSG::AlgorithmStageBase::OSG_GEN_INTERNALPTR ( AlgorithmStage   ) 

OSG::FieldContainerType & OSG::AlgorithmStageBase::getClassType ( void   )  [inline, static]

Reimplemented from OSG::StageBase.

Definition at line 56 of file OSGAlgorithmStageBase.inl.

References _type.

Referenced by create().

00057 {
00058     return _type;
00059 }

OSG::UInt32 OSG::AlgorithmStageBase::getClassTypeId ( void   )  [inline, static]

Reimplemented from OSG::StageBase.

Definition at line 63 of file OSGAlgorithmStageBase.inl.

References _type, and OSG::TypeBase::getId().

00064 {
00065     return _type.getId();
00066 }

OSG::UInt16 OSG::AlgorithmStageBase::getClassGroupId ( void   )  [inline, static]

Reimplemented from OSG::StageBase.

Definition at line 69 of file OSGAlgorithmStageBase.inl.

References _type, and OSG::ReflexiveContainerType::getGroupId().

00070 {
00071     return _type.getGroupId();
00072 }

FieldContainerType & OSG::AlgorithmStageBase::getType ( void   )  [virtual]

Reimplemented from OSG::StageBase.

Definition at line 198 of file OSGAlgorithmStageBase.cpp.

References _type.

00199 {
00200     return _type;
00201 }

const FieldContainerType & OSG::AlgorithmStageBase::getType ( void   )  const [virtual]

Reimplemented from OSG::StageBase.

Definition at line 203 of file OSGAlgorithmStageBase.cpp.

References _type.

00204 {
00205     return _type;
00206 }

UInt32 OSG::AlgorithmStageBase::getContainerSize ( void   )  const [virtual]

Reimplemented from OSG::StageBase.

Definition at line 208 of file OSGAlgorithmStageBase.cpp.

00209 {
00210     return sizeof(AlgorithmStage);
00211 }

const SFAlgorithmPtr * OSG::AlgorithmStageBase::getSFAlgorithm ( void   )  const

Definition at line 217 of file OSGAlgorithmStageBase.cpp.

References _sfAlgorithm.

00218 {
00219     return &_sfAlgorithm;
00220 }

SFUInt32 * OSG::AlgorithmStageBase::editSFProjectionMode ( void   ) 

const SFUInt32 * OSG::AlgorithmStageBase::getSFProjectionMode ( void   )  const

Definition at line 229 of file OSGAlgorithmStageBase.cpp.

References _sfProjectionMode.

00230 {
00231     return &_sfProjectionMode;
00232 }

SFMatrix * OSG::AlgorithmStageBase::editSFProjectionMatrix ( void   ) 

const SFMatrix * OSG::AlgorithmStageBase::getSFProjectionMatrix