VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtViewStateProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtViewStateProcessor.h,v $ $Revision: 1.14 $ $State: Exp $
7 ******************************************************************************/
8 
11 
12 #pragma once
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
15 #include <boost/function.hpp>
16 
17 namespace makVrv
18 {
19  class DtObserver;
20 
27  {
28  public:
29 
30  struct Vec3d { double x; double y; double z; };
31 
32  typedef boost::function<void (DtObserver&)> ObserverAction;
33 
36 
39 
41  ObserverAction makeAbsolute(double x, double y, double z,
42  double psi, double theta, double phi, long ignoreFlags );
43 
45  ObserverAction makeTether(const DtUniqueID& targetId,
46  double x, double y, double z,
47  double psi, double theta, double phi, long ignoreFlags);
48 
50  ObserverAction makeMimic(const DtUniqueID& targetId,
51  double x, double y, double z,
52  double psi, double theta, double phi, long ignoreFlags);
53 
55  ObserverAction makeTrack(const DtUniqueID& targetId,
56  double x, double y, double z, long ignoreFlags);
57 
59  ObserverAction makeTetherTrack(const DtUniqueID& tetherId,
60  const DtUniqueID& trackId, double x, double y, double z, long ignoreFlags);
61 
63  ObserverAction makeMimicTrack(const DtUniqueID& mimicId,
64  const DtUniqueID& trackId, double x, double y, double z, long ignoreFlags);
65 
67  ObserverAction makeFollow(const DtUniqueID& targetId,
68  double x, double y, double z, long ignoreFlags);
69 
71  ObserverAction makeOrbit(const DtUniqueID& targetId, double azimuthRate,
72  double attachX, double attachY, double attachZ,
73  double offsetX, double offsetY, double offsetZ, long ignoreFlags);
74 
76  ObserverAction makeCompass(const DtUniqueID& targetId, double bodyHeading,
77  double headingOffset, double pitch, double pitchOffset, double roll,
78  double radius, long ignoreFlags);
79 
81  ObserverAction makeMove( double geocX, double geocY, double geocZ,
82  double geocPsi, double geocTheta, double geocPhi, int move, int turn,
83  bool reset, long ignoreFlags );
84 
85  protected:
86 
88  static void setAbsolute(double x, double y, double z,
89  double psi, double theta, double phi, long ignoreFlags,
90  DtObserver& obs);
91 
93  static void setTether(const DtUniqueID& targetId,
94  Vec3d attachPos,
96  double psi, double theta, double phi, long ignoreFlags,
97  DtObserver& obs);
98 
100  static void setMimic(const DtUniqueID& targetId,
101  Vec3d attachPos,
102  //double x, double y, double z,
103  double psi, double theta, double phi, long ignoreFlags,
104  DtObserver& obs);
105 
107  static void setTrack(const DtUniqueID& targetId,
108  double x, double y, double z, long ignoreFlags,
109  DtObserver& obs);
110 
112  static void setTetherTrack(
113  const DtUniqueID& tetherId, const DtUniqueID& trackId,
114  double x, double y, double z, long ignoreFlags,
115  DtObserver& obs);
116 
118  static void setMimicTrack(
119  const DtUniqueID& mimicId, const DtUniqueID& trackId,
120  double x, double y, double z, long ignoreFlags,
121  DtObserver& obs);
122 
124  static void setFollow(const DtUniqueID& targetId,
125  double x, double y, double z, long ignoreFlags,
126  DtObserver& obs);
127 
131  struct RadiusArg
132  {
133  double heading;
134  double pitch;
135  double radius;
136  };
137 
142  static void setOrbit(const DtUniqueID& targetId,
143  double azimuthRate, Vec3d attachPos, Vec3d offset, long ignoreFlags,
144  DtObserver& obs);
145 
147  static void setCompass(const DtUniqueID& targetId, RadiusArg pos,
148  double headingOffset, double pitchOffset, double roll, long ignoreFlags,
149  DtObserver& obs);
150 
152  static void setMove( Vec3d geocPos, Vec3d geocTb, int move, int turn,
153  bool reset, long ignoreFlags, DtObserver& obs);
154 
155  };
156 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)