VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfCircleManipulationHandler.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 
11 #include <vrfGuiCore/vrfGuiCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
15 #include <vlpi/entityType.h>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrf
20 {
21  class DtEnvironmentalFacadeCollection;
22 
26  {
27 
28  public:
29 
32 
33  virtual HandlerType type() const { return Circle; };
34 
36  virtual void setXRadius(double, DtEnvironmentalFacadeCollection* efc = 0);
37 
39  virtual void setXRadiusWithHeading(double, double, DtEnvironmentalFacadeCollection* efc = 0);
40  virtual void setXRadiusWithHeadingAdjustingOrigin(double, double, DtEnvironmentalFacadeCollection* efc = 0);
41  virtual double xRadius(DtEnvironmentalFacadeCollection* efc = 0) const;
42 
44  virtual void setYRadius(double, DtEnvironmentalFacadeCollection* efc = 0);
45  virtual void setYRadius(double, DtEnvironmentalFacadeCollection* efc, bool isLeftOfLine);
46  virtual double yRadius(DtEnvironmentalFacadeCollection* efc = 0) const;
47 
50  virtual void setHeading(double, DtEnvironmentalFacadeCollection* efc = 0);
51  virtual double heading(DtEnvironmentalFacadeCollection* efc = 0) const;
52  virtual double headingToOrigin(DtEnvironmentalFacadeCollection* efc = 0) const;
53 
54  virtual void setLocation(int index, const DtVector& location, DtEnvironmentalFacadeCollection* efc);
55  virtual void setPosition(int index, const DtVector& location, DtEnvironmentalFacadeCollection* efc);
56 
58  virtual bool isCircle() const;
59 
61  virtual bool isSpiderWeb() const;
62 
64  virtual bool isEllipse() const;
65 
67  virtual bool isArc() const;
68 
70  virtual bool isWedge() const;
71 
73  virtual void setLocation(int index, const DtVector& location, bool resetOrigin = true);
74 
76  virtual void setAttachObjectToMouse( bool flag );
77 
78  void setupImagePointsUsingImageOffset(DtEnvironmentalFacadeCollection* objectImage,
79  const std::vector<DtVector>& points);
80 
83  virtual void setNumberOfSpiderWebSpokes(int);
84  virtual int numberOfSpiderWebSpokes() const;
85  boost::signals2::signal<void (int)> signal_spiderWebSpokesChanged;
86 
87  virtual void setNumberOfSpiderWebRings(int);
88  virtual int numberOfSpiderWebRings() const;
89  boost::signals2::signal<void (int)> signal_spiderWebRingsChanged;
91 
92  protected:
93  virtual double distanceToLine(const DtVector& localPos, DtEnvironmentalFacadeCollection* efc, int point1 = 0, int point2 = 1) const;
94  virtual bool isLeftOfLine(const DtVector& localPos, DtEnvironmentalFacadeCollection* efc, int originPos = 0) const;
95  virtual DtVector offsetPointFromStart(const DtVector& local1, const DtVector& local2, double distance) const;
96 
97  virtual void initializeEventProcessor();
98 
99  virtual void slot_onEditComplete(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
100 
101  virtual void slot_onHeadingChanged( double heading );
102 
104  virtual void slot_onPrincipalStateViewUpdated(DtVrlinkSimulatedBaseStateView* principalStateView,
105  const makVrv::DtUniqueID& principalSceneObjectId );
106 
108  virtual void moveSelectedPoint(const DtVector& location, double altAboveGround);
109 
110  virtual DtVrfObjectFacadeInterface* createLocalRepresentation( DtVrlinkSimulatedBaseStateView* editStateView,
111  makVrv::DtUniqueID sceneObjectId, DtVrlinkSimulatedBaseStateView* principalStateView );
112 
114  virtual void objectCreated(DtVrfObjectFacadeInterface*);
115 
117  virtual void slot_onPlace(makVrv::DtUniqueID id, const DtVector& location, double altAboveGround);
118 
119  virtual void getMinMaxVertices(const DtEntityType& creatingType, int& minVert, int& maxVert) const;
120 
121  virtual void setLocation(const DtVector& location, double altAboveGround);
122  virtual DtVector geometricCenter(const std::vector<DtVector>& v) const;
123  virtual bool alwaysRecalculateGeometry() const;
124  virtual void handlerDisabled();
125  virtual void resetWedgeOriginWithLength(double radius, DtEnvironmentalFacadeCollection*, bool ilol = false);
126 
127  protected:
128  double myHeading;
129  };
130 
133 }
virtual HandlerType type() const
The type of handler. Used to see if two handler are equivalent.
Definition: vrfCircleManipulationHandler.h:33
The handler for creating and manipulating circles/ellipses.
Definition: vrfCircleManipulationHandler.h:25
Definition: environmentalFacadeCollection.h:66
Definition: vrfObjectManipulationHandlerBaseClass.h:56
DtVrfObjectManipulationHandlerCreator< DtVrfCircleManipulationHandler > DtVrfCircleManipulationHandlerCreator
Definition: vrfCircleManipulationHandler.h:132
The Master Scenario Settings Dialog.
Definition: vrfShapeManipulationHandler.h:27
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
Definition: vrfObjectFacadeInterface.h:47
HandlerType
Definition: vrfObjectManipulationHandlerBaseClass.h:53
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::signals2::signal< void(int)> signal_spiderWebRingsChanged
Definition: vrfCircleManipulationHandler.h:89
Contains makVrv::DtUniqueID type.
double myHeading
Definition: vrfCircleManipulationHandler.h:128
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signals2::signal< void(int)> signal_spiderWebSpokesChanged
Definition: vrfCircleManipulationHandler.h:85
Definition: vrfObjectManipulationHandlerBaseClass.h:813

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)