VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
powerRangeCoefficientsDeterminant.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
13 #include <readerWriter/rwString.h>
15 
21 {
22 public:
25 
27  DtPowerCoefficients(const DtString& name, DtReaderWriterRegistry* parentRegistry = NULL)
28  : DtPrbProbabilityCoefficients(name, parentRegistry) {}
29 
30  DtPowerCoefficients(const DtSymbolString& name, DtReaderWriterRegistry* parentRegistry = NULL)
31  : DtPrbProbabilityCoefficients(name, parentRegistry) {}
32 
35  DtReaderWriterRegistry* parentRegistry = NULL)
36  : DtPrbProbabilityCoefficients(name, orig, parentRegistry) {}
37 
39  DtReaderWriterRegistry* parentRegistry = NULL)
40  : DtPrbProbabilityCoefficients(name, orig, parentRegistry) {}
41 
43  virtual ~DtPowerCoefficients() {}
44 
46  virtual DtReal powerAtRange(DtReal range) const;
47 
48 };
49 
50 
54 {
55 public:
56 
59 
63  parentRegistry = NULL);
65  parentRegistry = NULL);
67 
71  DtReaderWriterRegistry* parentRegistry = NULL);
73  DtReaderWriterRegistry* parentRegistry = NULL);
75 
77  virtual bool operator==(const DtPowerRangeDeterminant& rhs) const;
78 
81 
83  DtReaderWriterRegistry* parentRegistry = NULL) const;
85  DtReaderWriterRegistry* parentRegistry = NULL) const;
86 
88  virtual double detonationPower(double rangeFromShooter, double rangeFromImpact) const;
89 
91  virtual double rangeFromShooterForPower(double power) const;
92 
94  virtual double rangeFromImpactForPower(double power) const;
95 
97  virtual double maximumRangeFromShooter() const;
98 
100  virtual double maximumRangeFromImpact() const;
101 
104 
106  virtual double solveForMaximum() const;
107 
110  virtual DtPowerCoefficients& coefficients();
111  virtual const DtPowerCoefficients& coefficients() const;
112  virtual void setCoefficients(const DtPowerCoefficients&);
114 
115 protected:
116 
118  virtual double rangeFromPower(double power) const;
119 
123  virtual void validateRangeFrom();
124 
127 
138 
140 
141 };
142 
143 
DtPowerCoefficients()
default constructor
Definition: powerRangeCoefficientsDeterminant.h:24
virtual double maximumRangeFromShooter() const =0
Gets the maximum effective range from shooter of this detonation.
DtPowerCoefficients myCoefficients
Parameter Name: range-coefficients Parameter Description: Defines the coefficients of a standard poly...
Definition: powerRangeCoefficientsDeterminant.h:137
Definition: symbolString.h:20
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtPowerCoefficients(const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL)
Constructor with parameters to set up read/writability correctly.
Definition: powerRangeCoefficientsDeterminant.h:27
virtual void validateRangeFrom()=0
Validates the configured range-from setting and restores to a valid default if configuration is unsup...
virtual double maximumRangeFromImpact() const =0
Gets the maximum effective range from impact of this detonation.
DtPowerCoefficients(const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL)
Definition: powerRangeCoefficientsDeterminant.h:30
Definition: readerWriterRegistry.h:39
A readable/writable object that indicates the power of a detonation of a given type as a function of ...
Definition: powerRangeCoefficientsDeterminant.h:53
A readable/writable object that indicates the power of a detonation of a given type, potentially at different ranges from the point of impact.
Definition: powerRangeDeterminant.h:17
virtual double rangeFromShooterForPower(double power) const =0
Gets the maximum range from the shooter where the impact point would experience the specified power...
Definition: prbProbabilityCoefficients.h:20
DtPrbProbabilityCoefficients is essentially the same structure as our power coefficients: a series of...
Definition: powerRangeCoefficientsDeterminant.h:20
static DtPowerRangeDeterminant * creator()
Creator function.
Definition: powerRangeCoefficientsDeterminant.h:103
DtPowerCoefficients(const DtSymbolString &name, const DtPrbProbabilityCoefficients &orig, DtReaderWriterRegistry *parentRegistry=NULL)
Definition: powerRangeCoefficientsDeterminant.h:38
DtPowerCoefficients(const DtString &name, const DtPrbProbabilityCoefficients &orig, DtReaderWriterRegistry *parentRegistry=NULL)
copy constructor
Definition: powerRangeCoefficientsDeterminant.h:34
virtual bool operator==(const DtPowerRangeDeterminant &rhs) const
virtual DtPowerRangeDeterminant * clone(const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL) const =0
const DtPowerRangeDeterminant & operator=(const DtPowerRangeDeterminant &orig)
virtual double detonationPower(double rangeFromShooter, double rangeFromImpact) const =0
Gets the detonation&#39;s power the given range from the shooter and range from the point of impact...
virtual double rangeFromImpactForPower(double power) const =0
Gets the maximum range from the impact point where one would experience the specified power...
virtual ~DtPowerCoefficients()
destructor
Definition: powerRangeCoefficientsDeterminant.h:43

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)