VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskVisualization.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 
16 #include "vrfobjcore/vrfObject.h"
17 #include "vrfutil/rwUUID.h"
18 #include "vlutil/vlString.h"
19 #include "matrix/vlVector.h"
20 
22 class DtExerciseConn;
24 class DtVrfObject;
26 
32 {
33 public:
34 
36  DtTaskVisualization(const DtString& name, const DtString& taskComp,
37  const DtVrfObject* taskedObject);
38 
40  virtual ~DtTaskVisualization();
41 
43  virtual const DtString& name() const { return myName; }
44 
46  virtual const DtString& taskComponent() const { return myTaskComponent; }
47 
49  virtual const DtUUID& taskedObject() const { return myTaskedObject->uuid(); }
50 
52 
53  virtual unsigned red() const;
54  virtual unsigned green() const;
55  virtual unsigned blue() const;
56  virtual unsigned alpha() const;
57  virtual void setColor(unsigned red, unsigned green, unsigned blue, unsigned alpha);
59 
63 
64  virtual const DtVector64& locationOffset() const;
65  virtual void setLocationOffset(const DtVector64& offset);
67 
69  virtual void update(DtBoost::shared_ptr<DtBulkEnvironmentProcessManager> bulkMgr);
70 
72  virtual void stopUpdates();
73 
74 protected:
75  friend class DtTaskVisualizationSet;
76 
80  virtual void calculateOffsetLocation(const DtVector& location,
81  DtVector& offsetLocation);
82 
84  virtual bool isPublished() const = 0;
85 
88  virtual void publishDrawControlObjects(DtBoost::shared_ptr<DtBulkEnvironmentProcessManager> bulkMgr);
89 
91  virtual void createDrawControlObjects(DtExerciseConn* exConn) = 0;
92 
94  virtual void unpublishDrawControlObjects() = 0;
95 
97  virtual void updateDrawControlObjects() = 0;
98 
100  virtual unsigned nextId();
101 
102 protected:
103 
107 
108  unsigned myRed;
109  unsigned myGreen;
110  unsigned myBlue;
111  unsigned myAlpha;
112 
114  DtVector64 myLocationOffset;
115 
117 };
118 
119 typedef DtBoost::shared_ptr<DtTaskVisualization> DtTaskVisualizationPtr;
120 typedef std::pair<int, DtString> DtTaskVisualizationId;
121 typedef std::map<DtTaskVisualizationId, DtTaskVisualizationPtr> DtTaskVisualizationMap;
122 typedef std::list<DtTaskVisualizationPtr> DtTaskVisualizationList;
123 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Definition: taskVisualizationSet.h:25
unsigned myRed
Definition: taskVisualization.h:108
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
A DtTaskVisualization describes a graphic to be displayed in the GUI to visualize the behavior of the...
Definition: taskVisualization.h:31
DtString myTaskComponent
Definition: taskVisualization.h:105
virtual void unpublishDrawControlObjects()
Removes the visualization object from the network.
DtTaskVisualizationPublisherCreator * myEnvProcPublisherCreator
Definition: taskVisualization.h:116
virtual void calculateOffsetLocation(const DtVector &location, DtVector &offsetLocation)
Offsets the given geocentric location using the current location offset and converts it to a new geoc...
virtual void updateDrawControlObjects()
Updates the visualization object data. Must call publish first.
virtual const DtUUID & taskedObject() const
Returns the UUID of the object being tasked.
Definition: taskVisualization.h:49
unsigned myGreen
Definition: taskVisualization.h:109
unsigned myAlpha
Definition: taskVisualization.h:111
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual void createDrawControlObjects(DtExerciseConn *exConn)
Creates the draw control objects for this task visualization.
Class that creates an environment process publisher for use in task visualizations.
Definition: taskVisualizationPublisherCreator.h:23
virtual bool isPublished() const
Returns true if the visualization is already published.
DtBoost::shared_ptr< DtTaskVisualization > DtTaskVisualizationPtr
Definition: taskVisualization.h:119
std::map< DtTaskVisualizationId, DtTaskVisualizationPtr > DtTaskVisualizationMap
Definition: taskVisualization.h:121
std::pair< int, DtString > DtTaskVisualizationId
Definition: taskVisualization.h:120
virtual const DtString & name() const
Returns the visualization name.
Definition: taskVisualization.h:43
virtual const DtString & taskComponent() const
Returns the task component name.
Definition: taskVisualization.h:46
DtString myName
Definition: taskVisualization.h:104
DtVector64 myLocationOffset
Location offset in forward, right, down entity coordinates.
Definition: taskVisualization.h:114
voidpf uLong offset
Definition: ioapi.h:42
virtual unsigned nextId()
Returns an ID number to be used when creating remote draw objects.
std::list< DtTaskVisualizationPtr > DtTaskVisualizationList
Definition: taskVisualization.h:122
DtBulkEnvironmentProcessManager.
Definition: bulkEnvironmentProcessManager.h:24
unsigned myBlue
Definition: taskVisualization.h:110
boost::uuids::uuid uuid() const
Definition: rwUUID.h:325
virtual void publishDrawControlObjects(DtBoost::shared_ptr< DtBulkEnvironmentProcessManager > bulkMgr)
Creates the visualization object for publication to the network.
const DtVrfObject * myTaskedObject
Definition: taskVisualization.h:106

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)