VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dynamicTerrainMunitionDamageController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
12 
13 #pragma once
14 
17 #include <tbb/spin_mutex.h>
18 
22 
23 
29 {
30 private:
37 
38 public:
41  DtSimManager* simManager, DtComponentDescriptor* desc=0, DtReaderWriterRegistry *parentRegistry=0);
42 
45 
47  virtual void registerCallbacks();
48 
50  virtual void deregisterCallbacks();
51 
53  virtual const char* type() const;
54 
56  virtual void sendDetonation(const DtVector& localPos, const DtEntityType& munitionType);
57 
59  static DtSimComponent* creator(const DtString& name, DtVrfObject* owner, DtSimManager* simManager,
60  DtComponentDescriptor* desc = 0, DtReaderWriterRegistry* parentRegistry = 0);
61 
65  static void addHighFidelityDamageAlgorithm(const DtString& algorithmId, DtDynamicTerrainMunitionDamageAlgorithmSP);
66 
68  static void removeHighFidelityDamageAlgorithm(const DtString& algorithmId);
69 
70 protected:
71 
74  static void detonationCallback(DtDetonationInteraction* detInter, void* usr);
75  virtual void processDetonation(const DtDetonationInteraction& detonation);
77 
80  static void removeDynamicTerrainDamageCallback(const DtSimCommand& cmd, void* usr);
81  virtual void processRemoveDynamicTerrainDamageCommand(const DtRemoveDynamicTerrainDamageCommand& cmd);
83 
85  virtual void removeStandardDamageInCommandArea(const DtDynamicTerrainCommand& cmd);
86 
88  virtual void removeHighFidelityDamageInCommandArea(const DtDynamicTerrainCommand& cmd);
89 
92 
96 
98  virtual void processStandardDamage(const DtVector& localPos, const DtPowerRangeDeterminantList& detonationPower);
99 
101  virtual void processHighFidelityDamage(const DtVector& localPos, const DtPowerRangeDeterminantList& detonationPower);
102 
103  typedef std::map<DtString, DtDynamicTerrainMunitionDamageAlgorithmSP> HighFidelityAlgorithmMap;
104  static HighFidelityAlgorithmMap* highFidelityAlgorithms();
105 
106 protected:
107 
109 
110 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)