VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
breachDetector.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 
11 #pragma once
12 
17 
24 {
25 
26 public:
27 
30  DtBreachDetector(const DtString& name,
31  DtVrfObject* owner,
32  DtSimManager* simManager,
33  DtComponentDescriptor* desc = 0,
34  DtReaderWriterRegistry* parentRegistry = 0);
35 
37  virtual ~DtBreachDetector();
38 
41  virtual const char* type() const;
42 
43  virtual bool init();
44 
46  virtual void tick();
47 
51  static DtSimComponent * creator(const DtString& name,
52  DtVrfObject* owner,
53  DtSimManager* simManager,
54  DtComponentDescriptor* desc = 0,
55  DtReaderWriterRegistry* parentRegistry = 0);
56 
59  static bool checkForBreach(const DtVertexList& breachVertices,
60  const DtVrfObject* engineeringObject);
61 
62 protected:
64  virtual bool checkForBreach(const DtVrfObject* breachObject);
65 
67  virtual bool checkPointBreach(const DtVrfObject* breachObject) const;
68 
70  virtual bool checkLinearBreach(const DtVrfObject* breachObject) const;
71 
74  virtual bool checkArealBreach(const DtVrfObject* breachObject) const;
75 
78  static bool checkPointBreach(const DtVertexList& breachVertices,
79  const DtVrfObject* engineeringObject);
80 
83  static bool checkLinearBreach(const DtVertexList& breachVertices,
84  const DtVrfObject* engineeringObject);
85 
88  static bool checkArealBreach(const DtVertexList& breachVertices,
89  const DtVrfObject* engineeringObject);
90 
93  static void verticesChanged(const DtVrfObject*, void*);
94  virtual void processVerticesChanged();
95 
97  virtual void updateBreachStatus();
98 
100  static void breachVerticesChanged(const DtVrfObject*, void*);
101  virtual void processBreachVerticesChanged(const DtVrfObject*);
102 
104  static void breachObjectAboutToBeRemoved(const DtVrfObject*, void*);
105  virtual void processBreachObjectAboutToBeRemoved(const DtVrfObject*);
106 
108  static void breachObjectAdded(const DtVrfObject*, void*);
109  virtual void processBreachObjectAdded(const DtVrfObject*);
110 
112  static void breachEffectivenessChanged(const DtVrfObject*, DtVrfObjectPredicateEvaluator*,void*);
113  virtual void processBreachEffectivenessChanged(const DtVrfObject*);
114 
115 protected:
118 
120  DtBreachDetector(const DtBreachDetector & orig);
121 
124  orig);
125 
126 protected:
127  std::set<const DtVrfObject*> myBreachedBy;
128 
131 
132  std::set<const DtVrfObject*> myFirstTimeEffectiveObjs;
133  std::set<const DtVrfObject*> myNewlyEffectiveObjs;
134  std::set<const DtVrfObject*> myNewlyIneffectiveObjs;
135 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtEngineeringObjEffectivePredicate myIneffectivePred
Definition: breachDetector.h:130
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
std::set< const DtVrfObject * > myNewlyIneffectiveObjs
Definition: breachDetector.h:134
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Contains the DtEngineeringObjEffectivePredicate class declaration.
Definition: engineeringObjEffectivePredicate.h:18
Definition: readerWriterRegistry.h:39
virtual bool init()
Calls setRadio()
DtEngineeringObjEffectivePredicate myEffectivePred
Definition: breachDetector.h:129
class DtVertexList:
Definition: vertexList.h:22
virtual void tick()
This gives the thread of control to the component.
std::set< const DtVrfObject * > myFirstTimeEffectiveObjs
Definition: breachDetector.h:132
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:29
DtBreachDetector; Determines whether or not this object is breached by a breach route (see predefined...
Definition: breachDetector.h:23
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
class DtVrfObjectPredicateEvaluator:
Definition: vrfObjectPredicateEvaluator.h:18
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
std::set< const DtVrfObject * > myNewlyEffectiveObjs
Definition: breachDetector.h:133
std::set< const DtVrfObject * > myBreachedBy
Definition: breachDetector.h:127

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)