20 #include <tbb/spin_mutex.h>
45 virtual const char*
type()
const override;
47 virtual bool init()
override;
50 virtual void tick()
override;
63 static bool checkForBreach(
const DtVertexList& breachVertices,
71 virtual bool checkPointBreach(
const DtSimObject* breachObject)
const;
74 virtual bool checkLinearBreach(
const DtSimObject* breachObject)
const;
78 virtual bool checkArealBreach(
const DtSimObject* breachObject)
const;
82 static bool checkPointBreach(
const DtVertexList& breachVertices,
87 static bool checkLinearBreach(
const DtVertexList& breachVertices,
92 static bool checkArealBreach(
const DtVertexList& breachVertices,
97 virtual void processVerticesChanged();
100 virtual void updateBreachStatus();
106 virtual void processBreachObjectAboutToBeRemoved(
const DtSimObject*);
127 typedef std::map<const DtSimObject*, boost::signals2::connection>
BreachedBy;
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtEngineeringObjEffectivePredicate myIneffectivePred
Definition: breachDetector.h:131
std::set< DtSimObjectReference > myNewlyIneffectiveObjs
Definition: breachDetector.h:135
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
std::map< const DtSimObject *, boost::signals2::connection > BreachedBy
Definition: breachDetector.h:127
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Contains the DtEngineeringObjEffectivePredicate class declaration.
Definition: engineeringObjEffectivePredicate.h:18
virtual const char * type() const override=0
This returns a string from compTypes.h, and identifies the type of component.
Definition: readerWriterRegistry.h:39
boost::signals2::scoped_connection mySimObjectAddedCallback
Definition: breachDetector.h:139
std::set< DtSimObjectReference > myNewlyEffectiveObjs
Definition: breachDetector.h:134
virtual bool init() override
Calls setRadio()
DtEngineeringObjEffectivePredicate myEffectivePred
Definition: breachDetector.h:130
class DtVertexList:
Definition: vertexList.h:22
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:31
tbb::spin_mutex myRemovalMutex
Definition: breachDetector.h:140
DtBreachDetector; Determines whether or not this object is breached by a breach route (see predefined...
Definition: breachDetector.h:27
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:25
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
Definition: vrfObjectPredicateEvaluator.h:17
std::set< DtSimObjectReference > myFirstTimeEffectiveObjs
Definition: breachDetector.h:133
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
BreachedBy myBreachedBy
Definition: breachDetector.h:128
DtSimObjectReferenceList myBreachObjects
Definition: breachDetector.h:137
A locally simulated VRF object.
Definition: localObject.h:98