VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
dynamicTerrainMunitionDamageAlgorithm.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vlutil/vlSmartPointers.h>
14 #include <vlutil/vlString.h>
15 #include <matrix/vlVector.h>
16 
20 
24 {
25 public:
26 
29 
40  virtual void generateDamage(const DtVector& localPosition, const DtVector& localDetonationPosition,
41  const DtPowerRangeDeterminantList& detonationPower, const DtHighFidelityTerrainDamageConfig& damageConfig,
43 
46  virtual double estimateDetonationPower(const DtVector& localPosition,
47  const DtString& damageValue, const DtHighFidelityTerrainDamageConfig& damageConfig,
49 
50 protected:
51 
52  static const unsigned UseDefaultPriority;
53 
55  virtual DtString currentDamage(const DtVector& localPosition, const DtString& terrainDamageType,
57 
60  virtual void damageTerrain(const DtVector& localPosition, const DtString& terrainDamageType,
62  unsigned priority = UseDefaultPriority, double delay = 0.0);
63 };
64 
65 typedef DtBoost::shared_ptr<DtDynamicTerrainMunitionDamageAlgorithm> DtDynamicTerrainMunitionDamageAlgorithmSP;
66 
70 {
71 public:
72 
75 
77  virtual void generateDamage(const DtVector& localPosition, const DtVector& localDetonationPosition,
78  const DtPowerRangeDeterminantList& detonationPower, const DtHighFidelityTerrainDamageConfig& damageConfig,
80 
83  virtual double estimateDetonationPower(const DtVector& localPosition, const DtString& damageValue,
84  const DtHighFidelityTerrainDamageConfig& damageConfig,
86 
87  static DtString algorithmId() { return "range-based"; }
88 
89 };
90 
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
A high fidelity dynamic terrain damage algorithm that determines damage based on power of the detonat...
Definition: dynamicTerrainMunitionDamageAlgorithm.h:69
static DtString algorithmId()
Definition: dynamicTerrainMunitionDamageAlgorithm.h:87
DtDynamicTerrainMunitionDamageAlgorithm()
Definition: dynamicTerrainMunitionDamageAlgorithm.h:27
A readable/writable list of detonation powers listed by type.
Definition: powerRangeDeterminantList.h:18
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
static const unsigned UseDefaultPriority
Definition: dynamicTerrainMunitionDamageAlgorithm.h:52
DtDynamicTerrainMunitionDamageController is a controller that calculates and publishes terrain change...
Definition: dynamicTerrainMunitionDamageController.h:30
virtual double estimateDetonationPower(const DtVector &localPosition, const DtString &damageValue, const DtHighFidelityTerrainDamageConfig &damageConfig, DtDynamicTerrainMunitionDamageController &controller)=0
Estimates the approximate detonation power it would take to generate the specified damage value at th...
Base class for an implementation of an algorithm that produces high fidelity dynamic terrain damage a...
Definition: dynamicTerrainMunitionDamageAlgorithm.h:23
Definition: highFidelityTerrainDamageConfig.h:23
virtual void generateDamage(const DtVector &localPosition, const DtVector &localDetonationPosition, const DtPowerRangeDeterminantList &detonationPower, const DtHighFidelityTerrainDamageConfig &damageConfig, DtDynamicTerrainMunitionDamageController &controller)=0
Generates damage to the terrain.
DtBoost::shared_ptr< DtDynamicTerrainMunitionDamageAlgorithm > DtDynamicTerrainMunitionDamageAlgorithmSP
Definition: dynamicTerrainMunitionDamageAlgorithm.h:65
~DtDynamicTerrainMunitionDamageAlgorithm()
Definition: dynamicTerrainMunitionDamageAlgorithm.h:28

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)