VR-Forces 4.1.1 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
examples
unitStatus
circleVisualHandler.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 2011 MAK Technologies, Inc.
3
** All rights reserved.
4
******************************************************************************/
5
/******************************************************************************
6
** $RCSfile: CircleVisualHandler.h,v $ $Revision: 1.1 $ $State: Exp $
7
******************************************************************************/
8
9
//\file CircleVisualHandler.h
10
//\ingroup vrfGuiCore
11
//\brief Contains makVrv::CircleVisualHandler class. A simple handler
12
//\that creates ellipse agent used to
13
//\draw an ellipse based around the selected entity's location.
14
#pragma once
15
16
#include <
vrvCore/DtUniqueID.h
>
17
18
#include <vlutil/vlString.h>
19
#include <matrix/vlVector.h>
20
#include <string>
21
22
namespace
makVrv
23
{
24
class
DtDe;
25
class
DtBaseConnection;
26
class
DtStateListener;
27
class
DtOverlayEllipseArcModelAgent;
28
class
DtEllipsoidArcModelAgent;
29
class
DtSceneObjectAgent;
30
}
31
32
class
Circle;
33
34
namespace
makVrfUnitStatusExample
35
{
36
class
CircleVisualHandler
37
{
38
public
:
39
CircleVisualHandler
(
makVrv::DtDe
&,
makVrv::DtUniqueID
id
);
40
virtual
~CircleVisualHandler
();
41
42
//\brief Called to update the circle with latest position
43
virtual
void
update
(
const
DtVector
& geoc);
44
45
//Will depend on the model set in use.
46
//The model set is an interger value that describes the current observer model set.
47
//0-4 will correspond to 3D versions so we will want to use the 3D version of the ellipse
48
//otherwise we use the 2D version
49
virtual
void
update2D
(
int
modelSet);
50
virtual
void
update3D
(
int
modelSet);
51
static
std::string
handlerType
();
52
virtual
void
init
();
53
54
protected
:
55
makVrv::DtDe
&
myDe
;
56
makVrv::DtUniqueID
myUniqueId
;
57
//This is the base scene object
58
makVrv::DtSceneObjectAgent *
mySceneObject
;
59
//This is the agent we attach to the scene object to actually draw the object in the scene
60
//Whether we use 2D or 3D will depend on what model set we are using
61
makVrv::DtOverlayEllipseArcModelAgent*
my2DEllipseAgent
;
62
makVrv::DtEllipsoidArcModelAgent*
my3DEllipseAgent
;
63
//Need to make sure we recreate 3dEllipse agent if we switch observer modes
64
int
my3DModelSet
;
65
makVrv::DtBaseConnection
*
mySimulation
;
66
};
67
68
class
CircleVisualHandlerCreator
69
{
70
public
:
71
virtual
~CircleVisualHandlerCreator
();
72
73
virtual
CircleVisualHandler
*
create
(
makVrv::DtDe
&,
makVrv::DtUniqueID
);
74
};
75
}
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
)