VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Member Functions
makVrv::DtCellGeoSpecificIndirectGeo Class Reference

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.

Inheritance diagram for makVrv::DtCellGeoSpecificIndirectGeo:
Inheritance graph
[legend]

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 DtIndirectGeometryindirectGeometry (void) const
 
virtual DtIndirectGeometryindirectGeometry (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
 
DtCellGeoSpecificIndirectGeooperator= (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)
 
- Protected Attributes inherited from makVrv::DtCellIndirectGeo
DtIndirectModelsContainermyModelsContainer
 
bool myOwnsModelsContainer
 
osg::ref_ptr< DtIndirectGeometrymyIndirectGeometry
 
osg::ref_ptr< osg::Group > myIndirectGeoIntersectionGroup
 
osg::BoundingBoxd myBoundingBox
 
Threading::Mutex myMutableBoundingBoxMutex
 
DtDemyDe
 
bool myFirstInstance
 
bool myIncludeIntersectionGeoInNodePath
 
std::unordered_map< int, intmyModelIdToNumInstances
 
std::unordered_map< int,
osg::ref_ptr< osg::Node > > 
myModelIdToModelNode
 

Constructor & Destructor Documentation

makVrv::DtCellGeoSpecificIndirectGeo::DtCellGeoSpecificIndirectGeo ( DtDe de,
const DtCullShaderConfig cullShaderConfig,
bool  includeIntersectionGeoInNodePath,
const DtIndirectGeometrySubType geometrySubType,
const DtIndirectFadeParameters fadeParameters 
)

CTOR.

virtual makVrv::DtCellGeoSpecificIndirectGeo::~DtCellGeoSpecificIndirectGeo ( )
virtual

DTOR.

makVrv::DtCellGeoSpecificIndirectGeo::DtCellGeoSpecificIndirectGeo ( )
privatedelete

not allowed

makVrv::DtCellGeoSpecificIndirectGeo::DtCellGeoSpecificIndirectGeo ( const DtCellGeoSpecificIndirectGeo rhs)
privatedelete

not allowed

Member Function Documentation

DtCellGeoSpecificIndirectGeo& makVrv::DtCellGeoSpecificIndirectGeo::operator= ( const DtCellGeoSpecificIndirectGeo rhs)
privatedelete

not allowed

virtual int makVrv::DtCellGeoSpecificIndirectGeo::addInstance ( DtCellIndirectGeoInstance instance,
const std::string &  modelName,
bool  cullFaceEnabled 
)
virtual
Parameters
instanceXFormis the transformation relative to the node under which this cell/tile (and hence the indirect geometry) is parented
modelIdper the registrar
modelNodethe top level osg node corresponding to the model geometry returns the instance id in the indirect geometry for the added instance.
virtual int makVrv::DtCellGeoSpecificIndirectGeo::addInstance ( DtCellIndirectGeoInstance instance,
osg::ref_ptr< const osg::Node >  modelNode,
const std::string &  modelNameSuffix,
bool  cullFaceEnabled,
const DtIndirectPolygonOffset polygonOffset 
)
virtual
Parameters
instanceXFormis the transformation relative to the node under which this cell/tile (and hence the indirect geometry) is parented
modelNodethe top level osg node corresponding to the model geometry
modelNamePrefixa 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

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)