VR-Forces 4.10 Class Documentation
 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. More...

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

Public Member Functions

 DtCellGeoSpecificIndirectGeo (DtDe &de, bool includeIntersectionGeoInNodePath, bool terrainPatch, const DtIndirectFadeParameters &fadeParameters)
 CTOR. More...
 
virtual ~DtCellGeoSpecificIndirectGeo ()
 DTOR. More...
 
virtual int addInstance (DtCellIndirectGeoInstance &instance, const std::string &modelName, bool cullFaceEnabled)
 
virtual int addInstance (DtCellIndirectGeoInstance &instance, const osg::Node *modelNode, const std::string &modelNameSuffix, bool cullFaceEnabled, const DtIndirectPolygonOffset &polygonOffset)
 
- Public Member Functions inherited from makVrv::DtCellIndirectGeo
 DtCellIndirectGeo (DtDe &de, bool includeIntersectionGeoInNodePath, bool terrainPatch, const DtIndirectFadeParameters &fadeParameters)
 CTOR. More...
 
virtual ~DtCellIndirectGeo ()
 DTOR. More...
 
virtual void setModelsContainer (DtIndirectModelsContainer *modelsContainer, bool ownsModelsContainer)
 set the models container. More...
 
virtual void setCullShaderConfig (const DtCullShaderConfig &cullShaderConfig)
 set the cull shader config More...
 
virtual void setParent (const osg::Group *parent)
 Sets up the parent of the indirect geometry which this manages. More...
 
virtual const osg::BoundingBoxd & boundingBox (void) const
 An indirect geometry doesn't know how to calculate bounding box since this is related to the instances as well as the osg models (that indirect geometry knows nothing about This class computes it for it, and sets itself up as the compute bound call back for the indirect geometry. More...
 
virtual const DtIndirectGeometryindirectGeometry (void) const
 internal. Access the internally held indirect geometry More...
 
virtual DtIndirectGeometryindirectGeometry (void)
 internal. Access the internally held indirect geometry More...
 
virtual osg::Group * indirectIntersectionGroup ()
 get the intersection group for this cell More...
 
virtual int addInstance (const DtCellIndirectGeoInstance &cellIndirectGeoInstance)
 internal method to add intersection geometry for an instance of the modelNode, with transform as instanceXForm. More...
 

Private Member Functions

 DtCellGeoSpecificIndirectGeo ()=delete
 not allowed More...
 
 DtCellGeoSpecificIndirectGeo (const DtCellGeoSpecificIndirectGeo &rhs)=delete
 not allowed More...
 
DtCellGeoSpecificIndirectGeooperator= (const DtCellGeoSpecificIndirectGeo &rhs)=delete
 not allowed More...
 

Additional Inherited Members

- Protected Member Functions inherited from makVrv::DtCellIndirectGeo
virtual void expandBoundingBox (const osg::Node *modelNode, const osg::Matrixd &instanceXForm)
 internal method to actually expand the bounding box based on the instance xform as well as the model node (and hence the model bbox in question) More...
 
- Protected Attributes inherited from makVrv::DtCellIndirectGeo
DtIndirectModelsContainermyModelsContainer
 
bool myOwnsModelsContainer
 
osg::ref_ptr< DtIndirectGeometrymyIndirectGeometry
 
osg::ref_ptr< osg::Group > myIndirectGeoIntersectionGroup
 
osg::BoundingBoxd myBoundingBox
 bounding box computation management More...
 
Threading::Mutex myMutableBoundingBoxMutex
 
DtDemyDe
 
bool myFirstInstance
 
bool myIncludeIntersectionGeoInNodePath
 

Detailed Description

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.

Constructor & Destructor Documentation

makVrv::DtCellGeoSpecificIndirectGeo::DtCellGeoSpecificIndirectGeo ( DtDe de,
bool  includeIntersectionGeoInNodePath,
bool  terrainPatch,
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,
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.

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)