VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objectsInFluxManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
11 #include <vrvCore/DtUniqueID.h>
13 
14 namespace makVrv
15 {
16  class DtDe;
17  class DtSceneObject;
18  class DtWindowPolygon;
19  class DtOsgAttributeGroupWidget;
20  class DtPinnableProjectedWidgetModel;
21  class DtWindowEntityAttachedSurface;
22  class DtOsgOverlaySegmentedLineModel;
23  class DtOsgWidgetLabel;
24 }
25 
26 class DtSimMessage;
27 
28 namespace makVrf
29 {
30  class DtVrfBackendState;
31  class DtAttachableUpdaterWithLevelOrientation;
32 
36  {
37  public:
39  virtual ~DtObjectsInFluxManager();
40 
42  static DtObjectsInFluxManager& instance(makVrv::DtDe& de);
43  static void registerInstance(makVrv::DtDe&, DtObjectsInFluxManager*);
44 
45  protected:
46  virtual std::string modelDefinitionForForceColor(int red, int green, int blue, int alpha);
47 
48  virtual void processSimOperationUpdate(DtSimMessage* msg);
49  virtual void backendRemoved(const DtVrfBackendState& s);
50  virtual void objectVisibilityChanged(makVrv::DtUniqueID);
51 
52  struct ObjectInFlux
53  {
56 
57  struct Visual
58  {
59  makVrv::DtSceneObject* sceneObject = nullptr;
61  makVrv::DtOsgWidgetLabel* marker = nullptr;
63  makVrv::DtSceneObject* lineSceneObject = nullptr;
66  };
67 
68  std::vector<Visual> visuals;
69  };
70 
71  virtual ObjectInFlux createObjectInFlux(const DtSimulationAddress& addr, int identifier, const DtIfSimOperationsInProgress::FluxStatus&);
72  virtual void removeObjectInFlux(const DtSimulationAddress& addr, int identifier);
73  virtual ObjectInFlux::Visual createFluxVisual(int modelSet, const DtIfSimOperationsInProgress::FluxStatus&);
74 
75  protected:
78 
79  typedef std::map<int, ObjectInFlux> ObjectsInFlux;
80  typedef std::map<DtSimulationAddress, ObjectsInFlux> ObjectsInFluxByBackend;
82  };
83 }
Definition: vrfBackendState.h:69
Definition: attachableUpdaterWithLevelOrientation.h:18
makVrv::DtSignalConnectionManager myConnections
Definition: objectsInFluxManager.h:77
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< int, ObjectInFlux > ObjectsInFlux
Definition: objectsInFluxManager.h:79
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
The osg implementation of the widget layout.
Definition: DtPinnableProjectedWidgetModel.h:26
Definition: objectsInFluxManager.h:57
ObjectsInFluxByBackend myObjectsInFluxByBackend
Definition: objectsInFluxManager.h:81
The osg implementation of a label.
Definition: DtOsgWidgetLabel.h:31
std::map< DtSimulationAddress, ObjectsInFlux > ObjectsInFluxByBackend
Definition: objectsInFluxManager.h:80
Contains makVrv::DtVirtualBaseClass class.
File: simMsg.h.
Definition: simMessage.h:35
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtOsgOverlayLineModel extends the DtLineModel interface to include operations only appropriate for 2D...
Definition: DtOsgOverlaySegmentedLineModel.h:31
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
makVrv::DtDe & myDe
Definition: objectsInFluxManager.h:76
Base class to provide boost signal/slot management.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
DtIfSimOperationsInProgress::FluxStatus status
Definition: objectsInFluxManager.h:54
The osg implementation of an attribute group.
Definition: DtOsgAttributeGroupWidget.h:24
The DtObjectsInFluxManager will show symbols of where potential objects will be created/moved to in r...
Definition: objectsInFluxManager.h:35
Contains makVrv::DtUniqueID type.
Definition: ifSimOperationsInProgress.h:23
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
std::vector< Visual > visuals
Definition: objectsInFluxManager.h:68
Definition: objectsInFluxManager.h:52

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)