|
| virtual | ~DtIndirectEntityManager () |
| | destructor More...
|
| |
| virtual bool | addInstance (DtUniqueID uniqueId, const DtModelDefinition &modelDefinition, const DtOsgModelInstance &modelInstance, DtModel *model, int modelSet, float modelScale, float modelRadius, bool daylightControlled, bool mapDofsSwitchesSequences, int lightPointGroupId) |
| | add an instance returns true if the instance was added. More...
|
| |
| virtual bool | addInstanceAsProp (DtUniqueID uniqueId, const DtModelDefinition &modelDefinition, const DtOsgModelInstance &modelInstance, DtModel *model, float modelScale, float modelRadius, bool daylightControlled, bool mapDofsSwitchesSequences, int lightPointGroupId) |
| | add an instance as a prop. More...
|
| |
| virtual bool | hasInstance (DtUniqueID uniqueId) const |
| | check whether an instance with this id exists. More...
|
| |
| virtual void | removeInstance (DtUniqueID uniqueID) |
| | remove an instance More...
|
| |
| virtual int | numInstances (void) const |
| | number of instances added to our manager More...
|
| |
| virtual void | mapMultiSwitches (DtUniqueID uniqueID, DtArticulatedModelParser::MapStateNumberToMultiSwitchList &multiSwitchesOfInstance) |
| | A model instance multi switches & sequences have the same hierarchy/positions as the original model (or first instance) because its cloned (so that per-entity switches/multi-switches can be manipulated on a per-instance basis) Indirect geometry maintains a list of the original/master switches from the original model in the same hierarchy This function is needed to be called so that it will map an instance multi-switches to the 'master' multi-switches We use the first instance as the 'master'. More...
|
| |
| virtual void | unMapMultiSwitches (DtUniqueID uniqueID) |
| | unmap previously mapped switches of the model instance More...
|
| |
| virtual void | mapSequences (DtUniqueID uniqueID, DtArticulatedModelParser::AnimationMap &animationMap) |
| | Similarly, map sequences. More...
|
| |
| virtual void | unMapSequences (DtUniqueID uniqueID) |
| | unmap previously mapped sequences More...
|
| |
| virtual void | mapDofs (DtUniqueID uniqueID, DtArticulatedModelParser::PartMap &partMap) |
| | Similarly, dofs. More...
|
| |
| virtual void | unMapDofs (DtUniqueID uniqueID) |
| | unmap previously mapped dofs More...
|
| |
| virtual void | setMultiSwitchActiveSwitchSet (DtUniqueID id, osgSim::MultiSwitch *multiSwitchOfInstance) |
| | set the multi-switch state on a multi-switch of an instance More...
|
| |
| virtual void | setSequenceUpdate (DtUniqueID uniqueID, osg::Sequence *dof) |
| | set sequence update More...
|
| |
| virtual void | setUvOffsetUpdate (DtUniqueID uniqueID, const std::string &annotation, float uOffset, float vOffset) |
| | set the uv offset for a particular model and annotation More...
|
| |
| virtual void | scrollUvTextures (DtUniqueID uniqueID, float uOffset, float vOffset) |
| | set the uv offset for a particular model and all the scrollable ids More...
|
| |
| virtual void | setDofUpdate (DtUniqueID uniqueID, osgSim::DOFTransform *dof) |
| | map sequences More...
|
| |
| virtual void | setDofTranslation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &trans, const Vector3_64 &transVel) |
| | set the translation and translation velocity on a dof More...
|
| |
| virtual void | setDofOrientation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &hpr, const Vector3_64 &hprVel) |
| | set the HPR (heading, pitch and roll) & HPR velocity on a dof More...
|
| |
| virtual void | setDofOrientation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &hprVel, bool forceUpdate) |
| | set the HPR velocity on a dof More...
|
| |
| void | slot_atcGlobalModelEnableChanged () |
| | Slot to handle the global alpha to coverage signal for entities Called by constructor so can't be virtual. More...
|
| |
| virtual void | setPositionAndOrientation (DtUniqueID uniqueId, const DtVector &position, const DtTaitBryan &orientation, const DtVector &positionOffset, const DtTaitBryan &orientationOffset) |
| | update the position and orientation of a particular model instance. More...
|
| |
| virtual void | setColor (DtUniqueID uniqueId, const Vector4_32 &color) |
| | set the color modulator of a particular model instance. More...
|
| |
| virtual void | setOtherData0 (DtUniqueID uniqueId, const Vector4_32 &data) |
| | set the otherData0 of a particular model instance. More...
|
| |
| virtual void | setVisible (DtUniqueID uniqueId, bool visible) |
| | set the visibility of a particular model instance. More...
|
| |
| virtual void | setLightPointMaxDistance (DtUniqueID uniqueId, float maxDistance) |
| | set the max distance for a light point of a particular model instance More...
|
| |
| virtual void | slot_postTick () |
| | handle the postTick signal. More...
|
| |
|
| virtual void | setTextureLoadTimeSlicePeriod (float period) |
| | set/get the time slice period/budget to load textures of models per tick (in seconds). More...
|
| |
| virtual float | textureLoadTimeSlicePeriod (void) const |
| |
|
| virtual void | setUpdateBuffersJobsRequiredCurrentFrame (bool requiredCurrentFrame) |
| | set/get whether to force immediate update of internal gpu buffers for rendering of the model instances/entities Internal gpu buffers are not necessarily updated in a given frame/tick even if they are dirty (i.e. More...
|
| |
| virtual bool | updateBuffersJobsRequiredCurrentFrame (void) const |
| |
|
| virtual void | setCellPageOutTime (double val) |
| | set/get the page out time of the cells cells get paged out/deleted after they have been inactive for this period of time in seconds. More...
|
| |
| virtual double | cellPageOutTime (void) const |
| |
| | DtVirtualBaseClass () |
| | Do nothing constructor. More...
|
| |
| virtual | ~DtVirtualBaseClass () |
| | Virtual do nothing destructor. More...
|
| |
|
typedef std::unordered_map
< int, DtIndirectGeometryGrid * > | MapModelSetToDtIndirectGeometryGrids |
| | There is one grid per model set type in the manager Each grid contains a list of 'cells' Each cell contains an indirect geometry each indirect geometry contains a number of instances. More...
|
| |
typedef std::unordered_map
< DtUniqueID,
DtIndirectEntityManagerInstance > | MapUniqueIdsToEntityManagerInstances |
| | map of unique ids to the corresponding DtIndirectEntityManagerInstances More...
|
| |
typedef std::unordered_map
< osgSim::MultiSwitch
*, osg::ref_ptr
< osgSim::MultiSwitch > > | MapMultiSwitchesToMultiSwitches |
| |
typedef std::unordered_map
< DtUniqueID,
MapMultiSwitchesToMultiSwitches > | MapInstanceMultiSwitchesToMasterMultiSwitches |
| |
typedef std::unordered_map
< std::string,
DtArticulatedModelParser::MapStateNumberToMultiSwitchList > | MapModelNameToMasterMapStateNumberToMultiSwitchList |
| |
typedef std::unordered_map
< std::string,
DtArticulatedModelParser::PartMap > | MapModelNameToMasterMapStateNumberToDof |
| |
typedef std::unordered_map
< osgSim::DOFTransform
*, osg::ref_ptr
< osgSim::DOFTransform > > | MapDofToDof |
| |
typedef std::unordered_map
< DtUniqueID, MapDofToDof > | MapInstanceDofToMasterDof |
| |
typedef std::unordered_map
< std::string,
DtArticulatedModelParser::AnimationMap > | MapModelNameToMasterMapStateNumberToSequence |
| |
typedef std::unordered_map
< osg::Sequence
*, osg::ref_ptr< osg::Sequence > > | MapSequenceToSequence |
| |
typedef std::unordered_map
< DtUniqueID,
MapSequenceToSequence > | MapInstanceSequenceToMasterSequence |
| |
typedef std::unordered_map
< Vector3_int,
StartAndCurrentTime,
DtIndirectCellHasher > | CellIdsWithZeroInstancesUpTime |
| | map of inactive cells to their start and current time More...
|
| |
typedef std::unordered_map
< int,
CellIdsWithZeroInstancesUpTime > | GridToCellIdsWithZeroInstancesUpTime |
| | map of each grid (model set) to inactive cells in that grid More...
|
| |
|
| | DtIndirectEntityManager (DtDe &de) |
| | constructor. protected. only creator can create More...
|
| |
virtual
DtIndirectEntityManagerInstanceMoveInfo * | createMoveInfoIfNecessary (const DtVector &position, DtIndirectEntityManagerInstance ¤tEntityManagerInstance, DtUniqueID uniqueId) |
| | See if we are moving from old cell to new cell for this position If we are, returns the move info to do this move. More...
|
| |
| virtual void | configureIndirectGeometry (DtIndirectGeometry *indirectGeometry) |
| | initialize uniform and fading needed for entity indirect geometries. More...
|
| |
| virtual osgSim::DOFTransform * | findMasterDof (DtUniqueID uniqueID, osgSim::DOFTransform *dof) const |
| | get the master dof for a unique id and clone dof More...
|
| |
| virtual DtIndirectGeometry * | findIndirectGeometryAndInstanceId (DtUniqueID uniqueID, int &instanceId) const |
| | find the indirect geometry for a given unique id More...
|
| |
| virtual void | calculateAndSetInstanceMatrixTransform (const DtVector &position, const DtTaitBryan &orientation, const DtVector &positionOffset, const DtTaitBryan &orientationOffset, DtIndirectGeometry *indirectGeometry, int instanceId) |
| | utility function for calculating the instance matrix transform for a paricular instance in an indirect geometry. More...
|
| |
| virtual void | tickEntityMoves (void) |
| | update entity moves More...
|
| |
| virtual void | tickPaging (void) |
| | page out entities that have had 0 instances for page time seconds More...
|
| |
| virtual bool | instanceIsBeingMovedTo (const Vector3_int &cellId) |
| | whether a cell figures in move info being moved to More...
|
| |
| void | setupRootNodes () |
| | not virtual because it is called by the constructor. Sets up the geometry grids with the root nodes. More...
|
| |
singleton class that acts as a bridge between the
- See Also
- DtOsgArticulatedModel & the indirect rendering (DtIndirectGoemetry). It routes functions/state on
-
DtOsgArticulatedModel to
-
DtIndirectGeometry. It does this by maintaining an internal map of
-
DtOsgArticulatedModel to the corresponding
-
DtIndirectEntityManagerInstance (the unique id is used as the key). The indirect geometries are held/created/deleted by the
-
DtIndirectGeometryGrid which contains a geo located cell for each area that has at least one entity. As entities move around they can move between cells as needed. There is also a
-
DtIndirectGeometryGrid per model set so that each model set.