VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
circleVisualHandler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 //\file CircleVisualHandler.h
7 //\ingroup vrfGuiCore
8 //\brief Contains makVrv::CircleVisualHandler class. A simple handler
9 //\that creates ellipse agent used to
10 //\draw an ellipse based around the selected entity's location.
11 #pragma once
12 
13 #include <vrvCore/DtUniqueID.h>
15 
16 #include <vlutil/vlString.h>
17 #include <matrix/vlVector.h>
18 #include <string>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtBaseConnection;
24  class DtStateListener;
25  class DtOverlayEllipseArcModelAgent;
26  class DtEllipsoidArcModelAgent;
27  class DtSceneObjectAgent;
28 }
29 
30 class Circle;
31 
32 namespace makVrf
33 {
34  class DtAttachableUpdaterWithLevelOrientationAgent;
35 }
36 
37 namespace makVrfUnitStatusExample
38 {
40  {
41  public:
43  virtual ~CircleVisualHandler();
44 
45  //\brief Called to update the circle with latest position
46  virtual void update(const DtVector & geoc);
47 
48  //Will depend on the model set in use.
49  //The model set is an interger value that describes the current observer model set.
50  //0-4 will correspond to 3D versions so we will want to use the 3D version of the ellipse
51  //otherwise we use the 2D version
52  virtual void update2D(makVrv::DtModelSetId modelSet);
53  virtual void update3D(makVrv::DtModelSetId modelSet);
54  static std::string handlerType();
55  virtual void init();
56 
57  protected:
60  //This is the base scene object
61  makVrv::DtSceneObjectAgent * mySceneObject;
62  //This is the agent we attach to the scene object to actually draw the object in the scene
63  //Whether we use 2D or 3D will depend on what model set we are using
64  makVrv::DtOverlayEllipseArcModelAgent* my2DEllipseAgent;
65  makVrv::DtEllipsoidArcModelAgent* my3DEllipseAgent;
66  //Need to make sure we recreate 3dEllipse agent if we switch observer modes
69 
70  makVrf::DtAttachableUpdaterWithLevelOrientationAgent* myLevelAgent;
71  };
72 
74  {
75  public:
77 
79  };
80 }
virtual CircleVisualHandler * create(makVrv::DtDe &, makVrv::DtUniqueID)
makVrv::DtBaseConnection * mySimulation
Definition: circleVisualHandler.h:68
virtual void update(const DtVector &geoc)
Definition: vrfObjectManipulationHandlerBaseClass.h:55
makVrv::DtEllipsoidArcModelAgent * my3DEllipseAgent
Definition: circleVisualHandler.h:65
makVrv::DtModelSetId my3DModelSet
Definition: circleVisualHandler.h:67
CircleVisualHandler(makVrv::DtDe &, makVrv::DtUniqueID id)
virtual void update3D(makVrv::DtModelSetId modelSet)
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
makVrf::DtAttachableUpdaterWithLevelOrientationAgent * myLevelAgent
Definition: circleVisualHandler.h:70
makVrv::DtSceneObjectAgent * mySceneObject
Definition: circleVisualHandler.h:61
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: circleVisualHandler.h:73
virtual void update2D(makVrv::DtModelSetId modelSet)
Contains makVrv::DtUniqueID type.
makVrv::DtDe & myDe
Definition: circleVisualHandler.h:58
makVrv::DtOverlayEllipseArcModelAgent * my2DEllipseAgent
Definition: circleVisualHandler.h:64
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
makVrv::DtUniqueID myUniqueId
Definition: circleVisualHandler.h:59
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains various enum classes relating to model sets.
Definition: circleVisualHandler.h:39

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)