VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectManipulationEventProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 
15 #include <boost/signal.hpp>
16 
20 
21 #include <vrvCore/DtUniqueID.h>
22 #include <vrvCore/DtMouseEvent.h>
23 
24 #include <matrix/vlVector.h>
25 #include <matrix/vlQuaternion.h>
26 
27 #include <vlutil/vlPerformanceStats.h>
28 
29 namespace makVrf
30 {
34  {
35  public:
38 
41 
44  virtual void setCurrentHeading( double heading );
45 
47  virtual void setHeadingAllowed(bool);
48  virtual bool headingAllowed() const;
49 
51  virtual double currentHeading() const;
52 
53  virtual const std::string& className();
54 
56  virtual void setEditing(bool);
57 
59  virtual void setCreating(bool);
60 
63  virtual void setDragTolerance(int);
64  virtual int dragTolerance() const;
65 
68  virtual void setFreehand(bool);
69  virtual bool freehand() const;
70 
73  void setDragToleranceTime(double);
74  double dragToleranceTime() const;
75 
77  virtual void setIgnoreList(const std::vector<makVrv::DtElementID>&);
78  const std::vector<makVrv::DtElementID>& ignoreList() const;
79 
81  boost::signal<void ( double )> signal_headingChanged;
82 
83  boost::signal<void (bool)> signal_cancel;
84  protected:
86  virtual bool processMouseEvent(const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
87 
88  virtual bool processKeyboardEvent(const makVrv::DtKeyEvent& ev,
89  makVrv::DtChannel& channel);
90 
92  virtual void changeHeading( double mouseX, double mouseY );
93 
94  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
96 
97  virtual void cleanupTerrainDraggingVaraibles();
98 
100  virtual bool placePoint(makVrv::DtChannel& channel, const makVrv::DtMouseEvent&);
101 
102  virtual void changeAltitude( double mouseX, double mouseY );
103 
104  virtual void cancel(bool escPressed);
105  virtual void cancel();
106 
107  protected:
116  double myDragTime;
117  DtTimedSection myDragTimer;
120  std::vector<makVrv::DtElementID> myIgnoreList;
123  };
124 
127  {
128 
129  public:
133 
135  static void registerInstance( makVrv::DtDe& de,
137 
140  };
141 
144  {
145  public:
147  DtVrfIntervisibilityEditingEventProcessor(makVrv::DtInputDriver& inputDriver, makVrv::DtDe& de, const std::string& className);
148 
151 
152  protected:
153  virtual bool processMouseEvent( const makVrv::DtMouseEvent& ev, makVrv::DtChannel& channel);
154  virtual bool pick(makVrv::DtChannel& channel, double x, double y, makVrv::DtIntersectorResult& result,
156  };
157 
159  {
160  public:
162  };
163 }

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)