VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
include
vrvCore
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
26
class
DT_DLL_VRVCORE
DtViewStateProcessor
27
{
28
public
:
29
30
struct
Vec3d
{
double
x;
double
y;
double
z
; };
31
32
typedef
boost::function<void (DtObserver&)>
ObserverAction
;
33
35
DtViewStateProcessor
();
36
38
~
DtViewStateProcessor
();
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 Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (
www.mak.com
)