VR-Forces Development_Version Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (
www.mak.com
)