VR-Forces 4.10 Class Documentation
 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:
24  DtBreachObstacleController(const DtString & name, DtVrfObject* owner,
25  DtSimManager * simManager, DtComponentDescriptor* desc = NULL,
26  DtReaderWriterRegistry * parentRegistry = 0);
27 
29  virtual ~DtBreachObstacleController();
30 
32  virtual bool init();
33 
34 private:
37 
40 
41 public:
42 
43  virtual const char* type() const;
44 
46  static DtSimComponent* creator(const DtString & name, DtVrfObject* owner,
47  DtSimManager * simManager, DtComponentDescriptor* desc,
48  DtReaderWriterRegistry * parentRegistry);
49 
53  virtual void processCreateTask(DtSimMessage* msg);
54 
58  virtual void processImproveTask(DtSimMessage* msg);
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<DtObjectType, DtRwAffectableEngineeringObject*> myObstacleInfoByObjType;
78 
79 };
80 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
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
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
const DtBreachObstacleControllerDescriptor * myBreachObstacleDesc
Definition: breachObstacleController.h:74
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
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:22
virtual void processCreateTask(DtSimMessage *msg)
Creates an engineering object from the task message.
std::map< DtObjectType, DtRwAffectableEngineeringObject * > myObstacleInfoByObjType
Map of obstacle object types to engineering info.
Definition: breachObstacleController.h:77
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc, DtReaderWriterRegistry *parentRegistry)
This is called by the factory.
File: simMsg.h.
Definition: simMessage.h:35
class DtVertexList:
Definition: vertexList.h:22
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
virtual bool init()
Initializes the controller.
DtCreateEngineeringObjectController & operator=(const DtCreateEngineeringObjectController &orig)
Not implemented.
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtRwAffectableEngineeringObject holds a the information needed to know how a unit may create a type o...
Definition: rwAffectableEngineeringObject.h:22
virtual const char * type() const
Returns a string identifies the class type of component.
A list of properties.
Definition: rwProperties.h:126
std::map< DtString, double > DtResourceMap
Definition: affectEngineeringObjectPSR.h:41

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)