VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
formationAutoLayoutFactory.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
12 #include <QtCore/QHash>
13 #include <QtCore/QVector>
14 #include <matrix/vlVector.h>
15 
16 class DtFormation;
18 
20 {
21 public:
23  virtual ~DtFormationAutoLayout();
24 
26  virtual DtFormation* layout(const DtVrfSubObjectParameterList*, double spacing) const;
27 
29  virtual DtVector positionOffset(double headingFromZeroInDegrees, double spacing, int index) const;
30  virtual double headingOffset() const;
31 };
32 
34 {
35 public:
37  virtual ~DtColumnFormationAutoLayout() override;
38 
39  virtual double headingOffset() const override;
40  virtual DtVector positionOffset(double headingFromZeroInDegrees, double spacing, int index) const override;
41 };
42 
44 {
45 public:
47  virtual ~DtLineFormationAutoLayout() override;
48 
49  virtual double headingOffset() const override;
50 };
51 
53 {
54 public:
56  virtual ~DtVeeFormationAutoLayout() override;
57 
59  virtual DtFormation* layout(const DtVrfSubObjectParameterList*, double spacing) const override;
60 
61  virtual double headingOffset() const override;
62 
63 protected:
64  mutable int myCenter;
65  mutable int myIndex;
66 };
67 
69 {
70 public:
72  virtual ~DtWedgeFormationAutoLayout() override;
73 
74  virtual double headingOffset() const override;
75 };
76 
78 {
79 public:
83 
86  void addFormationAutoLayout(const QString& name, DtFormationAutoLayout*);
87  void removeFormationAutoLayout(const QString& name);
88 
90  virtual DtFormation* layout(const QString& autoLayout, double spacing, const DtVrfSubObjectParameterList*) const;
91 
92  const QHash<QString, DtFormationAutoLayout*>& formationAutoLayouts() const { return myFormationAutoLayouts; };
93  const QVector<QString>& orderedFormations() const { return myOrderedFormations; };
94 
95 protected:
96  QHash<QString, DtFormationAutoLayout*> myFormationAutoLayouts;
97  QVector<QString> myOrderedFormations;
98 };
Definition: formationAutoLayoutFactory.h:68
virtual double headingOffset() const
Definition: formationAutoLayoutFactory.h:43
Definition: formationAutoLayoutFactory.h:19
DtVrfSubObjectParameterList is a readable/writable list of DtVrfSubObjectParameterEntrys.
Definition: vrfSubObjectParameterList.h:21
virtual DtFormation * layout(const DtVrfSubObjectParameterList *, double spacing) const
Returns a new formation object. Needs to be freed by caller of this method.
Instances of DtFormation are a list of DtFormationEntry objects which make up an aggregate formation...
Definition: formation.h:22
Definition: formationAutoLayoutFactory.h:77
int myIndex
Definition: formationAutoLayoutFactory.h:65
const QHash< QString, DtFormationAutoLayout * > & formationAutoLayouts() const
Definition: formationAutoLayoutFactory.h:92
int myCenter
Definition: formationAutoLayoutFactory.h:64
Definition: formationAutoLayoutFactory.h:33
Definition: formationAutoLayoutFactory.h:52
virtual DtVector positionOffset(double headingFromZeroInDegrees, double spacing, int index) const
Returns a vector which is the distance from 0, 0 to the requested spacing. Z will be 0...
QVector< QString > myOrderedFormations
Definition: formationAutoLayoutFactory.h:97
const QVector< QString > & orderedFormations() const
Definition: formationAutoLayoutFactory.h:93
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
virtual double headingOffset() const override

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)