VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
minefieldStateRepository.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
13 
14 #include <vlutil/vlMachineTypes.h>
16 #include "vrfobjcore/mine.h"
18 #include "vrfutil/mineMunition.h"
19 
21 
29 {
30 protected:
33 
34 public:
35 
38  const DtObjectType& objectType, DtVrfObjectParameters* parameters,
39  const DtString& rwName = DtString::nullString(),
40  DtReaderWriterRegistry* parentRegistry = 0);
41 
44  const DtString& rwName = DtString::nullString(),
45  DtReaderWriterRegistry* parentRegistry = 0);
46 
49  const DtMinefieldStateRepository& orig);
50 
52  virtual ~DtMinefieldStateRepository();
53 
55  const DtString& rwName = DtString::nullString(),
56  DtReaderWriterRegistry* parentRegistry = 0) const;
57 
58  virtual bool init();
59 
61  virtual DtString type() const;
62 
64  virtual const int vrfOverlayObjectStateRepositorySubType() const;
65 
67  virtual const int minefieldStateRepositorySubType() const;
68 
69  virtual bool createParameters();
70  virtual void initializeFromParameters();
71  virtual const DtMinefieldParameters* minefieldParameters() const;
72 
73  static DtVrfObjectStateRepository* creator(const DtString& name,
74  DtVrfObject* vrfObject, const DtObjectType& objectType,
75  DtVrfObjectParameters* parameters,
76  DtReaderWriterRegistry* parentRegistry);
77 
80  static DtMinefieldStateRepository* isMinefieldStateRepository(
81  DtSimObjectStateRepository* repository);
82 
83  static const DtMinefieldStateRepository* isMinefieldStateRepository(
84  const DtSimObjectStateRepository* repository);
85 
87  static void verticesChanged(const DtVrfObject*, void* usr);
88  virtual void processVerticesChanged(const DtVrfObject*);
89 
91  virtual bool canSelfDestruct() const;
92  virtual void setCanSelfDestruct(bool selfDestruct);
93 
95  virtual DtMineList* getMineListForType(const DtString& name, const DtEntityType& mineType);
96 
98  virtual bool getMinefieldComposition();
99 
102  virtual DtMineCompositionList& mineCompositionList();
103 
106  virtual bool createMinefield();
107 
108  virtual void generateLocations(const DtExtent ext, const int numMines, const DtMineMunition& mineType);
109 
110  //returns mapped list of all mines in the minefield, mapped by mine type;
111  virtual DtMappedMineList& allMines();
112 
113  virtual void setExtendedDataMap(const ExtendedData&);
114  virtual void setExtendedDataMap(const std::map<std::string, std::string>& e);
115  virtual void setExtendedData(const DtString& key, const DtString& value);
116 
118  virtual void updateMineComposition();
119  virtual void tick();
120 
121 protected:
124 
127 
131 
137 
141 };
142 
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
virtual void setExtendedData(const DtString &key, const DtString &value)
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
virtual bool init()
Our &#39;virtual&#39; constructor. Calls all the create&lt;&gt;() methods.
virtual void setExtendedDataMap(const ExtendedData &)
bool mySetupMines
Determines if mine composition needs to be set up from extendedData.
Definition: minefieldStateRepository.h:123
virtual DtSimObjectStateRepository * clone(const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0) const
Clone.
*virtual const DtObjectType & objectType() const
The DtSimObjectStateRepository is an abstract base class (ABC) for all state repositories.
Definition: simObjectStateRepository.h:46
const DtVrfOverlayObjectStateRepository & operator=(const DtVrfOverlayObjectStateRepository &orig)
Assignment Operator.
Definition: readerWriterRegistry.h:39
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
Description: This repository holds all information that is common to all the forms of all entity/aggr...
Definition: vrfObjectStateRepository.h:87
Definition: objectType.h:27
virtual bool createParameters()
DtMappedMineList myMines
Parameter Name: full-mine-list Maps for each mine type, list of mines, their locations, and detonation state.
Definition: minefieldStateRepository.h:140
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DtMineCompositionList myMineCompositionList
Parameter Name: mine-composition-list Parameter Description: List of the types of mines and the perce...
Definition: minefieldStateRepository.h:136
virtual void tick()
This method is called each simulation frame, and may include any processing that needs to be done on ...
This file contains the class declaration for the.
virtual DtString type() const
returns DtSimObjectStateRepositoryType
Description: This repository holds all information that is common to all the forms of minefield objec...
Definition: minefieldStateRepository.h:27
bool myVerticesChanged
Determines if the minefield has been moved.
Definition: minefieldStateRepository.h:126
static DtVrfObjectStateRepository * creator(const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
std::map< DtString, DtString > ExtendedData
Definition: vrfObjectStateRepository.h:94
DtRwBoolean myCanSelfDestruct
Parameter Name: can-self-destruct Parameter Description: Whether or not minefield can self destruct...
Definition: minefieldStateRepository.h:130
Description: Readable, Writable bool.
Definition: rwBoolean.h:26
Contains the set of readable/writeable parameters associated with a cultural feature entity...
Definition: minefieldParameters.h:29
Definition: vrfOverlayObjectStateRepository.h:29
DtMineCompositionList is a readable/writable list of DtMineCompositionEntrys.
Definition: mineCompositionList.h:21
virtual void initializeFromParameters()
DtMineMunition class.
Definition: mineMunition.h:24
virtual const int vrfOverlayObjectStateRepositorySubType() const
Returns DtVrfOverlayObjectStateRepositorySubTypeBase.

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)