![]() |
VR-Forces Developer's Guide
|
Helper for managing indirect geometry, its intersection group and registrar corresponding to a 'tile node' (gs cell or gt cell) DtCellToIndirectGeoMap in turn manages a map of feature tile nodes (for a layer) to a corresponding instance of DtCellGeoSpecificIndirectGeo.

Public Member Functions | |
| DtCellGeoSpecificIndirectGeo (DtDe &de, const DtCullShaderConfig &cullShaderConfig, bool includeIntersectionGeoInNodePath, const DtIndirectGeometrySubType &geometrySubType, const DtIndirectFadeParameters &fadeParameters) | |
| virtual | ~DtCellGeoSpecificIndirectGeo () |
| virtual int | addInstance (DtCellIndirectGeoInstance &instance, const std::string &modelName, bool cullFaceEnabled) |
| virtual int | addInstance (DtCellIndirectGeoInstance &instance, osg::ref_ptr< const osg::Node > modelNode, const std::string &modelNameSuffix, bool cullFaceEnabled, const DtIndirectPolygonOffset &polygonOffset) |
Public Member Functions inherited from makVrv::DtCellIndirectGeo | |
| DtCellIndirectGeo (DtDe &de, const DtCullShaderConfig &cullShaderConfig, bool includeIntersectionGeoInNodePath, const DtIndirectGeometrySubType &geometrySubType, const DtIndirectFadeParameters &fadeParameters) | |
| virtual | ~DtCellIndirectGeo () |
| virtual void | setModelsContainer (DtIndirectModelsContainer *modelsContainer, bool ownsModelsContainer) |
| virtual void | setParent (const osg::Group *parent) |
| virtual const osg::BoundingBoxd & | boundingBox (void) const |
| virtual const DtIndirectGeometry * | indirectGeometry (void) const |
| virtual DtIndirectGeometry * | indirectGeometry (void) |
| virtual osg::Group * | indirectIntersectionGroup () |
| virtual int | addInstance (const DtCellIndirectGeoInstance &cellIndirectGeoInstance) |
| virtual const std::unordered_map< int, int > & | modelIdToNumInstances (void) const |
| virtual const std::unordered_map< int, osg::ref_ptr< osg::Node > > & | modelIdToModelNodeMap (void) const |
Private Member Functions | |
| DtCellGeoSpecificIndirectGeo ()=delete | |
| DtCellGeoSpecificIndirectGeo (const DtCellGeoSpecificIndirectGeo &rhs)=delete | |
| DtCellGeoSpecificIndirectGeo & | operator= (const DtCellGeoSpecificIndirectGeo &rhs)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from makVrv::DtCellIndirectGeo | |
| virtual void | expandBoundingBox (const osg::Node *modelNode, const osg::Matrixd &instanceXForm) |
| virtual void | expandBoundingBoxByLightPointBounds (const DtLightPointNode *lightPointNode, const osg::Matrixd &instanceXForm) |
Protected Attributes inherited from makVrv::DtCellIndirectGeo | |
| DtIndirectModelsContainer * | myModelsContainer |
| bool | myOwnsModelsContainer |
| osg::ref_ptr< DtIndirectGeometry > | myIndirectGeometry |
| osg::ref_ptr< osg::Group > | myIndirectGeoIntersectionGroup |
| osg::BoundingBoxd | myBoundingBox |
| Threading::Mutex | myMutableBoundingBoxMutex |
| DtDe & | myDe |
| bool | myFirstInstance |
| bool | myIncludeIntersectionGeoInNodePath |
| std::unordered_map< int, int > | myModelIdToNumInstances |
| std::unordered_map< int, osg::ref_ptr< osg::Node > > | myModelIdToModelNode |
| makVrv::DtCellGeoSpecificIndirectGeo::DtCellGeoSpecificIndirectGeo | ( | DtDe & | de, |
| const DtCullShaderConfig & | cullShaderConfig, | ||
| bool | includeIntersectionGeoInNodePath, | ||
| const DtIndirectGeometrySubType & | geometrySubType, | ||
| const DtIndirectFadeParameters & | fadeParameters | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
virtual |
| instanceXForm | is the transformation relative to the node under which this cell/tile (and hence the indirect geometry) is parented |
| modelId | per the registrar |
| modelNode | the top level osg node corresponding to the model geometry returns the instance id in the indirect geometry for the added instance. |
|
virtual |
| instanceXForm | is the transformation relative to the node under which this cell/tile (and hence the indirect geometry) is parented |
| modelNode | the top level osg node corresponding to the model geometry |
| modelNamePrefix | a raw pointer to be indirected does not really have any model name. The printed string if something goes wrong is the pointer value itself this suffix/debug string will be appended to this suffix returns the instance id in the indirect geometry for the added instance. returns -1 on error and that the caller should discard the instance data |