![]() |
VR-Forces Developer's Guide
|
class used to collect geometry coming in via feature_geom and add it to the indirect engine. will process point features (expressed as GS or GT) and extruded geometry (procedurally generated) Handles callback from a feature_geom layer in order to add indirect geometry to the scene.
Public Member Functions | |
| virtual | ~DtIndirectFeatureGeomHandler () |
| virtual void | onDataPremerge (osg::Node *data) |
| virtual void | onDataUnloaded (const osg::Node *data) |
| virtual void | slot_postTick () |
Protected Member Functions | |
| DtIndirectFeatureGeomHandler (DtDe &de, const osgEarth::Layer &layer, const DtIndirectFadeParameters &fadeParameters, bool dynamicTerrainInstallerActive, bool cullFaceEnabled) | |
| virtual void | processSubstituteModelFilterNodes (osg::Node *data) |
| virtual void | processExtrudeGeometryFilterNodes (osg::Node *data) |
| virtual void | processExtrudeGeometryFilterNode (osgEarth::ExtrudeGeometryFilterNode *pFeatureNode, osg::Node *data) |
| virtual void | processSubstituteModelFilterNode (const osgEarth::SubstituteModelFilterNode *pFeatureNode, const osg::Node *data) |
| virtual void | processSubstituteModelFilterNodeAsGT (const osgEarth::SubstituteModelFilterNode *pFeatureNode, const osg::Group *keyNode) |
| virtual void | processSubstituteModelFilterNodeAsGS (const osgEarth::SubstituteModelFilterNode *pFeatureNode, const osg::Group *keyNode) |
| virtual void | processCustomFeatures (osg::Node *data) |
| virtual void | processCustomFeature (const osgEarth::CustomFeatureNode *pFeatureNode, const osg::Node *key) |
| virtual void | setLayerMask (const osgEarth::Layer *layer) const |
| virtual void | turnOffIntersectionsIfSoSpecified (const osgEarth::Layer *layer) const |
Protected Attributes | |
| friend | DtIndirectFeatureGeomHandlerCreator |
| DtDe & | myDe |
| osg::observer_ptr< const osgEarth::Layer > | myLayer |
| DtCellToGeoTypicalIndirectGeoMap * | myCellToGTIndirectGeoMap |
| DtIndirectModelsContainer * | myGTModelsContainer |
| DtCellToGeoSpecificIndirectGeoMap * | myCellToGSIndirectGeoMap |
| DtCellToGeoSpecificIndirectGeoMap * | myCellToProceduralGSIndirectGeoMap |
| osg::ref_ptr < osgEarth::StateSetCache > | myStateSetCache |
| DtIndirectFadeParameters | myFadeParameters |
| const bool | myDynamicTerrainInstallerActive |
| const bool | myCullFaceEnabled |
| DtSignalConnectionManager | myConnections |
| DtIndirectModelContainerForHandlers & | myIndirectModelContainerForHandlers |
Private Member Functions | |
| DtIndirectFeatureGeomHandler (const DtIndirectFeatureGeomHandler &other)=delete | |
| DtIndirectFeatureGeomHandler & | operator= (const DtIndirectFeatureGeomHandler &other)=delete |
|
virtual |
DTOR.
|
protected |
CTOR.
|
privatedelete |
Copy Constructor not implemented – Copy Not Allowed.
|
privatedelete |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
called before data is added to the scenegraph
|
virtual |
called before data is deleted from the scenegraph
|
virtual |
handle the postTick signal.
|
protectedvirtual |
process point replacement features
|
protectedvirtual |
process multiple extruded geometry nodes by calling processExtrudeGeometryFilterNode for each one in the data
|
protectedvirtual |
process the extruded geometry and add it to the geocell from a DtCellToGeoSpecificIndirectGeoMap
|
protectedvirtual |
Internal methods that will actually process the nodes. checks the instancing to see if the layer is GT (instanced) or GS (not instanced) and then calls the appropriate additional processSubstituteModelFilerNodeAs* function.
|
protectedvirtual |
processes the model filter and adds it to a geocell obtained from the DtCellToGeoTypicalIndirectGeoMap
|
protectedvirtual |
processes the model filter and adds it to a geocell obtained from the DtCellToGeoSpecificIndirectGeoMap
|
protectedvirtual |
Process the tile to see if there are any custom feature nodes and add them to the indirect system if there are any. These come from feature_custom driver model layers.
|
protectedvirtual |
Internal method that will actually process a single CustomFeatureNode. Called via processCustomFeatures.
|
protectedvirtual |
Internal method for setting flags on an incoming layer or layernode.
|
protectedvirtual |
turn off intersections if <intersectable>false</intersectable> was specified for the layer
|
protected |
creator friend class so it is the only one that can create new DtIndirectFeatureGeomHandlers
|
protected |
|
protected |
store by observer ptr here onDataPremerge for a node can get launched (in another thread) just after the layer has been deleted (e.g. reload) so the layer and hence the nodes being traverse via findTopMostNodeOfType are possibly invalid
|
protected |
GeoTypical stuff.
|
protected |
|
protected |
GeoSpecific stuff.
|
protected |
Procedural stuff. Is also geospecific in the sense that each tile will have its own registrar. Therefore, we need the gs variant.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
manager for connections
|
protected |