10 #ifndef DtTerrainPatchObject_H_
11 #define DtTerrainPatchObject_H_
17 #include <matrix/vlVector.h>
18 #include <boost/signals.hpp>
27 class DtTerrainOverlayOperation;
54 virtual void setTerrainDefinition(
const std::string& modelDefinitionName);
57 const std::string& terrainDefinitionName()
const;
60 virtual void enableOverlay(
int type,
const std::string& definition) = 0;
63 virtual void disableOverlay(
int type) = 0;
66 virtual void disableAllOverlays() = 0;
69 virtual void showLightPoints(
bool show) = 0;
72 virtual void setOverlayScale(
int type,
double x,
double y) = 0;
75 virtual void setOverlayOffset(
int type,
double x,
double y) = 0;
78 virtual void setWrapMode(
int type,
int clamp) = 0;
81 virtual void setBlendMode(
int type,
int clamp) = 0;
84 virtual void setRasterLayerPosition(
int type,
int pos) = 0;
87 virtual void setLayerEnabled(
const std::string& rule,
bool status) = 0;
90 virtual void extractNodes(
const std::string& rule,
bool isRegEx) = 0;
93 virtual void extractOceanNodes(
const std::string& rule,
bool isRegEx) = 0;
96 virtual void setTerrainTreeScaleRandomization(
bool isRandomized ) = 0;
99 virtual void setTerrainTreeMinScale(
double minScale) = 0;
102 virtual void setTerrainTreeMaxScale(
double maxScale) = 0;
105 virtual void setTerrainTreeOrientationRandomization(
bool isRandomized ) = 0;
110 virtual std::string overlayDefinition(
int type) = 0;
111 virtual std::vector<double> overlayScale(
int type) = 0;
112 virtual std::vector<double> overlayOffset(
int type) = 0;
123 virtual DtVector getDatabaseOrigin()
const = 0;
127 virtual int countNodes(
const std::string& rule)
const = 0;
131 virtual bool getExtractedNodePosition(
const std::string& rule,
unsigned int index,
132 double& x,
double& y,
double& z)
const = 0;
136 virtual bool getExtractedNodeOrientation(
const std::string& rule,
unsigned int index,
137 double& x,
double& y,
double& z,
double& w)
const = 0;
140 DtModel* model,
const std::string& rule,
unsigned int index) = 0;
147 virtual bool isGlobalScaleTerrain()
const = 0;
150 virtual bool getTerrainIntersection(
double x,
double y,
double z,
151 double vx,
double vy,
double vz,
double& retX,
double& retY,
double& retZ ) = 0;
156 virtual void clearElevationCache() = 0;
158 virtual void useICO(
bool enable) = 0;
192 boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;