VR-Forces 4.2 Class Documentation
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) const;
30  virtual double headingOffset() const;
31 };
32 
34 {
35 public:
37  virtual ~DtColumnFormationAutoLayout();
38 
39  virtual double headingOffset() const;
40 };
41 
43 {
44 public:
46  virtual ~DtLineFormationAutoLayout();
47 
48  virtual double headingOffset() const;
49 };
50 
52 {
53 public:
55  virtual ~DtVeeFormationAutoLayout();
56 
58  virtual DtFormation* layout(const DtVrfSubObjectParameterList*, double spacing) const;
59 
60  virtual double headingOffset() const;
61 
62 protected:
63  mutable int myCenter;
64  mutable int myIndex;
65 };
66 
68 {
69 public:
71  virtual ~DtWedgeFormationAutoLayout();
72 
73  virtual double headingOffset() const;
74 };
75 
77 {
78 public:
82 
85  void addFormationAutoLayout(const QString& name, DtFormationAutoLayout*);
86  void removeFormationAutoLayout(const QString& name);
87 
89  virtual DtFormation* layout(const QString& autoLayout, double spacing, const DtVrfSubObjectParameterList*) const;
90 
91  const QHash<QString, DtFormationAutoLayout*>& formationAutoLayouts() const { return myFormationAutoLayouts; };
92  const QVector<QString>& orderedFormations() const { return myOrderedFormations; };
93 
94 protected:
95  QHash<QString, DtFormationAutoLayout*> myFormationAutoLayouts;
96  QVector<QString> myOrderedFormations;
97 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)