VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
breachObstacleController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
12 #include "vlutil/vlString.h"
14 #include "vrfutil/rwVectorList.h"
15 
18 
21 {
22 public:
25  DtSimulationServices * simManager, DtComponentDescriptor* desc = NULL,
26  DtReaderWriterRegistry * parentRegistry = 0);
27 
29  virtual ~DtBreachObstacleController() override;
30 
32  virtual bool init() override;
33 
34 private:
37 
40 
41 public:
42 
43  virtual const char* type() const override;
44 
46  static DtSimComponent* creator(const DtString & name, DtLocalObject* owner,
47  DtSimulationServices * simManager, DtComponentDescriptor* desc,
48  DtReaderWriterRegistry * parentRegistry);
49 
53  virtual void processCreateTask(DtSimMessage* msg) override;
54 
58  virtual void processImproveTask(DtSimMessage* msg) override;
59 
60 protected:
61 
66  virtual bool resourcesStrengthAndRangeToBreach(
67  const DtVertexList& breachPoints,
68  const DtRwProperties& breachParameterProperties,
69  double& strength, double& range,
71  const DtUUID& breachId);
72 
73 protected:
75 
77  std::map<DtEntityType, DtRwAffectableEngineeringObject*> myObstacleInfoByObjType;
78 
79 };
80 
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual void processImproveTask(DtSimMessage *msg)
Improves an engineering object from the task message.
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
This controller is responsible for creating new engineering objects.
Definition: breachObstacleController.h:20
const DtBreachObstacleControllerDescriptor * myBreachObstacleDesc
Definition: breachObstacleController.h:74
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
DtBreachObstacleControllerDescriptor is a DtCreateEngineeringObjectControllerDescriptor that has addi...
Definition: breachObstacleControllerDescriptor.h:18
This controller is responsible for creating new engineering objects.
Definition: createEngineeringObjectController.h:24
virtual void processCreateTask(DtSimMessage *msg)
Creates an engineering object from the task message.
std::map< DtEntityType, DtRwAffectableEngineeringObject * > myObstacleInfoByObjType
Map of obstacle object types to engineering info.
Definition: breachObstacleController.h:77
virtual bool init() override
Initializes the controller.
File: simMsg.h.
Definition: simMessage.h:35
class DtVertexList:
Definition: vertexList.h:22
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
DtCreateEngineeringObjectController & operator=(const DtCreateEngineeringObjectController &orig)
Not implemented.
DtRwAffectableEngineeringObject holds a the information needed to know how a unit may create a type o...
Definition: rwAffectableEngineeringObject.h:22
A list of properties. A DtPropertyInterface object that is a specialized version of DtRwVariableBindi...
Definition: rwProperties.h:122
std::map< DtString, double > DtResourceMap
Definition: affectEngineeringObjectPSR.h:42
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry)
This is called by the factory.
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)