VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiMultiHitDamageConfigurationWidget.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2018 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 #if !defined(Q_MOC_RUN)
10 #include <QtWidgets/QPushButton>
11 #endif
12 
14 
15 class QListWidget;
21 class DtDmgSurfaceEntry;
22 class QRadioButton;
23 class DtRangeProbEntry;
24 class QToolButton;
28 
30 {
31  Q_OBJECT
32 
33 public:
34 
37 
39  virtual ~DtUiMultiHitDamageConfigurationWidget() override;
40 
42 
43 protected:
44  virtual void damageTableChanged() override;
45  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw) override;
47  virtual void setupGraphDataTitles(std::map<DtString,QString>&);
48  virtual void setFromParameters(const std::vector<DtComponentSystemDefinition*>& rws) override;
49  virtual void createControls(QWidget* widget) override;
50  virtual void addGraphDataCanvas() override;
51 
52  virtual void setupDamagePointsValue(const DtRwDamagePointsByMunitionPowerMap&);
53 
54  virtual DtDamagePointsTable* selectedDamagePointsTable() const;
55 
56  virtual bool setupForFaceMultiHit(const DtString&);
57 
59  virtual ProbabilitiesMap createMultiHitPowerStructure(const DtDmgAngleOfIncidenceLookupTable*);
60  virtual ProbabilitiesMap createMultiHitPowerStructure(const DtDmgAngleOfIncidenceCalcTable*);
61  virtual AngleOfIncidenceVector createMultiHitPowerStructure(DtDmgSurfaceEntry*);
62  virtual void changeData() override;
63  virtual void processUiEvent(const DtUiElementEvent& e) override;
64 
65  virtual void setupForAnglesOfIncidenceMultiHit(const AngleOfIncidenceVector&);
66 
67  virtual void createDamagePointsTable(const DtString& selectedPower, DtDamagePointsTable& table) const;
68 
70  virtual void updateDamagePointsReaderWriterData();
71 
72  virtual DtString getFaceToCopy(const QString& message, const DtString& skipFace = "") const override;
73  virtual void setAllToFace(const DtString& power, const DtString& face) override;
74 
77  virtual DtDamagePointsTable* createEmptyDamagePointsLookupTable(std::vector<DtString>& zones) const;
78 
81  virtual DtDamagePointsTable* createEmptyDamagePointsCalcTable(std::vector<DtString>& zones) const;
82 
84  virtual DtDmgSurfaceEntry* createEmptyDamageLookupSurface(const DtString& surface) const override;
85 
87  virtual DtDmgSurfaceEntry* createEmptyDamageCalcSurface(const DtString& surface) const override;
88 
89  virtual void setDamageTableToCurrentPower(const DtDamagePointsTable* tbl);
90  virtual void setDamageTableToPower(const DtString& selectedP, const DtDamagePointsTable* tbl);
91  virtual void setupDamageFor(const DtString& selectedP) override;
92  virtual void updateMultiHitGraphLabel();
94  virtual void updateMultiHitData();
95 
96 public slots:
97 
99  virtual void changeEquationMultiHit();
100 
102  virtual void onDamageGraphPowerChanged(DtString, double, double);
103 
105  virtual void onDamageGraphDataChanged(DtString, double, double);
106 
107 protected slots:
108  virtual void selectDamagePointsTableEntry();
109  virtual void faceApplicationChanged() override;
110  virtual void clearPowerEntryMultiHit();
111  virtual void copyFace() override;
112  virtual void addAngleOfIncidence() override;
113  virtual void removeAngleOfIncidence() override;
114  virtual void editAngleOfIncidence() override;
115  virtual void onCopyPower() override;
116  virtual void onFaceSelectedMultiHit(const DtString&);
117  virtual void setupForAngleOfIncidenceMultiHit(double angle);
118  //virtual void onAssignAsDefender();
119  //virtual void onAddPower();
120 
121 protected:
122 
123  QHBoxLayout * myGraphsLayout;
128  std::map<DtString, QString> myDamageDataTypes;
129 };
DtRangeProbEntry is an abstract class whose deriving classes will have one of the two forms of DtPrbD...
Definition: rangeProbEntry.h:19
virtual void processUiEvent(const DtUiElementEvent &e) override
Process ui event. Default does nothing.
DtDmgAngleOfIncidenceLookupTable is the derived form of DtDmgAngleOfIncidenceTable that has a DtPrbSt...
Definition: dmgAngleOfIncidenceLookupTable.h:27
QHBoxLayout * myGraphsLayout
Definition: uiMultiHitDamageConfigurationWidget.h:123
virtual void createControls(QWidget *widget) override
If additional widgets or connections need to be made do it here. The parent is the myWidget member...
Definition: angleOfIncidenceSelectionWidget.h:18
virtual DtDmgSurfaceEntry * createEmptyDamageCalcSurface(const DtString &surface) const
Creates an empty coefficient table for the specified face.
std::map< DtString, DtRangeProbEntry * > ProbabilitiesMap
Definition: uiDamageTableConfigurationWidget.h:36
DtDmgAngleOfIncidenceTable is an abstract class whose deriving classes will have one of the two forms...
Definition: dmgAngleOfIncidenceTable.h:29
virtual void setFromParameters(const std::vector< DtReaderWriter * > &parentRw) override
DtUiGraphDataWidget * myDamagePointsGraphDataWidget
Definition: uiMultiHitDamageConfigurationWidget.h:124
virtual void setupDamageFor(const DtString &selectedP)
std::map< DtString, Power > Powers
Definition: uiDamageTableConfigurationWidget.h:54
Definition: uiDamageTableConfigurationWidget.h:47
Definition: faceSelectionWidget.h:27
virtual DtString getFaceToCopy(const QString &message, const DtString &skipFace="") const
DtDamagePointsTable.
Definition: damagePointsTable.h:19
std::map< DtString, QString > myDamageDataTypes
First is the name used in the damage table&#39;s probability list, second is the name to be used in the g...
Definition: uiMultiHitDamageConfigurationWidget.h:128
DT_DLL_vrfutil double angle(double vec1[3], double vec2[3])
std::vector< AngleOfIncidence > AngleOfIncidenceVector
Definition: uiDamageTableConfigurationWidget.h:43
DtDamageProbabilityTable.
Definition: damageProbabilityTable.h:20
Powers myMultiHitDamagePowers
Definition: uiMultiHitDamageConfigurationWidget.h:125
virtual void setDamageTableToPower(const DtString &selectedP, const DtDamageProbabilityTable *tbl)
Definition: uiDamageTableConfigurationWidget.h:31
DtDmgSurfaceEntry is a readable/writable list of angle of incidence tables; the name of the list is a...
Definition: dmgSurfaceEntry.h:29
static DtUiElement * CreatorFunction(makVrv::DtDe &)
DtDmgAngleOfIncidenceCalcTable is the derived form of DtDmgAngleOfIncidenceTable that has a DtPrbCoef...
Definition: dmgAngleOfIncidenceCalcTable.h:27
Definition: uiMultiHitDamageConfigurationWidget.h:29
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
virtual void setDamageTableToCurrentPower(const DtDamageProbabilityTable *tbl)
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
virtual Power createPowerStructure(const DtDamageProbabilityTable *)
Definition: uiGraphDataWidget.h:74
virtual void setAllToFace(const DtString &power, const DtString &face)
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
Base class of the ui element class chain. Properties available through designer for all ui elements a...
Definition: uiElement.h:185
virtual DtDmgSurfaceEntry * createEmptyDamageLookupSurface(const DtString &surface) const
Creates an empty lookup table for the specified surface.

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)