VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfShapeManipulationHandler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <string>
17 
18 class DtVector;
19 
20 namespace makVrf
21 {
22  class DtVrfObjectManipulationEventProcessor;
23  class DtEnvironmentalCreationData;
24  class DtEnvironmentalFacadeCollection;
25 
28  {
29  public:
30 
33 
35  virtual void setPoints(const std::vector<DtVector>& pts) ;
36  virtual void setPoints(const std::vector<DtGeodeticCoord>& pts) ;
37 
38  const std::vector<DtVector>& points() const;
39 
40  public:
41 
44  virtual bool createVrfObject(DtVrfObjectFacadeInterface*);
45 
47  virtual void addControlPoint(const DtVector& location, int index = -1);
48 
50  virtual void removeControlPoint(int index);
51 
52  virtual HandlerType type() const { return Shape; };
53 
55  virtual void setLocation(int index, const DtVector& location, bool resetOrigin = true);
56 
60  virtual void setAltitudeAboveSeaLevel(int, double);
61  virtual double altitudeAboveSeaLevel(int) const;
62 
66  virtual void setAltitudeAboveTerrain(int, double);
67  virtual double altitudeAboveTerrain(int) const;
68 
70  virtual bool canChangeDimensions() const;
71 
73  virtual double maximumLength() const;
74 
76  virtual bool shapeAtMinimum() const;
77  virtual bool canRemovePoint() const;
78  virtual bool shapeAtMinimum(DtEnvironmentStateView*);
79 
81  virtual bool canDeleteAPoint(DtEnvironmentStateView*);
82 
84  virtual bool shapeAtMaximum() const;
85  virtual bool shapeAtMaximum(DtEnvironmentStateView*);
86 
89  virtual void getMinMaxVertices(const DtEntityType& creatingType, int& minVert, int& maxVert) const;
90 
92  virtual int numVertices() const;
93 
95  virtual void setEditingPoint(int);
96  virtual int editingPoint() const;
97 
98  virtual DtGeodeticCoord geodeticPosition(int) const;
99  virtual DtVector geocentricPosition(int) const;
100 
102  virtual DtVector localLocation( int index ) const;
103 
104  virtual std::vector<DtGeodeticCoord> geodeticPositions() const;
105  virtual std::vector<DtVector> geocentricPositions() const;
106 
107  virtual void removePoint(int);
108 
110  virtual double altitudeForAltitudeType(int) const;
111 
113  virtual bool freehand() const;
114 
116  virtual bool canChangeArrowStyle() const;
117  virtual bool canChangeArrowSize() const;
118  virtual bool canFill() const;
119  virtual bool canChangePenStyle() const;
120 
123  virtual bool canChangeShapeOnly() const;
124 
127  virtual void setPointSamplingRate(int);
128  virtual int pointSamplingRate() const;
129 
131  virtual void setLineWidth(int);
132  virtual int lineWidth() const;
133 
135  virtual void setPenStyle(int);
136  virtual int penStyle() const;
137 
139  virtual void setFillStyle(int);
140  virtual int fillStyle() const;
141 
143  virtual bool fixedWidthSizing() const;
144 
145  virtual void setForce(int);
146  virtual void setColor(int);
147  virtual int color() const;
148 
149  virtual void setExtendedLabels(const std::map<int, DtString>&);
150  virtual void setLabel(const std::string&);
151  virtual std::string label() const;
152 
153  virtual void setFormattingData(const std::string&);
154  virtual std::string formattingData() const;
155 
157  virtual int arrowStyle() const;
158  virtual int arrowHeadPlacement() const;
159  virtual int arrowSize() const;
160 
163  virtual double orientation() const;
164 
166  virtual void setOrientation(double);
167 
169  virtual double initialArrowSize(bool fixedWidthSizing, double initialSize) const;
170 
172  virtual void setAllowHeadingChanges(bool);
173 
175  virtual void setLength(double);
176 
178  virtual void cancel();
179 
181  virtual DtVector centerOfMass() const;
182 
183  virtual void updateOffsetsBasedOnMousePosition(const DtVector& centerOfMass, const DtGeodeticCoord&);
184 
185  boost::signal<void (const DtVector&, int)> signal_pointLocationChanged;
186  boost::signal<void ()> signal_pointSamplingRateChanged;
187 
188  protected:
189  virtual bool clampAtClosestPolygonOnPlacement() const;
190  virtual void postCreateInitialize();
191 
192  virtual void calculateAnchorBasedOnMousePosition(makVrv::DtChannel& channel);
193 
194  virtual void editSelectedObjects( const makVrv::DtUniqueID& principalID,
195  makVrv::DtChannel& initiatingChannel, double waitTimeAfterComplete = 0.,
197  virtual void slot_onEditComplete(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
198 
199  virtual void initializeEventProcessor();
200  virtual DtVector geometricCenter(const std::vector<DtVector>& v) const;
201 
202  virtual void slot_onPlace(makVrv::DtUniqueID, const DtVector& location, double altAboveGround);
203  virtual void slot_onComplete(bool stopCreating);
204 
205  virtual void slot_onCancel(bool escPressed);
206  virtual void slot_onCancelOrComplete(bool escPressed);
207  virtual void slot_onLocationChanged( const DtVector& location, double altAboveGround );
208  virtual void slot_onAltitudeChanged( const DtVector& location, double altitude );
209 
211  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(DtVrlinkSimulatedBaseStateView* editStateView = 0);
212  virtual DtVector addControlPoint(int index = -1);
213 
214  virtual DtVrfObjectFacadeInterface* createLocalRepresentation(
215  DtVrlinkSimulatedBaseStateView* editStateView, makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView);
216 
217  virtual void moveSelectedPoint(const DtVector& location, double altAboveGround);
218 
219  virtual bool isArea( const DtEntityType& type ) const;
220  virtual bool isRoute( const DtEntityType& type ) const;
221  virtual bool isObstacle( const DtEntityType& type ) const;
222  virtual bool isPhaseline( const DtEntityType& type ) const;
223 
224  virtual DtEnvironmentalCreationData environmentalCreationData(const std::string& name,
225  const DtEntityType&, int force) const;
226 
227  virtual void updateLocationOffset(const DtVector& local, DtEnvironmentalFacadeCollection* env, int pos);
228 
230  virtual bool modifyVrfObject(DtVrfObjectFacadeInterface* objectImage);
231 
234  virtual DtVector setAltitudeToOrigin(const DtVector&) const;
235 
237  virtual DtVector rotatedPoint(const DtVector& origin, double x, double heading) const;
238 
241  virtual DtVector rotatePoint(const DtVector& origin, double x, double heading) const;
242 
243  virtual bool alwaysRecalculateGeometry() const;
244 
245  virtual DtVector rotatePointInternal(const DtVector& origin, double x, double heading) const;
246 
247  virtual void updateOffsetsBasedOnMousePosition();
248 
249  virtual void setupImagePointsUsingImageOffset(DtEnvironmentalFacadeCollection*, const std::vector<DtVector>&);
250 
251  protected:
254 
255  DtGeodeticCoord myLastPosition;
256 
259 
261 
263  std::vector<DtVector> myControlPoints;
264  };
265 
268 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)