VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Slots | Protected Member Functions | Protected Attributes
DtDamageProbabilityResults Class Reference

This class will allow the user to show damage probabilities between two Simulation Objects. More...

Inheritance diagram for DtDamageProbabilityResults:
Inheritance graph
[legend]

Classes

struct  AmmunitionInformation
 
struct  HitCurve
 
struct  IndirectFireResult
 
struct  SimulationObject
 

Public Types

typedef std::map< const
DtAmmunitionParamsEntry
*, HitCurve
Curves
 

Public Member Functions

 DtDamageProbabilityResults (makVrv::DtDe &, QWidget *p)
 CTOR. More...
 
virtual ~DtDamageProbabilityResults ()
 
virtual void setAttacker (const DtObjectType &)
 
virtual void setDefender (const DtObjectType &)
 

Public Attributes

QVBoxLayout * myMainLayout
 
QHBoxLayout * myGraphLayout
 
QHBoxLayout * myButtonsLayout
 
QVBoxLayout * myVsLayout
 
QPushButtonmyReverseButton
 
QLabelmyVsLabel
 
SimulationObject myAttacker
 
SimulationObject myDefender
 
QPushButtonmyAttackerButton
 
QPushButtonmyDefenderButton
 
QPushButtonmyCloseButton
 
QwtPlot * myGraph
 
QwtLegend * myLegend
 
DtPlotPickermyPlotPicker
 
QVBoxLayout * mySelectionLayout
 
QLabelmyFaceLabel
 
DtFaceSelectionWidgetmyFaces
 
DtAngleOfIncidenceSelectionWidgetmyAngleOfIncidenceSelectionWidget
 
QLabelmyAngleOfIncidenceLabel
 
Curves myCurves
 
QLabelmyDetailedDataLabel
 
QGridLayout * myDetailedDataLayout
 
QHBoxLayout * myDataLayout
 
std::map< int, std::map< int,
QWidget * > > 
myDetailedDataWidgets
 
std::vector< QLabel * > myDetailedDataLabels
 
QwtPlotCurve * mySelectionLine
 
QWidget * myDetailedDataWidget
 

Protected Types

typedef std::map< const
DtAmmunitionParamsEntry
*, AmmunitionInformation
AmmunitionMap
 
typedef std::map< const
DtAmmunitionParamsEntry
*, IndirectFireResult
IndirectFireResults
 

Protected Slots

virtual void selectAttacker ()
 
virtual void selectDefender ()
 
virtual void selectFace (const DtString &)
 
virtual void legendClicked (const QVariant &itemInfo, int index)
 
virtual void setupForAngleOfIncidence (double)
 
virtual void showDetailedData (const QPointF &)
 
virtual void selectAppropriateItem ()
 
virtual void editSimulationObject ()
 
virtual void onSwap ()
 
virtual void itemClicked ()
 
virtual void showCurveChanged ()
 

Protected Member Functions

virtual void slot_revertedMunitions (std::set< makVrf::DtEntityMapperKey >)
 
virtual SimulationObject createSimulationObject (const DtString &)
 
virtual double maximumRangeForMunition (const DtAmmunitionParamsEntry *ape) const
 
virtual void setIcon (const SimulationObject &)
 
virtual void selectSimulationObject (SimulationObject &)
 
virtual void slot_resetIcons ()
 
virtual void attack ()
 
virtual QWidget * showError (const QString &, const QString &toDo, int row, int col)
 
virtual AmmunitionMap ammunitionThatCanTargetDefender (const DtSimulationModelSetLoader::TargetingControlAndRangeTables &targets) const
 
virtual double findMaximumRange (const AmmunitionMap &) const
 
virtual bool graphAttack (const AmmunitionMap &, const DtString &face, double angleOfIncidence)
 
virtual void clearPlotLines ()
 
virtual QVector< QPointF > calculateIndirectFire (const DtMunitionDetonationPowerEntry *, const DtAmmunitionParamsEntry *, const DtRangeProbabilityTable *hitTable, const DtString &, const DtString &, double angleOfIncidence) const
 
virtual QVector< QPointF > calculateFromHitTable (const DtMunitionDetonationPowerEntry *, const DtAmmunitionParamsEntry *, const DtRangeProbabilityTable *hitTable, const DtString &, const DtString &, double angleOfIncidence) const
 
virtual QVector< QPointF > createPlotLine (const DtMunitionDetonationPowerEntry *, const DtAmmunitionParamsEntry *, const DtRangeProbabilityTable *hitTable, const DtString &, const DtString &, double angleOfIncidence) const
 
virtual bool isIndirectFire (const DtAmmunitionParamsEntry *) const
 
virtual bool getIndirectFireValues (const DtAmmunitionParamsEntry *, double &probableErrorInRange, double &probableErrorInDisplacement, double &minRange, double &maxRange) const
 
virtual double calculateIndirectDistanceFromTarget (double probableErrorInRange, double probableErrorInDisplacement) const
 
virtual double findMaximumRange (const DtAmmunitionParamsEntry *ammo) const
 
virtual double killPercentage (double range, const DtPowerRangeDeterminant *, const DtDamageProbabilityTable *, const DtString &type, const DtString &surface, double angleOfIncidence, double *retPower=0, bool indirect=false) const
 
virtual const
DtRangeProbabilityTable
hitTableForAmmunition (const DtAmmunitionParamsEntry *, const DtComponentSystemDefinition **definition=0) const
 
virtual double hitPercentage (const DtRangeProbabilityTable *hitTable, double range) const
 
virtual double killPercentage (double range, const DtMunitionDetonationPowerEntry *, const DtAmmunitionParamsEntry *, const DtRangeProbabilityTable *hitTagble, const DtString &type, const DtString &surface, double angleOfIncidence, double *retPower=0, DtString *retPowerType=0, bool indirect=false) const
 Given the range, iterate over all possible power entries and find the best possible kill percentage. More...
 
virtual double killPercentageModification (double range, double percent, const DtAmmunitionParamsEntry *, const DtRangeProbabilityTable *) const
 Modifies the kill percentage by a percentage found from the munition and hit tables (or some other value) More...
 
virtual void setupForAnglesOfIncidence (const DtDamageProbabilityTable *, const DtString &, double angleOfIncidence)
 
virtual void setupFacesWidget (const DtDamageProbabilityTable *)
 
virtual void uiEvent (const DtUiElementEvent &)
 
virtual void graphLineColorChanged (const QColor &oldColor, const QColor &newColor)
 
virtual void clearDetailedData ()
 
virtual void addDetailedDataLabel (int col, const QString &)
 
virtual bool getInformationForAmmuinitionAtRange (const DtAmmunitionParamsEntry *, double range, const DtRangeProbabilityTable *, const DtDamageProbabilityTable *&, double &hit, double &power, double &killPercent, DtString &powerType, bool &beyondMaxRange, double &maximumRange) const
 
virtual QWidget * setDetailedDataValue (int row, int col, const QString &value, bool isLink)
 
virtual void replotAllCurves ()
 
virtual void slot_labelModified (const std::vector< DtObjectType > &)
 
virtual void slot_objectTypeAboutToBeChanged (const DtObjectType &oldType, const DtObjectType &newType)
 
virtual QLabeladdRowLabel (int row, const QString &ammoLabel)
 
virtual QWidget * addRegenerateGraph (int row)
 
virtual void clearRegenerateGraph (int row)
 
virtual void regenerateGraphLine (int row)
 
virtual QVector< QPointF > createPlotLine (const DtAmmunitionParamsEntry *entry, const DtString &surface, double angleOfIncidence, const DtDamageProbabilityTable **=0)
 
virtual QWidget * addAdditionalInformationText (int row, const QString &text)
 
virtual QWidget * addAdditionalWarningText (int row, const QString &text)
 
virtual QWidget * addAdditionalText (int row, const QString &text, const std::string &icon)
 
virtual void clearAdditionalInformationText (int row)
 
virtual void showAdditionalInformation (const QString &)
 
virtual QString indirectFireText (const DtAmmunitionParamsEntry *entry, double power) const
 
virtual void processDataChangedEvent (const QString &)
 
virtual QString damageTableCannotBeDamagedBy (const DtAmmunitionParamsEntry *) const
 
virtual QString damageTableCannotBeDamagedBy (const AmmunitionMap &) const
 
virtual QString weaponCannotDamage (const DtRwDamageByMunitionPowerMap *) const
 

Protected Attributes

makVrv::DtDemyDe
 
makVrv::DtSignalConnectionManager myConnections
 
AmmunitionMap myAvailableAmmunition
 
DtRwDamageByMunitionPowerMapmyDamageTable
 
DtComponentSystemDefinitionmyDamageSystem
 
makVrv::DtSignalConnectionManager myGraphLineColorConnections
 
DtSimulationModelSetLoader::TargetingControlAndRangeTables myTargetingControlAndRangeTables
 
double myLastRangeSelected
 
double myMaximumRange
 
int myIndirectFireRuns
 
IndirectFireResults myIndirectFireResults
 

Detailed Description

This class will allow the user to show damage probabilities between two Simulation Objects.

Member Typedef Documentation

Constructor & Destructor Documentation

DtDamageProbabilityResults::DtDamageProbabilityResults ( makVrv::DtDe ,
QWidget *  p 
)

CTOR.

virtual DtDamageProbabilityResults::~DtDamageProbabilityResults ( )
virtual

Member Function Documentation

virtual void DtDamageProbabilityResults::setAttacker ( const DtObjectType )
virtual
virtual void DtDamageProbabilityResults::setDefender ( const DtObjectType )
virtual
virtual void DtDamageProbabilityResults::slot_revertedMunitions ( std::set< makVrf::DtEntityMapperKey )
protectedvirtual
virtual SimulationObject DtDamageProbabilityResults::createSimulationObject ( const DtString )
protectedvirtual
virtual double DtDamageProbabilityResults::maximumRangeForMunition ( const DtAmmunitionParamsEntry ape) const
protectedvirtual
virtual void DtDamageProbabilityResults::setIcon ( const SimulationObject )
protectedvirtual
virtual void DtDamageProbabilityResults::selectSimulationObject ( SimulationObject )
protectedvirtual
virtual void DtDamageProbabilityResults::slot_resetIcons ( )
protectedvirtual
virtual void DtDamageProbabilityResults::attack ( )
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::showError ( const QString &  ,
const QString &  toDo,
int  row,
int  col 
)
protectedvirtual
virtual AmmunitionMap DtDamageProbabilityResults::ammunitionThatCanTargetDefender ( const DtSimulationModelSetLoader::TargetingControlAndRangeTables targets) const
protectedvirtual
virtual double DtDamageProbabilityResults::findMaximumRange ( const AmmunitionMap ) const
protectedvirtual
virtual bool DtDamageProbabilityResults::graphAttack ( const AmmunitionMap ,
const DtString face,
double  angleOfIncidence 
)
protectedvirtual
virtual void DtDamageProbabilityResults::clearPlotLines ( )
protectedvirtual
virtual QVector<QPointF> DtDamageProbabilityResults::calculateIndirectFire ( const DtMunitionDetonationPowerEntry ,
const DtAmmunitionParamsEntry ,
const DtRangeProbabilityTable hitTable,
const DtString ,
const DtString ,
double  angleOfIncidence 
) const
protectedvirtual
virtual QVector<QPointF> DtDamageProbabilityResults::calculateFromHitTable ( const DtMunitionDetonationPowerEntry ,
const DtAmmunitionParamsEntry ,
const DtRangeProbabilityTable hitTable,
const DtString ,
const DtString ,
double  angleOfIncidence 
) const
protectedvirtual
virtual QVector<QPointF> DtDamageProbabilityResults::createPlotLine ( const DtMunitionDetonationPowerEntry ,
const DtAmmunitionParamsEntry ,
const DtRangeProbabilityTable hitTable,
const DtString ,
const DtString ,
double  angleOfIncidence 
) const
protectedvirtual
virtual bool DtDamageProbabilityResults::isIndirectFire ( const DtAmmunitionParamsEntry ) const
protectedvirtual
virtual bool DtDamageProbabilityResults::getIndirectFireValues ( const DtAmmunitionParamsEntry ,
double probableErrorInRange,
double probableErrorInDisplacement,
double minRange,
double maxRange 
) const
protectedvirtual
virtual double DtDamageProbabilityResults::calculateIndirectDistanceFromTarget ( double  probableErrorInRange,
double  probableErrorInDisplacement 
) const
protectedvirtual
virtual double DtDamageProbabilityResults::findMaximumRange ( const DtAmmunitionParamsEntry ammo) const
protectedvirtual
virtual double DtDamageProbabilityResults::killPercentage ( double  range,
const DtPowerRangeDeterminant ,
const DtDamageProbabilityTable ,
const DtString type,
const DtString surface,
double  angleOfIncidence,
double retPower = 0,
bool  indirect = false 
) const
protectedvirtual
virtual const DtRangeProbabilityTable* DtDamageProbabilityResults::hitTableForAmmunition ( const DtAmmunitionParamsEntry ,
const DtComponentSystemDefinition **  definition = 0 
) const
protectedvirtual
virtual double DtDamageProbabilityResults::hitPercentage ( const DtRangeProbabilityTable hitTable,
double  range 
) const
protectedvirtual
virtual double DtDamageProbabilityResults::killPercentage ( double  range,
const DtMunitionDetonationPowerEntry ,
const DtAmmunitionParamsEntry ,
const DtRangeProbabilityTable hitTagble,
const DtString type,
const DtString surface,
double  angleOfIncidence,
double retPower = 0,
DtString retPowerType = 0,
bool  indirect = false 
) const
protectedvirtual

Given the range, iterate over all possible power entries and find the best possible kill percentage.

virtual double DtDamageProbabilityResults::killPercentageModification ( double  range,
double  percent,
const DtAmmunitionParamsEntry ,
const DtRangeProbabilityTable  
) const
protectedvirtual

Modifies the kill percentage by a percentage found from the munition and hit tables (or some other value)

virtual void DtDamageProbabilityResults::setupForAnglesOfIncidence ( const DtDamageProbabilityTable ,
const DtString ,
double  angleOfIncidence 
)
protectedvirtual
virtual void DtDamageProbabilityResults::setupFacesWidget ( const DtDamageProbabilityTable )
protectedvirtual
virtual void DtDamageProbabilityResults::uiEvent ( const DtUiElementEvent )
protectedvirtual
virtual void DtDamageProbabilityResults::graphLineColorChanged ( const QColor &  oldColor,
const QColor &  newColor 
)
protectedvirtual
virtual void DtDamageProbabilityResults::clearDetailedData ( )
protectedvirtual
virtual void DtDamageProbabilityResults::addDetailedDataLabel ( int  col,
const QString &   
)
protectedvirtual
virtual bool DtDamageProbabilityResults::getInformationForAmmuinitionAtRange ( const DtAmmunitionParamsEntry ,
double  range,
const DtRangeProbabilityTable ,
const DtDamageProbabilityTable *&  ,
double hit,
double power,
double killPercent,
DtString powerType,
bool beyondMaxRange,
double maximumRange 
) const
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::setDetailedDataValue ( int  row,
int  col,
const QString &  value,
bool  isLink 
)
protectedvirtual
virtual void DtDamageProbabilityResults::replotAllCurves ( )
protectedvirtual
virtual void DtDamageProbabilityResults::slot_labelModified ( const std::vector< DtObjectType > &  )
protectedvirtual
virtual void DtDamageProbabilityResults::slot_objectTypeAboutToBeChanged ( const DtObjectType oldType,
const DtObjectType newType 
)
protectedvirtual
virtual QLabel* DtDamageProbabilityResults::addRowLabel ( int  row,
const QString &  ammoLabel 
)
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::addRegenerateGraph ( int  row)
protectedvirtual
virtual void DtDamageProbabilityResults::clearRegenerateGraph ( int  row)
protectedvirtual
virtual void DtDamageProbabilityResults::regenerateGraphLine ( int  row)
protectedvirtual
virtual QVector<QPointF> DtDamageProbabilityResults::createPlotLine ( const DtAmmunitionParamsEntry entry,
const DtString surface,
double  angleOfIncidence,
const DtDamageProbabilityTable **  = 0 
)
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::addAdditionalInformationText ( int  row,
const QString &  text 
)
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::addAdditionalWarningText ( int  row,
const QString &  text 
)
protectedvirtual
virtual QWidget* DtDamageProbabilityResults::addAdditionalText ( int  row,
const QString &  text,
const std::string &  icon 
)
protectedvirtual
virtual void DtDamageProbabilityResults::clearAdditionalInformationText ( int  row)
protectedvirtual
virtual void DtDamageProbabilityResults::showAdditionalInformation ( const QString &  )
protectedvirtual
virtual QString DtDamageProbabilityResults::indirectFireText ( const DtAmmunitionParamsEntry entry,
double  power 
) const
protectedvirtual
virtual void DtDamageProbabilityResults::processDataChangedEvent ( const QString &  )
protectedvirtual
virtual QString DtDamageProbabilityResults::damageTableCannotBeDamagedBy ( const DtAmmunitionParamsEntry ) const
protectedvirtual
virtual QString DtDamageProbabilityResults::damageTableCannotBeDamagedBy ( const AmmunitionMap ) const
protectedvirtual
virtual QString DtDamageProbabilityResults::weaponCannotDamage ( const DtRwDamageByMunitionPowerMap ) const
protectedvirtual
virtual void DtDamageProbabilityResults::selectAttacker ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::selectDefender ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::selectFace ( const DtString )
protectedvirtualslot
virtual void DtDamageProbabilityResults::legendClicked ( const QVariant &  itemInfo,
int  index 
)
protectedvirtualslot
virtual void DtDamageProbabilityResults::setupForAngleOfIncidence ( double  )
protectedvirtualslot
virtual void DtDamageProbabilityResults::showDetailedData ( const QPointF &  )
protectedvirtualslot
virtual void DtDamageProbabilityResults::selectAppropriateItem ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::editSimulationObject ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::onSwap ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::itemClicked ( )
protectedvirtualslot
virtual void DtDamageProbabilityResults::showCurveChanged ( )
protectedvirtualslot

Member Data Documentation

QVBoxLayout* DtDamageProbabilityResults::myMainLayout
QHBoxLayout* DtDamageProbabilityResults::myGraphLayout
QHBoxLayout* DtDamageProbabilityResults::myButtonsLayout
QVBoxLayout* DtDamageProbabilityResults::myVsLayout
QPushButton* DtDamageProbabilityResults::myReverseButton
QLabel* DtDamageProbabilityResults::myVsLabel
SimulationObject DtDamageProbabilityResults::myAttacker
SimulationObject DtDamageProbabilityResults::myDefender
QPushButton* DtDamageProbabilityResults::myAttackerButton
QPushButton* DtDamageProbabilityResults::myDefenderButton
QPushButton* DtDamageProbabilityResults::myCloseButton
QwtPlot* DtDamageProbabilityResults::myGraph
QwtLegend* DtDamageProbabilityResults::myLegend
DtPlotPicker* DtDamageProbabilityResults::myPlotPicker
QVBoxLayout* DtDamageProbabilityResults::mySelectionLayout
QLabel* DtDamageProbabilityResults::myFaceLabel
DtFaceSelectionWidget* DtDamageProbabilityResults::myFaces
DtAngleOfIncidenceSelectionWidget* DtDamageProbabilityResults::myAngleOfIncidenceSelectionWidget
QLabel* DtDamageProbabilityResults::myAngleOfIncidenceLabel
Curves DtDamageProbabilityResults::myCurves
QLabel* DtDamageProbabilityResults::myDetailedDataLabel
QGridLayout* DtDamageProbabilityResults::myDetailedDataLayout
QHBoxLayout* DtDamageProbabilityResults::myDataLayout
std::map<int, std::map<int, QWidget*> > DtDamageProbabilityResults::myDetailedDataWidgets
std::vector<QLabel*> DtDamageProbabilityResults::myDetailedDataLabels
QwtPlotCurve* DtDamageProbabilityResults::mySelectionLine
QWidget* DtDamageProbabilityResults::myDetailedDataWidget
makVrv::DtDe& DtDamageProbabilityResults::myDe
protected
makVrv::DtSignalConnectionManager DtDamageProbabilityResults::myConnections
protected
AmmunitionMap DtDamageProbabilityResults::myAvailableAmmunition
protected
DtRwDamageByMunitionPowerMap* DtDamageProbabilityResults::myDamageTable
protected
DtComponentSystemDefinition* DtDamageProbabilityResults::myDamageSystem
protected
makVrv::DtSignalConnectionManager DtDamageProbabilityResults::myGraphLineColorConnections
protected
DtSimulationModelSetLoader::TargetingControlAndRangeTables DtDamageProbabilityResults::myTargetingControlAndRangeTables
protected
double DtDamageProbabilityResults::myLastRangeSelected
protected
double DtDamageProbabilityResults::myMaximumRange
protected
int DtDamageProbabilityResults::myIndirectFireRuns
protected
IndirectFireResults DtDamageProbabilityResults::myIndirectFireResults
mutableprotected

The documentation for this class was generated from the following file:

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)