VR-Forces 4.6.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfmodel
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
12
#include <
vrfmodel/vrfmodelDefines.h
>
13
#include <vlutil/vlSmartPointers.h>
14
#include <vlutil/vlString.h>
15
#include <matrix/vlVector.h>
16
17
class
DtPowerRangeDeterminantList
;
18
class
DtHighFidelityTerrainDamageConfig
;
19
class
DtDynamicTerrainMunitionDamageController
;
20
23
class
DT_DLL_vrfmodel
DtDynamicTerrainMunitionDamageAlgorithm
24
{
25
public
:
26
27
DtDynamicTerrainMunitionDamageAlgorithm
() {}
28
~DtDynamicTerrainMunitionDamageAlgorithm
() {}
29
40
virtual
void
generateDamage(
const
DtVector
& localPosition,
const
DtVector
& localDetonationPosition,
41
const
DtPowerRangeDeterminantList
& detonationPower,
const
DtHighFidelityTerrainDamageConfig
& damageConfig,
42
DtDynamicTerrainMunitionDamageController
& controller) = 0;
43
46
virtual
double
estimateDetonationPower(
const
DtVector
& localPosition,
47
const
DtString
& damageValue,
const
DtHighFidelityTerrainDamageConfig
& damageConfig,
48
DtDynamicTerrainMunitionDamageController
& controller) = 0;
49
50
protected
:
51
52
static
const
unsigned
UseDefaultPriority
;
53
55
virtual
DtString
currentDamage(
const
DtVector
& localPosition,
const
DtString
& terrainDamageType,
56
DtDynamicTerrainMunitionDamageController
& controller);
57
60
virtual
void
damageTerrain(
const
DtVector
& localPosition,
const
DtString
& terrainDamageType,
61
const
DtString
& damageValue,
DtDynamicTerrainMunitionDamageController
& controller,
62
unsigned
priority = UseDefaultPriority,
double
delay = 0.0);
63
};
64
65
typedef
DtBoost::shared_ptr<DtDynamicTerrainMunitionDamageAlgorithm>
DtDynamicTerrainMunitionDamageAlgorithmSP
;
66
69
class
DT_DLL_vrfmodel
DtDynamicTerrainRangeBasedMunitionDamageAlgorithm
:
public
DtDynamicTerrainMunitionDamageAlgorithm
70
{
71
public
:
72
73
DtDynamicTerrainRangeBasedMunitionDamageAlgorithm
();
74
~
DtDynamicTerrainRangeBasedMunitionDamageAlgorithm
();
75
77
virtual
void
generateDamage
(
const
DtVector
& localPosition,
const
DtVector
& localDetonationPosition,
78
const
DtPowerRangeDeterminantList
& detonationPower,
const
DtHighFidelityTerrainDamageConfig
& damageConfig,
79
DtDynamicTerrainMunitionDamageController
& controller);
80
83
virtual
double
estimateDetonationPower
(
const
DtVector
& localPosition,
const
DtString
& damageValue,
84
const
DtHighFidelityTerrainDamageConfig
& damageConfig,
85
DtDynamicTerrainMunitionDamageController
& controller);
86
87
static
DtString
algorithmId
() {
return
"range-based"
; }
88
89
};
90
Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (
www.mak.com
)