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
-
DtOsgIndirectEntityManagerInstance (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.
|
| virtual | ~DtOsgIndirectEntityManager () |
| |
| virtual bool | addInstance (DtUniqueID uniqueId, const DtModelDefinition &modelDefinition, const DtOsgModelInstance &modelInstance, DtModel *model, DtModelSetId modelSet, float modelScale, float modelRadius, bool daylightControlled, bool mapDofsSwitchesSequences, const DtLightPointGroupInfo &lightPointGroupInfo, bool trackLifeTime, const std::string &trackName) |
| |
| virtual bool | addInstanceAsProp (DtUniqueID uniqueId, const DtModelDefinition &modelDefinition, const DtOsgModelInstance &modelInstance, DtModel *model, float modelScale, float modelRadius, bool daylightControlled, bool mapDofsSwitchesSequences, int lightPointGroupId) |
| |
| virtual bool | hasInstance (DtUniqueID uniqueId) const |
| |
| virtual void | removeInstance (DtUniqueID uniqueID) |
| |
| virtual int | numInstances (void) const |
| |
| virtual void | mapMultiSwitches (DtUniqueID uniqueID, DtArticulatedModelParser::MapStateNumberToMultiSwitchList &multiSwitchesOfInstance) |
| |
| virtual void | unMapMultiSwitches (DtUniqueID uniqueID) |
| |
| virtual void | mapSequences (DtUniqueID uniqueID, DtArticulatedModelParser::AnimationMap &animationMap) |
| |
| virtual void | unMapSequences (DtUniqueID uniqueID) |
| |
| virtual void | mapDofs (DtUniqueID uniqueID, DtArticulatedModelParser::PartMap &partMap) |
| |
| virtual void | unMapDofs (DtUniqueID uniqueID) |
| |
| virtual void | setMultiSwitchActiveSwitchSet (DtUniqueID id, osgSim::MultiSwitch *multiSwitchOfInstance) |
| |
| virtual void | setSequenceUpdate (DtUniqueID uniqueID, osg::Sequence *dof) |
| |
| virtual void | setUvOffsetUpdate (DtUniqueID uniqueID, const std::string &annotation, float uOffset, float vOffset) |
| |
| virtual void | scrollUvTextures (DtUniqueID uniqueID, const std::tuple< float, float, float > &uvspeeds) |
| |
| virtual void | setDofUpdate (DtUniqueID uniqueID, osgSim::DOFTransform *dof) |
| |
| virtual void | setDofAnimationFlags (DtUniqueID uniqueID, osgSim::DOFTransform *dof, int animationFlags) |
| |
| virtual void | setDofTranslation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &trans, const Vector3_64 &transVel) |
| |
| virtual void | setDofOrientation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &hpr, const Vector3_64 &hprVel, int animationFlags) |
| |
| virtual void | setDofOrientation (DtUniqueID uniqueID, osgSim::DOFTransform *dof, const Vector3_64 &hprVel, bool forceUpdate, int animationFlags) |
| |
| void | slot_atcGlobalModelEnableChanged () |
| |
| virtual void | setPositionAndOrientation (DtUniqueID uniqueId, const DtVector &position, const DtTaitBryan &orientation, const DtVector &positionOffset, const DtTaitBryan &orientationOffset) |
| |
| virtual void | setColor (DtUniqueID uniqueId, const Vector4_32 &color) |
| |
| virtual void | setOtherData0 (DtUniqueID uniqueId, const Vector4_32 &data) |
| |
| virtual void | setVisible (DtUniqueID uniqueId, bool visible) |
| |
| virtual void | setLightPointGroupId (DtUniqueID uniqueId, int groupId) |
| |
| virtual void | setLightPointMaxDistance (DtUniqueID uniqueId, float maxDistance) |
| |
| virtual void | tick (void) override |
| |
| virtual void | slot_releaseResources () |
| |
| virtual void | slot_postTick () |
| |
| virtual void | slot_postInit () |
| |
| virtual void | excludeTextureFromLimits (const std::string &textureFileAbolutePath) |
| |
| virtual void | excludeModelDefinitionFromLimits (const std::string &modelDefinition) |
| |
virtual
DtIndirectLimitTextureStrategy * | limitTextureStrategy (DtModelSetId modelSet) |
| |
| virtual bool | isCopyingData (void) const |
| |
|
| virtual void | setCellPageOutTime (double val) |
| |
| virtual double | cellPageOutTime (void) const |
| |
|
| virtual bool | areRegisteredModelTextureVariants (DtModelSetId modelSet, const std::string &fileName) const |
| |
| virtual void | registerModelTextureVariants (DtModelSetId modelSet, const DtModelDefinition *modelDefinition, const std::vector< std::string > &variantPaths) |
| |
| virtual void | setModelTextureVariant (DtUniqueID uniqueId, const std::string &variant) |
| |
| virtual | ~DtIndirectEntityManager () |
| |
| | DtIndirectEntityManager ()=delete |
| |
| | DtIndirectEntityManager (const DtIndirectEntityManager &)=delete |
| |
| DtIndirectEntityManager & | operator= (const DtIndirectEntityManager &)=delete |
| |
| | DtVirtualBaseClass () |
| |
| virtual | ~DtVirtualBaseClass () |
| |
|
typedef std::unordered_map
< DtModelSetId,
DtIndirectGeometryGrid * > | MapModelSetToDtIndirectGeometryGrids |
| |
| using | MapUniqueIdsToEntityManagerInstances = tbb::concurrent_hash_map< DtUniqueID, DtIndirectEntityManagerInstance > |
| |
typedef std::unordered_map
< osgSim::MultiSwitch
*, osg::ref_ptr
< osgSim::MultiSwitch > > | MapMultiSwitchesToMultiSwitches |
| |
typedef std::unordered_map
< DtUniqueID,
MapMultiSwitchesToMultiSwitches > | MapInstanceMultiSwitchesToMasterMultiSwitches |
| |
typedef std::unordered_map
< osgSim::DOFTransform
*, osg::ref_ptr
< osgSim::DOFTransform > > | MapDofToDof |
| |
typedef std::unordered_map
< DtUniqueID, MapDofToDof > | MapInstanceDofToMasterDof |
| |
typedef std::unordered_map
< osg::Sequence
*, osg::ref_ptr< osg::Sequence > > | MapSequenceToSequence |
| |
typedef std::unordered_map
< DtUniqueID,
MapSequenceToSequence > | MapInstanceSequenceToMasterSequence |
| |
| using | InstancesBeingMovedMap = tbb::concurrent_hash_map< DtUniqueID, DtIndirectEntityManagerInstanceMoveInfo * > |
| |
| using | IndirectEntityGeometryMap = tbb::concurrent_unordered_map< unsigned int, DtIndirectEntityGeometry * > |
| |
typedef std::unordered_map
< Vector3_int,
DtIndirectGridCellTime,
DtIndirectCellHasher > | CellIdsWithZeroInstancesUpTime |
| |
typedef std::unordered_map
< DtModelSetId,
CellIdsWithZeroInstancesUpTime > | GridToCellIdsWithZeroInstancesUpTime |
| |
|
| | DtOsgIndirectEntityManager (DtDe &de) |
| |
| | DtOsgIndirectEntityManager ()=delete |
| |
| | DtOsgIndirectEntityManager (const DtOsgIndirectEntityManager &)=delete |
| |
| DtOsgIndirectEntityManager & | operator= (const DtOsgIndirectEntityManager &)=delete |
| |
virtual
DtIndirectEntityManagerInstanceMoveInfo * | createMoveInfoIfNecessary (const DtVector &position, DtIndirectEntityManagerInstance ¤tEntityManagerInstance, DtUniqueID uniqueId) |
| |
| virtual osgSim::DOFTransform * | findMasterDof (DtUniqueID uniqueID, osgSim::DOFTransform *dof) const |
| |
| virtual DtIndirectEntityGeometry * | findIndirectGeometryAndInstanceId (DtUniqueID uniqueID, int &instanceId) const |
| |
| virtual void | calculateAndSetInstanceMatrixTransform (const DtVector &position, const DtTaitBryan &orientation, const DtVector &positionOffset, const DtTaitBryan &orientationOffset, DtIndirectEntityGeometry *indirectGeometry, int instanceId) |
| |
| virtual void | reset () |
| |
| virtual void | tickEntityMoves (void) |
| |
| virtual void | tickPaging (void) |
| |
| virtual bool | instanceIsBeingMovedTo (const Vector3_int &cellId) |
| |
| void | setupRootNodes () |
| |
| virtual void | setupReductionExcludeTextures () |
| |
| virtual void | updateStats () |
| |
| virtual void | disableModelSet (DtModelSetId modelSet) |
| |
| virtual bool | modelSetDisabled (DtModelSetId modelSet) const |
| |
| virtual void | setAlpha2Coverage (osg::Node *node, bool on) |
| |
| virtual void | clearMasterMappingsMap (void) |
| |
| virtual bool | parseNodeAndRegisterMasterMappings (osg::Node *modelNodeMaster, const std::string &modelName) |
| |
| | DtIndirectEntityManager (DtDe &de) |
| |