20 #include <vl/detonationInteraction.h>
39 class DtDynamicTerrainFeature;
40 class DtDynamicTerrainChanges;
41 class DtDynamicTerrainGeometry;
70 virtual void registerCallbacks();
73 virtual void deregisterCallbacks();
79 virtual const char*
type()
const;
88 unsigned priority,
double delay = 0.0,
bool shouldQueue =
true);
94 unsigned priority,
double delay = 0.0);
100 double tolerance,
const DtString& key,
unsigned* index = 0);
108 virtual void processQueuedTerrainChanges(
double dt);
112 virtual void setDynamicTerrainInformationRecheckPeriod(
double);
113 virtual double dynamicTerrainInformationRecheckPeriod()
const
115 return myDynamicTerrainRecheckPeriod;
122 virtual std::list<DtVector> findDynamicTerrainElements(
const DtVector& localLocation,
double radius,
123 const DtString& filterKey = DtString::nullString(),
124 std::list<DtRwDynamicTerrainInformation>* fullInfo = 0,
125 bool* dataAvailable = 0);
130 virtual std::list<DtVector> findDynamicTerrainElements(
const DtVector& localStartLocation,
131 const DtVector& localEndLocation,
const DtString& filterKey = DtString::nullString(),
132 std::list<DtRwDynamicTerrainInformation>* fullInfo = 0,
133 bool* dataAvailable = 0);
144 static void addDynamicTerrainChangesCallback(
const DtSimCommand& cmd,
void* usr);
150 static void switchDynamicTerrainCallback(
const DtSimCommand& cmd,
void* usr);
158 static void resetDynamicTerrainChangesCallback(
const DtSimCommand& cmd,
void* usr);
179 static void dynamicTerrainInformationRequestCallback(
DtSimMessage*,
void* usr);
201 static void drawDynamicTerrainCallback(
DtSimMessage * msg,
void * usr);
202 virtual void processDrawDynamicTerrainTask(
DtSimMessage * msg);
212 virtual void addPublishedChange(std::vector<DtDynamicTerrainPublisher*>& publishers,
217 virtual void updatePublishedChange(std::vector<DtDynamicTerrainPublisher*>& publishers,
218 unsigned index,
const DtKeyValuePairList& changeData,
unsigned priority,
unsigned eventNumber);
221 virtual const DtTerrainGeometryAndData& publishedChange(
const std::vector<DtDynamicTerrainPublisher*>& publishers,
unsigned index)
const;
249 : geometry(g.clone()), change(c), priority(p), delay(d) {};