110 virtual void setInstanceMatrixTransform(
int instanceId,
const Matrix4_32& xForm);
113 virtual Matrix4_32 instanceMatrixTransform(
int instanceId)
const;
116 virtual void removeInstance(
int id);
119 virtual void setInstanceMultiSwitch(
int id, osgSim::MultiSwitch* clone, osgSim::MultiSwitch* master);
122 virtual void instanceMultiSwitches(
int instanceIdIndirect,
MapCloneToMultiSwitchPair& mapCloneToMasterMultiSwitches)
const;
125 virtual void setInstanceUvOffset(
int id,
const std::string& annotation,
float uOffset,
float vOffset);
128 virtual void scrollUv(
int id,
const std::tuple<float, float, float>& uvspeeds);
131 virtual void instanceAnnotationsAndUvOffsets(
int instanceIdIndirect, std::vector<DtIndirectAnnotationAndUvOffset>& annotations)
const;
134 virtual void setInstanceColor(
int instanceIdIndirect,
const Vector4_32& color);
136 virtual Vector4_32 instanceColor(
int instanceIdIndirect)
const;
140 virtual void setInstanceOtherData0(
int instanceIdIndirect,
const Vector4_32& data);
142 virtual Vector4_32 instanceOtherData0(
int instanceIdIndirect)
const;
146 virtual void setInstanceVisibility(
int instanceIdIndirect,
bool visible);
148 virtual bool instanceVisibility(
int instanceIdIndirect)
const;
152 virtual void setInstanceLightPointMaxDistance(
int instanceIdIndirect,
float lightPointMaxDistance);
154 virtual float instanceLightPointMaxDistance(
int instanceIdIndirect)
const;
158 virtual void setInstanceDof(
int id, osgSim::DOFTransform* clone, osgSim::DOFTransform* master,
int animationFlags);
161 virtual void setInstanceDofTranslation(
int id, osgSim::DOFTransform* clone, osgSim::DOFTransform* master
166 virtual void setInstanceDofOrientation(
int id, osgSim::DOFTransform* clone, osgSim::DOFTransform* master
169 ,
int animationFlags);
172 virtual void setInstanceDofOrientation(
int id, osgSim::DOFTransform* clone, osgSim::DOFTransform* master
175 ,
int animationFlags);
181 virtual void setInstanceSequence(
int id, osg::Sequence* clone, osg::Sequence* master);
184 virtual void instanceSequences(
int instanceIdIndirect,
MapCloneToSequencePair& mapCloneToMasterSequences)
const;
190 virtual bool hasInProgressInstanceMove()
const;
193 virtual void addInProgressInstanceMove();
196 virtual void subtractInProgressInstanceMove();
200 virtual void setMultiSwitchOnInstanceInInstanceContainer(
int instanceContainerId, osgSim::MultiSwitch* clone, osgSim::MultiSwitch* master);
203 virtual void setDofOnInstanceInInstanceContainer(
int instanceContainerId, osgSim::DOFTransform* clone, osgSim::DOFTransform* master,
int animationFlags);
206 virtual void setUvOffsetOnInstanceInInstanceContainer(
const int instanceId,
const std::string& annotation,
float uOffset,
float vOffset);
209 virtual void removeInstanceInInstanceContainer(
int instanceContainerId);
213 virtual void removeInstanceFromIndicesCount(
int instanceContainerIndex);
216 virtual void updateInstancePositionOrientationAddedActual(
const DtIndirectGeometryInstance& instance,
int outInstanceIndex)
override;
234 virtual void updateInstanceVisibilityLightPointMaxDistanceActual(
const DtIndirectGeometryInstance& instance,
int outInstanceIndex)
override;
osg::ref_ptr< T > myMaster
Definition: DtIndirectEntityGeometry.h:50
const char * creatorTypeName< DtIndirectEntityGeometry >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectEntityGeometry.h:25
std::unordered_map< int, std::tuple< float, float, float > > MapInstanceToUvOffset
Definition: DtIndirectEntityGeometry.h:90
non virtual container class for holding the information needed to create an indirect geometry instanc...
Definition: DtIndirectGeometryInstance.h:26
osg::ref_ptr< T > myClone
Definition: DtIndirectEntityGeometry.h:49
std::unordered_set< int > SetInstancesToDelete
Structure to hold instance ids to be deleted.
Definition: DtIndirectEntityGeometry.h:299
std::unordered_map< int, MapCloneToSequencePair > MapInstanceToMapCloneToMasterSequences
Definition: DtIndirectEntityGeometry.h:84
MapInstanceToMapCloneToMasterSequences myMapInstanceToMapCloneToMasterSequences
Maps an instance id and a master sequence to the clone sequence so we can get to the cloned sequence ...
Definition: DtIndirectEntityGeometry.h:274
MapCloneToDofTransformPairAndFlags< osgSim::DOFTransform > DofTransformPair
Maps an instance id and a master dof to the clone dof so we can get to the cloned dof which contains ...
Definition: DtIndirectEntityGeometry.h:75
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
MapInstanceToMapCloneToMasterDofs myMapInstanceToMapCloneToMasterDofs
Maps an instance id and a master dof to the clone dof so we can get to the cloned dof which contains ...
Definition: DtIndirectEntityGeometry.h:266
CloneMasterPair< osgSim::MultiSwitch > MultiSwitchPair
Structure to hold instance multi-switches' state until the instance is actually added Use the pair to...
Definition: DtIndirectEntityGeometry.h:68
std::map< const std::string, DtIndirectUvOffsetManager::UvOffset > MapAnnotationToUvOffsetData
Maps and instance id and a string to the current uv offset for this particular annotation.
Definition: DtIndirectEntityGeometry.h:87
std::unordered_map< osg::Sequence *, SequencePair > MapCloneToSequencePair
Definition: DtIndirectEntityGeometry.h:83
shader configuration storage class. Has 3 available options which are described in the constructor's ...
Definition: DtCullShaderConfig.h:21
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
Inherited from DtIndirectGeometry additionally implements: -removal of instances -ability to set/get ...
Definition: DtIndirectEntityGeometry.h:38
\ ::, which allows us to hook into our indirect engine to render using indirect rendering...
Definition: DtIndirectGeometry.h:115
std::unordered_map< osgSim::MultiSwitch *, MultiSwitchPair > MapCloneToMultiSwitchPair
Definition: DtIndirectEntityGeometry.h:69
CloneMasterPair< osg::Sequence > SequencePair
Maps an instance id and a master sequence to the clone sequence so we can get to the cloned sequence ...
Definition: DtIndirectEntityGeometry.h:82
MapInstanceToMapCloneToMasterMultiSwitches myMapInstanceToMapCloneToMasterMultiSwitches
Structure to hold instance multi-switches' state until the instance is actually added Use the pair to...
Definition: DtIndirectEntityGeometry.h:258
std::unordered_map< int, Matrix4_32 > MapInstanceIdToXform
Structure to hold instance orientation until the instance is actually added.
Definition: DtIndirectEntityGeometry.h:62
std::unordered_map< int, MapCloneToMultiSwitchPair > MapInstanceToMapCloneToMasterMultiSwitches
Definition: DtIndirectEntityGeometry.h:70
friend DtIndirectEntityGeometryCreator
only creator can create
Definition: DtIndirectEntityGeometry.h:42
int myNumInProgressInstanceMoves
Definition: DtIndirectEntityGeometry.h:302
Contains DLL export macros.
MapInstanceIdToXform myMapInstanceIdToXform
Structure to hold instance orientation until the instance is actually added.
Definition: DtIndirectEntityGeometry.h:246
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
std::unordered_map< osgSim::DOFTransform *, DofTransformPair > MapCloneToDofTransformPair
Definition: DtIndirectEntityGeometry.h:76
std::unordered_map< int, Vector4_32 > myMapInstanceToOtherData0
Maps an instance id to the other data0 for that instance.
Definition: DtIndirectEntityGeometry.h:290
MapInstanceToMapAnnotationToUvOffsetData myMapInstanceToMapAnnotationToUvOffsetData
Maps and instance id and a string to the current uv offset for this particular annotation.
Definition: DtIndirectEntityGeometry.h:279
std::unordered_map< int, bool > myMapInstanceToVisibility
Maps an instance id to the visibility for that instance.
Definition: DtIndirectEntityGeometry.h:293
std::unordered_map< int, float > myMapInstanceToLightPointMaxDistance
Maps an instance id to the light point max distance for that instance.
Definition: DtIndirectEntityGeometry.h:296
MapInstanceToUvOffset myMapInstanceToUvOffset
Maps and instance id to the current uv offset for all scrollable uv offsets.
Definition: DtIndirectEntityGeometry.h:283
Contains the DtIndirectGeometry class declaration.
Helper struct to make the code a bit more clear. Used instead of std::pair to hold a pair of ref_ptr'...
Definition: DtIndirectEntityGeometry.h:47
std::unordered_map< int, MapAnnotationToUvOffsetData > MapInstanceToMapAnnotationToUvOffsetData
Definition: DtIndirectEntityGeometry.h:88
std::unordered_map< int, MapCloneToDofTransformPair > MapInstanceToMapCloneToMasterDofs
Definition: DtIndirectEntityGeometry.h:77
4 dimensional matrix
Definition: DtMatrix4.h:22
std::unordered_map< int, Vector4_32 > myMapInstanceToColor
Maps an instance id to the color for that instance.
Definition: DtIndirectEntityGeometry.h:287
DtVirtualBaseClassCreator< DtIndirectEntityGeometry, const DtCullShaderConfig &, const bool & > DtIndirectEntityGeometryCreator
creator
Definition: DtIndirectEntityGeometry.h:18
SetInstancesToDelete mySetInstancesIndirectIdsToDelete
Definition: DtIndirectEntityGeometry.h:300