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

A container for a single piece of terrain, containing settings needed to recreate it.

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

Public Types

enum  GdbSurface {
  AsphaltOrOtherHardSurface =0, Boulder =1, Building =2, CultivatedFields =3,
  DeepBrook =4, DeepLake =5, DeepPond =6, DeepRiver =7,
  DeepStream =8, DirtRoad =9, DryGround =10, EuroRailRoad =11,
  Flimsy =12, Forest =13, Grass =14, GravelRoad =15,
  Icy =16, IcyGround =17, Moon =18, Mud =19,
  MuddyRoad =20, Ocean =21, Orchards =22, PavedRoad =23,
  Rock =24, Sand =25, ShallowBrook =26, ShallowLake =27,
  ShallowPond =28, ShallowRiver =29, ShallowStream =30, SnowGround =31,
  SoftSoil =32, Swamp =33, Tree =34, USRailRoad =35,
  UndefinedSoilType =36, Unspecified =37, UnspecifiedBodyOfWater =38, UnspecifiedCulturalFeature =39,
  UnspecifiedEnvStateGround =40, WetGround =41
}
 
using DtPageableTerrainPatchRecord = makArchives::DtTerrainPatchRecord::DtPageableTerrainPatchRecord
 
- Public Types inherited from makVrv::DtTerrainLayer
typedef std::map< DtUniqueID,
DtProp * > 
PropMap
 
typedef std::unordered_set
< std::string > 
PropNameSet
 

Public Member Functions

virtual ~DtTerrainPatch ()
 
DtDede ()
 
const DtDede () const
 
virtual void setIsMinimapOnly (bool onlyForMinimap)
 
virtual bool isMinimapOnly () const
 
virtual DtOverlaySettingsoverlaySettings ()
 
virtual const DtOverlaySettingsoverlaySettings () const
 
virtual DtTerrainTreeSettingsterrainTreeSettings ()
 
virtual const
DtTerrainTreeSettings
terrainTreeSettings () const
 
virtual const
makArchives::DtTerrainPatchRecord::ExtractionOperations
extractionOperations () const
 
virtual const
makArchives::DtTerrainPatchRecord::OceanExtractionOperations
oceanExtractionOperations () const
 
void extractNodesToTrees (std::string const &searchExp, bool isRegEx, std::string const &treeSpecies)
 
DtTerrainPatchRecord methods
virtual void getRecord (makArchives::DtTerrainPatchRecord &rec) const
 
virtual void setFromRecord (const makArchives::DtTerrainPatchRecord &rec)
 
Accessors
virtual const std::string & definition () const
 
virtual DtUniqueID uniqueID () const
 
virtual DtTerrainPatchObjectAgent * findObjectAgent ()
 
virtual const
DtTerrainPatchObjectAgent * 
findObjectAgent () const
 
virtual void setIsPageable (bool isPageable)
 
virtual bool isPageable () const
 
virtual void setPageOutDistance (double pageOutDistance)
 
virtual double pageOutDistance () const
 
Surface visibility settings
virtual void setSurfaceVisible (int surfaceId, bool state)
 
virtual bool surfaceVisible (int surfaceId)
 
virtual const
DtSurfacesSettings::SurfaceIdList
surfaceIds ()
 
virtual void loadSurfacesSettings ()
 
Prop management
virtual void setExtractedNodeAsPropModel (DtProp *prop, bool setObjectPosition=false)
 
virtual int countNodes (const std::string &rules) const
 
virtual void extractNodes (const std::string &rule, bool isRegEx)
 
virtual void moveNode (DtSceneObjectAgent *objectDriver, DtModelAgent *model, const std::string &rule, unsigned int index)
 
virtual void addExtractNodeOperation (std::string const &searchExp, bool isRegEx, std::string const &propType, unsigned int count)
 
virtual void extractNodesToProps (const std::string &exp, bool isRegEx, const std::string &type, const std::string &modelDefinition)
 
virtual void extractNodesToSpeedTrees (const std::string &exp, bool isRegEx, const std::string &modelDefinition)
 
virtual void executeExtractionOperation (const makArchives::DtExtractionOperationRecord &extractionRec)
 
Static Ocean management
virtual void requestOceanExtraction (const std::string &rule, bool isRegEx)
 
virtual void extractOceanNodes (const std::string &rule, bool isRegEx)
 
virtual void addOceanExtractNodeOperation (std::string const &searchExp, bool isRegEx)
 
virtual void addOceanExtractNodeOperationIfExtracted (std::string const &searchExp, bool isRegEx)
 
virtual void executeOceanExtractionOperation (const makArchives::DtOceanExtractionOperationRecord &extractionRec)
 
virtual void extractSpeedTreeNodes (const std::string &rule, const bool isRegEx, const std::string &stModelDefinition)
 
void executeSpeedTreeExtractionOperation (const makArchives::DtSpeedTreeExtractionOperationRecord &extractionRec)
 
virtual void addSpeedTreeExtractOperation (std::string const &searchExp, bool isRegEx, const std::string &modelDefinition)
 
- Public Member Functions inherited from makVrv::DtTerrainLayer
 DtTerrainLayer (DtDe &de, DtAgentManagerInterface &sceneInterface)
 
virtual ~DtTerrainLayer ()
 
virtual void addProp (DtProp *prop)
 
virtual bool addPropFromRecord (const makArchives::DtPropRecord &record)
 
virtual DtPropfindProp (DtUniqueID id)
 
virtual bool destroyProp (DtUniqueID id)
 
const PropMapprops () const
 
const PropNameSetpropNames () const
 
void selectionChanged (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &de)
 

Protected Member Functions

 DtTerrainPatch (DtDe &de, DtAgentManagerInterface &sceneInterface, const std::string &terrainDefinition, bool minimapOnly=false, const DtPageableTerrainPatchRecord &isPageable=DtPageableTerrainPatchRecord())
 
virtual void onTerrainPatchObjectAvailable (DtUniqueID id)
 
virtual void onTerrainPatchObjectCreated (DtTerrainPatchObject &terrainPatchObject)
 
virtual void executeExtractionOperations (const makArchives::DtTerrainPatchRecord::ExtractionOperations &ops)
 
virtual void executeOceanExtractionOperations (const makArchives::DtTerrainPatchRecord::OceanExtractionOperations &ops)
 
virtual void executeSpeedTreeExtractionOperations (const makArchives::DtTerrainPatchRecord::SpeedTreeExtractionOperations &ops)
 
virtual void createPropsFromRecord (const makArchives::DtPropSettingsRecord &propSettings)
 
virtual void getPropSettingsRecord (makArchives::DtPropSettingsRecord &record) const
 
virtual void createPropsFromExtraction (DtTerrainPatchObject &tpo, makArchives::DtPropRecord *protoTypeRecord, const std::string &exp, bool isRegEx, const std::vector< std::string > &matches)
 
virtual void slot_oceanNodesExtracted (DtTerrainPatchObject &tpo, bool extracted, std::string const &searchExp, bool isRegEx)
 

Protected Attributes

std::string myDefinition
 
DtTerrainPatchObjectAgent * myTerrainAgent
 
DtOverlaySettings myOverlaySettings
 
DtSurfacesSettings mySurfacesSettings
 
DtTerrainTreeSettings myTerrainTreeSettings
 
makArchives::DtTerrainPatchRecord::ExtractionOperations myExtractionHistory
 
makArchives::DtTerrainPatchRecord::OceanExtractionOperations myOceanExtractionHistory
 
makArchives::DtTerrainPatchRecord::SpeedTreeExtractionOperations mySpeedTreeExtrationHistory
 
bool myIsMinimapOnly
 
DtSignalConnectionManager myConnections
 
DtPageableTerrainPatchRecord myPageableTerrainPatchRecord
 
- Protected Attributes inherited from makVrv::DtTerrainLayer
DtDemyDe
 
DtAgentManagerInterfacemySceneInterface
 

Private Member Functions

 DtTerrainPatch (const DtTerrainPatch &copy)
 
DtTerrainPatchoperator= (const DtTerrainPatch &copy)
 

Friends

class DtTerrainPatchCreator
 

Additional Inherited Members

- Public Attributes inherited from makVrv::DtTerrainLayer
boost::signalslib::signal
< void(const
DtSelectionManager::IdSet
&selected, const
DtSelectionManager::IdSet
&deselected)> 
signal_currentSelectionChanged
 

Member Typedef Documentation

Member Enumeration Documentation

GDB Surface IDs.

Enumerator
AsphaltOrOtherHardSurface 
Boulder 
Building 
CultivatedFields 
DeepBrook 
DeepLake 
DeepPond 
DeepRiver 
DeepStream 
DirtRoad 
DryGround 
EuroRailRoad 
Flimsy 
Forest 
Grass 
GravelRoad 
Icy 
IcyGround 
Moon 
Mud 
MuddyRoad 
Ocean 
Orchards 
PavedRoad 
Rock 
Sand 
ShallowBrook 
ShallowLake 
ShallowPond 
ShallowRiver 
ShallowStream 
SnowGround 
SoftSoil 
Swamp 
Tree 
USRailRoad 
UndefinedSoilType 
Unspecified 
UnspecifiedBodyOfWater 
UnspecifiedCulturalFeature 
UnspecifiedEnvStateGround 
WetGround 

Constructor & Destructor Documentation

virtual makVrv::DtTerrainPatch::~DtTerrainPatch ( )
virtual

DTOR.

makVrv::DtTerrainPatch::DtTerrainPatch ( const DtTerrainPatch copy)
private
makVrv::DtTerrainPatch::DtTerrainPatch ( DtDe de,
DtAgentManagerInterface sceneInterface,
const std::string &  terrainDefinition,
bool  minimapOnly = false,
const DtPageableTerrainPatchRecord isPageable = DtPageableTerrainPatchRecord() 
)
protected

Protected CTOR, use DtTerrainPatchCreator to create an instance of this class.

Member Function Documentation

DtTerrainPatch& makVrv::DtTerrainPatch::operator= ( const DtTerrainPatch copy)
private
virtual void makVrv::DtTerrainPatch::getRecord ( makArchives::DtTerrainPatchRecord rec) const
virtual

Fill out a DtTerrainRecord with the current terrain info.

virtual void makVrv::DtTerrainPatch::setFromRecord ( const makArchives::DtTerrainPatchRecord rec)
virtual

Populate a DtTerrainPatch from a DtTerrainPatchRecord.

virtual const std::string& makVrv::DtTerrainPatch::definition ( ) const
virtual

Get the definition.

virtual DtUniqueID makVrv::DtTerrainPatch::uniqueID ( ) const
virtual

Get the unique id of the terrain patch object (from the agent).

virtual DtTerrainPatchObjectAgent* makVrv::DtTerrainPatch::findObjectAgent ( )
virtual

Get the terrain patch object agent; note that this may return NULL if the patch did not create a patch object (which can happen if the patch is designated for the minimap modelset and that modelset isn't realized.

virtual const DtTerrainPatchObjectAgent* makVrv::DtTerrainPatch::findObjectAgent ( ) const
virtual

Get the definition.

DtDe& makVrv::DtTerrainPatch::de ( )
inline

Get the de.

const DtDe& makVrv::DtTerrainPatch::de ( ) const
inline

Get the de.

virtual void makVrv::DtTerrainPatch::setIsMinimapOnly ( bool  onlyForMinimap)
virtual

set the flag that indicates that this patch should only appear in the minimap modelset

virtual bool makVrv::DtTerrainPatch::isMinimapOnly ( ) const
virtual

Is this patch only used by the minimap?

virtual void makVrv::DtTerrainPatch::setIsPageable ( bool  isPageable)
virtual

Should this patch be pageable or not?

virtual bool makVrv::DtTerrainPatch::isPageable ( ) const
virtual

Should this patch be pageable or not?

virtual void makVrv::DtTerrainPatch::setPageOutDistance ( double  pageOutDistance)
virtual

The page out distance to use when setting up the Paged LOD for this terrain patch. This is only used if setIsPageable(true).

virtual double makVrv::DtTerrainPatch::pageOutDistance ( ) const
virtual

The page out distance to use when setting up the Paged LOD for this terrain patch. This is only used if setIsPageable(true).

virtual DtOverlaySettings& makVrv::DtTerrainPatch::overlaySettings ( )
virtual

Get the overlay settings.

virtual const DtOverlaySettings& makVrv::DtTerrainPatch::overlaySettings ( ) const
virtual

Get the overlay settings.

virtual DtTerrainTreeSettings& makVrv::DtTerrainPatch::terrainTreeSettings ( )
virtual

Get the terrain tree settings.

virtual const DtTerrainTreeSettings& makVrv::DtTerrainPatch::terrainTreeSettings ( ) const
virtual

Get the terrain tree settings.

virtual const makArchives::DtTerrainPatchRecord::ExtractionOperations& makVrv::DtTerrainPatch::extractionOperations ( ) const
virtual

ExtractionOperations accessor.

virtual const makArchives::DtTerrainPatchRecord::OceanExtractionOperations& makVrv::DtTerrainPatch::oceanExtractionOperations ( ) const
virtual

OceanExtractionOperations accessor.

virtual void makVrv::DtTerrainPatch::setSurfaceVisible ( int  surfaceId,
bool  state 
)
virtual

Set a surface's visibility.

virtual bool makVrv::DtTerrainPatch::surfaceVisible ( int  surfaceId)
virtual

Check a surface's visibility.

virtual const DtSurfacesSettings::SurfaceIdList& makVrv::DtTerrainPatch::surfaceIds ( )
virtual

Get a list of all surface IDs for this terrain patch.

virtual void makVrv::DtTerrainPatch::loadSurfacesSettings ( )
virtual

Load the surfaces settings from a file.

virtual void makVrv::DtTerrainPatch::setExtractedNodeAsPropModel ( DtProp prop,
bool  setObjectPosition = false 
)
virtual

Make the prop's model be the extracted nodes via the prop's search expression and index.

Parameters
setObjectPositionsets the position of the prop to the location of extracted nodes
virtual int makVrv::DtTerrainPatch::countNodes ( const std::string &  rules) const
virtual

Count the number of nodes matching the rules.

virtual void makVrv::DtTerrainPatch::extractNodes ( const std::string &  rule,
bool  isRegEx 
)
virtual

Extract nodes from the terrain patch using a given rule.

virtual void makVrv::DtTerrainPatch::moveNode ( DtSceneObjectAgent *  objectDriver,
DtModelAgent *  model,
const std::string &  rule,
unsigned int  index 
)
virtual

Move a node located by the rule + index into a model and sets the location of the object to the location of the node.

virtual void makVrv::DtTerrainPatch::addExtractNodeOperation ( std::string const &  searchExp,
bool  isRegEx,
std::string const &  propType,
unsigned int  count 
)
virtual

Add a prop extraction rule.

virtual void makVrv::DtTerrainPatch::extractNodesToProps ( const std::string &  exp,
bool  isRegEx,
const std::string &  type,
const std::string &  modelDefinition 
)
virtual

Wrapper around extractProps for the benefit of executeExtractionOperation.

virtual void makVrv::DtTerrainPatch::extractNodesToSpeedTrees ( const std::string &  exp,
bool  isRegEx,
const std::string &  modelDefinition 
)
virtual

Wrapper around extract external references as speed trees.

virtual void makVrv::DtTerrainPatch::executeExtractionOperation ( const makArchives::DtExtractionOperationRecord extractionRec)
virtual

Execute a single extraction operation.

virtual void makVrv::DtTerrainPatch::requestOceanExtraction ( const std::string &  rule,
bool  isRegEx 
)
virtual

requestOceanExtraction() is called from the GUI. If any extraction actually happens, and extraction operation will be registered for saving out to file

virtual void makVrv::DtTerrainPatch::extractOceanNodes ( const std::string &  rule,
bool  isRegEx 
)
virtual

Extract ocean nodes from the terrain patch using a given rule.

virtual void makVrv::DtTerrainPatch::addOceanExtractNodeOperation ( std::string const &  searchExp,
bool  isRegEx 
)
virtual

Add a ocean extraction rule. This is used when loading a .mtf file to track existing extraction operations.

virtual void makVrv::DtTerrainPatch::addOceanExtractNodeOperationIfExtracted ( std::string const &  searchExp,
bool  isRegEx 
)
virtual

Conditionally add an ocean extraction rule. This is used by requestOceanExtraction(). It prevents operations that won't do anything from being added to the ocean extraction operation list.

virtual void makVrv::DtTerrainPatch::executeOceanExtractionOperation ( const makArchives::DtOceanExtractionOperationRecord extractionRec)
virtual

Execute a single extraction operation.

virtual void makVrv::DtTerrainPatch::extractSpeedTreeNodes ( const std::string &  rule,
const bool  isRegEx,
const std::string &  stModelDefinition 
)
virtual

Extract osg nodes from the terrain patch using a given rule and replace them by speed trees models.

void makVrv::DtTerrainPatch::executeSpeedTreeExtractionOperation ( const makArchives::DtSpeedTreeExtractionOperationRecord extractionRec)

Execute a single speed tree extraction operation.

virtual void makVrv::DtTerrainPatch::addSpeedTreeExtractOperation ( std::string const &  searchExp,
bool  isRegEx,
const std::string &  modelDefinition 
)
virtual

Add a speed tree extraction operation to the historic records.

void makVrv::DtTerrainPatch::extractNodesToTrees ( std::string const &  searchExp,
bool  isRegEx,
std::string const &  treeSpecies 
)

Extract all trees fitting searchExp on this terrain patch and replace them with treeSpecies (not currently used) this is use when trees models are extracted by props.

virtual void makVrv::DtTerrainPatch::onTerrainPatchObjectAvailable ( DtUniqueID  id)
protectedvirtual

Slot for signaling when a patch has an object.

virtual void makVrv::DtTerrainPatch::onTerrainPatchObjectCreated ( DtTerrainPatchObject terrainPatchObject)
protectedvirtual

Slot for signaling when a terrain patch object has been created.

virtual void makVrv::DtTerrainPatch::executeExtractionOperations ( const makArchives::DtTerrainPatchRecord::ExtractionOperations ops)
protectedvirtual

Execute all extraction operations.

Warning
This will delete ops.
virtual void makVrv::DtTerrainPatch::executeOceanExtractionOperations ( const makArchives::DtTerrainPatchRecord::OceanExtractionOperations ops)
protectedvirtual

Execute all ocean extraction operations.

Warning
This will delete ops.
virtual void makVrv::DtTerrainPatch::executeSpeedTreeExtractionOperations ( const makArchives::DtTerrainPatchRecord::SpeedTreeExtractionOperations ops)
protectedvirtual

Execute all speed tree extraction operations.

Warning
This will delete ops.
virtual void makVrv::DtTerrainPatch::createPropsFromRecord ( const makArchives::DtPropSettingsRecord propSettings)
protectedvirtual

Restore settings for extracted props.

virtual void makVrv::DtTerrainPatch::getPropSettingsRecord ( makArchives::DtPropSettingsRecord record) const
protectedvirtual

Create a prop settings record from all props owned by this patch.

virtual void makVrv::DtTerrainPatch::createPropsFromExtraction ( DtTerrainPatchObject tpo,
makArchives::DtPropRecord protoTypeRecord,
const std::string &  exp,
bool  isRegEx,
const std::vector< std::string > &  matches 
)
protectedvirtual

Create props from an extraction. Expects the terrain patch object the props came from, a prototype prop record, the search expression, whether the search expression was a regexp, and the list of search expression matches.

virtual void makVrv::DtTerrainPatch::slot_oceanNodesExtracted ( DtTerrainPatchObject tpo,
bool  extracted,
std::string const &  searchExp,
bool  isRegEx 
)
protectedvirtual

This slot is connected to the terrain patch signaler's signal_oceanNodesExtracted when a request for ocean extraction is initiated. If the signal raised is true, an ocean extraction operation will be added to the extraction list.

Friends And Related Function Documentation

friend class DtTerrainPatchCreator
friend

Member Data Documentation

std::string makVrv::DtTerrainPatch::myDefinition
protected
DtTerrainPatchObjectAgent* makVrv::DtTerrainPatch::myTerrainAgent
protected
DtOverlaySettings makVrv::DtTerrainPatch::myOverlaySettings
protected
DtSurfacesSettings makVrv::DtTerrainPatch::mySurfacesSettings
protected
DtTerrainTreeSettings makVrv::DtTerrainPatch::myTerrainTreeSettings
protected
makArchives::DtTerrainPatchRecord::ExtractionOperations makVrv::DtTerrainPatch::myExtractionHistory
protected
makArchives::DtTerrainPatchRecord::OceanExtractionOperations makVrv::DtTerrainPatch::myOceanExtractionHistory
protected
makArchives::DtTerrainPatchRecord::SpeedTreeExtractionOperations makVrv::DtTerrainPatch::mySpeedTreeExtrationHistory
protected
bool makVrv::DtTerrainPatch::myIsMinimapOnly
protected
DtSignalConnectionManager makVrv::DtTerrainPatch::myConnections
protected
DtPageableTerrainPatchRecord makVrv::DtTerrainPatch::myPageableTerrainPatchRecord
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)