VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
munitionDispersal.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 #pragma once
11 
14 #include <readerWriter/rwReal.h>
15 #include <memory>
16 
21 
25 {
26 public:
29 
32  parentRegistry = NULL);
33 
35  parentRegistry = NULL);
36 
38  DtMunitionDispersal(const DtString& name, const DtMunitionDispersal& orig,
39  DtReaderWriterRegistry* parentRegistry = NULL);
40 
42  DtReaderWriterRegistry* parentRegistry = NULL);
43 
46 
47  virtual ~DtMunitionDispersal() override;
48 
49  virtual DtMunitionDispersal* clone(const DtString& name,
50  DtReaderWriterRegistry* parentRegistry = NULL) const;
51 
52  virtual DtMunitionDispersal* clone(const DtSymbolString& name,
53  DtReaderWriterRegistry* parentRegistry = NULL) const;
54 
56  bool operator==(const DtMunitionDispersal& rhs) const;
57  bool operator!=(const DtMunitionDispersal& rhs) const
58  {
59  return !(*this == rhs);
60  }
61 
63  virtual DtMunitionDispersalParams* params();
64 
66  std::unique_ptr<DtBaseMunitionDispersalDeterminant> createDeterminant() const;
67 
69  static void setParamsFactory(DtMunitionDispersalParamsFactory* factory);
70 
72  static DtMunitionDispersalParamsFactory* paramsFactory();
73 
75  static void setDeterminantFactory(DtMunitionDispersalDeterminantFactory* factory);
76 
79  static DtMunitionDispersalDeterminantFactory* determinantFactory();
80 
81  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths = SearchPaths(),
82  const DtVariableBindingsList& variableBindings = nullVariableReference()) override;
83 
84 protected:
85 
87  virtual DtMunitionDispersalParams* createParams(const DtString& determinantType);
88 
89 protected:
90 
92 
94 
96 
98 
99 };
100 
101 
bool operator==(const DtReaderWriter &) const
Equivalence operator.
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
Definition: readerWriter.h:85
Factory for creating DtBaseMunitionDispersalDeterminants.
Definition: baseMunitionDispersalDeterminant.h:50
DtString myDispersalType
Definition: munitionDispersal.h:93
Definition: readerWriterRegistry.h:39
DtMunitionDispersal specifies how a cluster munition or burst of fire is dispersed around the target...
Definition: munitionDispersal.h:24
bool operator!=(const DtMunitionDispersal &rhs) const
Definition: munitionDispersal.h:57
DtMunitionDispersalParams * myParams
Definition: munitionDispersal.h:91
Factory for creating DtMunitionDispersalParamss.
Definition: munitionDispersalParams.h:57
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
static DtMunitionDispersalParamsFactory * theParamsFactory
Definition: munitionDispersal.h:95
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
static const DtVariableBindingsList & nullVariableReference()
DtMunitionDispersalParams.
Definition: munitionDispersalParams.h:20
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static DtMunitionDispersalDeterminantFactory * theDeterminantFactory
Definition: munitionDispersal.h:97
DtBaseMunitionDispersalDeterminant is a base class for classes that calculate where individual detona...
Definition: baseMunitionDispersalDeterminant.h:21

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)