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 | Static Public Attributes | Protected Attributes
makVrv::DtTerrainPatchObject Class Referenceabstract

A DtTerrainPatchObject contains the methods for loading a file as a terrain. More...

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

Public Member Functions

 DtTerrainPatchObject (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtTerrainPatchObject ()
 DTOR. More...
 
virtual bool isGlobalScaleTerrain () const =0
 Is the terrain a global scale. More...
 
virtual bool getTerrainIntersection (double x, double y, double z, double vx, double vy, double vz, double &retX, double &retY, double &retZ)=0
 Get a terrain intersection. If no intersect found, returns false. More...
 
virtual void clearElevationCache ()=0
 If the patch object is using an elevation cache, clear it (otherwise do nothing). More...
 
virtual void useICO (bool enable)=0
 
virtual void setMaxPagedLODs (unsigned int maxPagedLODs)=0
 
virtual void postExtractionProcessing ()=0
 pure virtual function called when the extraction is done so that post extraction processes can be run. More...
 
virtual void toggleVisibility (bool visibility)=0
 /brief Toggle the visibility of this terrain patch object. More...
 
virtual void setTerrainDefinition (const std::string &modelDefinitionName)
 The model definition will be loaded and post processing will occur. More...
 
const std::string & terrainDefinitionName () const
 Accessor for the terrain definition name. More...
 
virtual void enableOverlay (int type, const std::string &definition)=0
 Enable a specific type of overlay. More...
 
virtual void disableOverlay (int type)=0
 Disable a specific type of overlay. More...
 
virtual void disableAllOverlays ()=0
 Disable all overlays. More...
 
virtual void setOverlayScale (int type, double x, double y)=0
 Set the overlay scale. More...
 
virtual void setOverlayOffset (int type, double x, double y)=0
 Set the overlay offset. More...
 
virtual void setWrapMode (int type, int clamp)=0
 Set the texture wrap mode. More...
 
virtual void setBlendMode (int type, int clamp)=0
 Set the texture blend mode. More...
 
virtual void setRasterLayerPosition (int type, int pos)=0
 Set raster layer position in the operations list. More...
 
virtual void setLayerEnabled (const std::string &rule, bool status)=0
 Toggle layers on or off by rule regexp. More...
 
virtual void extractNodes (const std::string &rule, bool isRegEx)=0
 Move nodes via a rule. More...
 
virtual void extractOceanNodes (const std::string &rule, bool isRegEx)=0
 Extract ocean nodes to the static ocean root. More...
 
virtual void extractSpeedTreeNodes (const std::string &rule, bool isRegEx, const std::string &modelDefinition)=0
 Extract props as speed trees. More...
 
virtual void realizeExtractedSpeedTrees (const DtVectorTreeRecords &trees)=0
 Send Tree Records to the speed tree manager. More...
 
virtual void setTerrainTreeScaleRandomization (bool isRandomized)=0
 Should speed tree be randomized on the terrain. More...
 
virtual void setTerrainTreeMinScale (double minScale)=0
 Set the minimum scale for randomization of scale. More...
 
virtual void setTerrainTreeMaxScale (double maxScale)=0
 Set the maximum scale for randomization of scale. More...
 
virtual void setTerrainTreeOrientationRandomization (bool isRandomized)=0
 Should speed trees be randomly oriented. More...
 
virtual void setIsMinimapOnly (bool isForMinimap)=0
 Should this patch object be placed under the special minimap modelset? More...
 
virtual bool isMinimapOnly () const =0
 
virtual std::string overlayDefinition (int type)=0
 Non bound methods: More...
 
virtual std::vector< doubleoverlayScale (int type)=0
 
virtual std::vector< doubleoverlayOffset (int type)=0
 
virtual DtTerrainOverlayOperation defaultOverlay (int type)=0
 
virtual DtTerrainOverlayOperation currentOverlay (int type)=0
 
virtual void getTerrainExtents (DtVector &nw, DtVector &ne, DtVector &sw, DtVector &se) const =0
 Return the corners of the terrain, useful for calculating draping parameters. More...
 
virtual void getBoundingBoxMinMax (DtVector &min, DtVector &max) const =0
 Returns the min/max bounding points of the terrain. More...
 
virtual DtVector getDatabaseOrigin () const =0
 Return the origin of the database in database coordinates. More...
 
virtual int countNodes (const std::string &rule) const =0
 Count nodes via a rule. More...
 
virtual bool getExtractedNodePosition (const std::string &rule, unsigned int index, double &x, double &y, double &z) const =0
 Get the extracted node position. More...
 
virtual bool getExtractedNodeOrientation (const std::string &rule, unsigned int index, double &x, double &y, double &z, double &w) const =0
 Get the extracted node orientation (quaternion). More...
 
virtual void moveNode (DtSceneObject *object, DtModel *model, const std::string &rule, unsigned int index)=0
 
virtual DtUniqueID uniqueID () const
 DtUniqueID Accessor. More...
 

Static Public Attributes

static const double TheEarthRadius
 The Radius of the earth, used to calculate if a terrain has global scale. More...
 

Protected Attributes

DtDemyDe
 
DtUniqueID myUniqueID
 
std::string myTerrainDefinitionName
 

Detailed Description

A DtTerrainPatchObject contains the methods for loading a file as a terrain.

When loading a file as a terrain certain post processing steps can be taken. For example, the static trees can be extracted and replaced by dynamically generated trees.

Constructor & Destructor Documentation

makVrv::DtTerrainPatchObject::DtTerrainPatchObject ( DtDe de,
DtUniqueID  id 
)

CTOR.

virtual makVrv::DtTerrainPatchObject::~DtTerrainPatchObject ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtTerrainPatchObject::setTerrainDefinition ( const std::string &  modelDefinitionName)
virtual

The model definition will be loaded and post processing will occur.

Reimplemented in makVrv::DtOsgTerrainPatchObject.

const std::string& makVrv::DtTerrainPatchObject::terrainDefinitionName ( ) const

Accessor for the terrain definition name.

virtual void makVrv::DtTerrainPatchObject::enableOverlay ( int  type,
const std::string &  definition 
)
pure virtual

Enable a specific type of overlay.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::disableOverlay ( int  type)
pure virtual

Disable a specific type of overlay.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::disableAllOverlays ( )
pure virtual

Disable all overlays.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setOverlayScale ( int  type,
double  x,
double  y 
)
pure virtual

Set the overlay scale.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setOverlayOffset ( int  type,
double  x,
double  y 
)
pure virtual

Set the overlay offset.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setWrapMode ( int  type,
int  clamp 
)
pure virtual

Set the texture wrap mode.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setBlendMode ( int  type,
int  clamp 
)
pure virtual

Set the texture blend mode.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setRasterLayerPosition ( int  type,
int  pos 
)
pure virtual

Set raster layer position in the operations list.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setLayerEnabled ( const std::string &  rule,
bool  status 
)
pure virtual

Toggle layers on or off by rule regexp.

Implemented in makVrv::DtOsgTerrainPatchObject.

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

Move nodes via a rule.

Implemented in makVrv::DtOsgTerrainPatchObject.

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

Extract ocean nodes to the static ocean root.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::extractSpeedTreeNodes ( const std::string &  rule,
bool  isRegEx,
const std::string &  modelDefinition 
)
pure virtual

Extract props as speed trees.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::realizeExtractedSpeedTrees ( const DtVectorTreeRecords trees)
pure virtual

Send Tree Records to the speed tree manager.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setTerrainTreeScaleRandomization ( bool  isRandomized)
pure virtual

Should speed tree be randomized on the terrain.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setTerrainTreeMinScale ( double  minScale)
pure virtual

Set the minimum scale for randomization of scale.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setTerrainTreeMaxScale ( double  maxScale)
pure virtual

Set the maximum scale for randomization of scale.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setTerrainTreeOrientationRandomization ( bool  isRandomized)
pure virtual

Should speed trees be randomly oriented.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::setIsMinimapOnly ( bool  isForMinimap)
pure virtual

Should this patch object be placed under the special minimap modelset?

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual bool makVrv::DtTerrainPatchObject::isMinimapOnly ( ) const
pure virtual
virtual std::string makVrv::DtTerrainPatchObject::overlayDefinition ( int  type)
pure virtual

Non bound methods:

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual std::vector<double> makVrv::DtTerrainPatchObject::overlayScale ( int  type)
pure virtual
virtual std::vector<double> makVrv::DtTerrainPatchObject::overlayOffset ( int  type)
pure virtual
virtual DtTerrainOverlayOperation makVrv::DtTerrainPatchObject::defaultOverlay ( int  type)
pure virtual
virtual DtTerrainOverlayOperation makVrv::DtTerrainPatchObject::currentOverlay ( int  type)
pure virtual
virtual void makVrv::DtTerrainPatchObject::getTerrainExtents ( DtVector nw,
DtVector ne,
DtVector sw,
DtVector se 
) const
pure virtual

Return the corners of the terrain, useful for calculating draping parameters.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::getBoundingBoxMinMax ( DtVector min,
DtVector max 
) const
pure virtual

Returns the min/max bounding points of the terrain.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual DtVector makVrv::DtTerrainPatchObject::getDatabaseOrigin ( ) const
pure virtual

Return the origin of the database in database coordinates.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual int makVrv::DtTerrainPatchObject::countNodes ( const std::string &  rule) const
pure virtual

Count nodes via a rule.

This checks the current terrain contents without modifying it.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual bool makVrv::DtTerrainPatchObject::getExtractedNodePosition ( const std::string &  rule,
unsigned int  index,
double x,
double y,
double z 
) const
pure virtual

Get the extracted node position.

Return values
falseif the node is not found.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual bool makVrv::DtTerrainPatchObject::getExtractedNodeOrientation ( const std::string &  rule,
unsigned int  index,
double x,
double y,
double z,
double w 
) const
pure virtual

Get the extracted node orientation (quaternion).

Return values
falseif the node is not found.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::moveNode ( DtSceneObject object,
DtModel model,
const std::string &  rule,
unsigned int  index 
)
pure virtual
virtual DtUniqueID makVrv::DtTerrainPatchObject::uniqueID ( ) const
virtual

DtUniqueID Accessor.

virtual bool makVrv::DtTerrainPatchObject::isGlobalScaleTerrain ( ) const
pure virtual

Is the terrain a global scale.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual bool makVrv::DtTerrainPatchObject::getTerrainIntersection ( double  x,
double  y,
double  z,
double  vx,
double  vy,
double  vz,
double retX,
double retY,
double retZ 
)
pure virtual

Get a terrain intersection. If no intersect found, returns false.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::clearElevationCache ( )
pure virtual

If the patch object is using an elevation cache, clear it (otherwise do nothing).

Use after making a large number of successive calls, such as while extracting props from a shape file

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::useICO ( bool  enable)
pure virtual
virtual void makVrv::DtTerrainPatchObject::setMaxPagedLODs ( unsigned int  maxPagedLODs)
pure virtual
virtual void makVrv::DtTerrainPatchObject::postExtractionProcessing ( )
pure virtual

pure virtual function called when the extraction is done so that post extraction processes can be run.

Implemented in makVrv::DtOsgTerrainPatchObject.

virtual void makVrv::DtTerrainPatchObject::toggleVisibility ( bool  visibility)
pure virtual

/brief Toggle the visibility of this terrain patch object.

/param visibility Whether show the terrain patch or not.

Implemented in makVrv::DtOsgTerrainPatchObject.

Member Data Documentation

const double makVrv::DtTerrainPatchObject::TheEarthRadius
static

The Radius of the earth, used to calculate if a terrain has global scale.

DtDe& makVrv::DtTerrainPatchObject::myDe
protected
DtUniqueID makVrv::DtTerrainPatchObject::myUniqueID
protected
std::string makVrv::DtTerrainPatchObject::myTerrainDefinitionName
protected

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)