12 #include <vrvUtil/DtVirtualBaseClass.h>
13 #include <vrvCore/DtEntityState.h>
14 #include <vrvCore/DtStateView.h>
15 #include <matrix/3dBoundingVolume.h>
17 #include <geometry/tdbextent.h>
27 class DtEntityFacadeCollection;
42 void repositionInFormation(
DtFormation* formation,
int iFrom,
int iTo);
43 void reworkAsOffsetToLeader(
DtFormation* formation);
44 void reworkOffsetsToStandAlone(
DtFormation* formation);
46 makVrv::DtUniqueID uniqueID()
const;
47 DtExtent boundingBox()
const;
51 double getHeadingOffset()
const;
52 DtExtent extent(
const DtVector& origin)
const;
54 void repositionInFormation(
int iFrom,
int iTo);
58 Dt3dBoundingVolume boundingVolume()
const;
59 DtVector offset()
const {
return calculateOffset(myFormationEntry, myFormation); };
60 DtVector formationEntryOffset()
const;
61 std::vector<DtFormationNode*> dataAtLeaderPromotionId(
int i)
const;
64 void setNewOffsetFromLeader(
const DtVector&);
66 void setAllSubordinatesToTheirFormations(
const QString& formationName);
68 void repositionToFormation();
70 void setOriginAndHeading(
const DtVector&,
double heading);
73 virtual void setupFormation(
const QString& formation);
83 void updateOffsetAndHeading(
const DtVector& position,
double heading);
85 DtObjectType objectType()
const;
89 std::vector<DtFormationNode*>&
children() {
return myChildren; };
90 const std::vector<DtFormationNode*>&
children()
const {
return myChildren; };
93 int maxPromotionId()
const;
123 virtual void setFormation(
const QString&);
125 virtual void init(
const DtObjectType&);
130 virtual void reworkOffsetsToStandAlone(
DtFormation*);
140 virtual void replaceObjectInFormation(
int iPos);
144 virtual void repositionInFormation(
DtFormation*,
int iFrom,
int iTo);
145 virtual void repositionInFormation(
int iFrom,
int iTo);
147 virtual DtExtent extent()
const;
150 virtual int promotionIdAt(
int)
const;
153 virtual int numTopLevelChildren()
const;
155 virtual void createDisplayHierarchy();
160 virtual void collapseAllOneLevel();
161 virtual void expandAllOneLevel();
164 virtual bool canExpand()
const;
165 virtual bool snapToGrid()
const;
171 virtual void updateFacade(makVrv::DtUniqueID
id,
const makVrv::DtVrlinkSimulatedEntityState* state,
bool propagateChanges =
true);
174 virtual void setupFormation();
180 virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
187 void formationModified();
190 virtual void setSnapToGrid(
bool);
203 typedef std::map<const DtVrfSubObjectParameterEntry*, makVrv::DtUniqueID>
EntryToIdMap;