10 #ifndef DtTerrainPatchObject_H_
11 #define DtTerrainPatchObject_H_
19 #include <matrix/vlVector.h>
20 #include <boost/signals.hpp>
29 class DtTerrainOverlayOperation;
56 virtual void setTerrainDefinition(
const std::string& modelDefinitionName);
59 const std::string& terrainDefinitionName()
const;
62 virtual void enableOverlay(
int type,
const std::string& definition) = 0;
65 virtual void disableOverlay(
int type) = 0;
68 virtual void disableAllOverlays() = 0;
71 virtual void setOverlayScale(
int type,
double x,
double y) = 0;
74 virtual void setOverlayOffset(
int type,
double x,
double y) = 0;
77 virtual void setWrapMode(
int type,
int clamp) = 0;
80 virtual void setBlendMode(
int type,
int clamp) = 0;
83 virtual void setRasterLayerPosition(
int type,
int pos) = 0;
86 virtual void setLayerEnabled(
const std::string& rule,
bool status) = 0;
89 virtual void extractNodes(
const std::string& rule,
bool isRegEx) = 0;
92 virtual void extractOceanNodes(
const std::string& rule,
bool isRegEx) = 0;
95 virtual void extractSpeedTreeNodes(
const std::string& rule,
bool isRegEx,
const std::string& modelDefinition) = 0;
101 virtual void setTerrainTreeScaleRandomization(
bool isRandomized ) = 0;
104 virtual void setTerrainTreeMinScale(
double minScale) = 0;
107 virtual void setTerrainTreeMaxScale(
double maxScale) = 0;
110 virtual void setTerrainTreeOrientationRandomization(
bool isRandomized ) = 0;
115 virtual std::string overlayDefinition(
int type) = 0;
116 virtual std::vector<double> overlayScale(
int type) = 0;
117 virtual std::vector<double> overlayOffset(
int type) = 0;
128 virtual DtVector getDatabaseOrigin()
const = 0;
132 virtual int countNodes(
const std::string& rule)
const = 0;
136 virtual bool getExtractedNodePosition(
const std::string& rule,
unsigned int index,
137 double& x,
double& y,
double& z)
const = 0;
141 virtual bool getExtractedNodeOrientation(
const std::string& rule,
unsigned int index,
142 double& x,
double& y,
double& z,
double& w)
const = 0;
145 DtModel* model,
const std::string& rule,
unsigned int index) = 0;
152 virtual bool isGlobalScaleTerrain()
const = 0;
155 virtual bool getTerrainIntersection(
double x,
double y,
double z,
156 double vx,
double vy,
double vz,
double& retX,
double& retY,
double& retZ ) = 0;
161 virtual void clearElevationCache() = 0;
163 virtual void useICO(
bool enable) = 0;
165 virtual void setMaxPagedLODs(
unsigned int maxPagedLODs ) = 0;
199 boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;