VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSmokeElementProcessor.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2014 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
14 #include <boost/unordered_map.hpp>
15 #include <vl/globalObjectDesignator.h>
16 #include <boost/signal.hpp>
17 #include <boost/shared_ptr.hpp>
18 
19 namespace makVrv
20 {
21 
22  class DtVisualAttributeStringVector;
23 
24  namespace DT_PROTOCOL_NAMESPACE
25  {
26 
27  class DtSmokeElement;
28  class DtSmokeVisualizerSet;
29  class DtVrlinkConnection;
30  class DtVrlinkSmokeStateListener;
31  class DtVrlinkEnvironmentalStateListenerInterface;
32 
37  : public DtVirtualBaseClass
38  {
39  public:
40 
43 
45  static void registerInstance( DtVrlinkConnection& simulation,
46  DtSmokeElementProcessor* instance );
47 
49  static DtSmokeElementProcessor* findInstance(
50  DtVrlinkConnection& simulation );
51 
53  virtual ~DtSmokeElementProcessor();
54 
55 
57  DtSmokeVisualizerSet* findVisualizer( int modelSet,
58  const DtGlobalObjectDesignator& id );
59 
61  std::vector<DtSmokeVisualizerSet*> findVisualizers(
62  const DtGlobalObjectDesignator& id );
63 
65  DtSmokeVisualizerSet* findVisualizer( DtUniqueID sceneId);
66 
68  DtVrlinkSmokeStateListener* findListener( DtUniqueID id);
69 
71  DtSmokeElement* findElement( const DtUniqueID& elementId );
72 
74  DtSmokeElement* findElement( const DtGlobalObjectDesignator& id );
75 
78  void setVisualizerCreationProcessingTime(double);
79  double visualizerCreationProcessingTime() const;
80 
81  public:
82 
83  boost::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtSmokeElement*)> signal_elementCreated;
84  boost::signal<void (DtVrlinkEnvironmentalStateListenerInterface&, DtSmokeElement*)> signal_elementAboutToBeDestroyed;
85 
86  protected:
87 
88  virtual void modelSetVisualized(int set, bool b);
89 
90  virtual void handleElementAttributeChanged(
91  DtSmokeElement& smoke, const DtElementAttribute* attr);
92 
94  void onEnvironmentalDiscovered(
96 
98  void onEnvironmentalToBeDestroyed(
100 
101  virtual void slot_elementAttributeChangeRequested( DtUniqueID id, DtUniqueID parentId,
102  DtBoost::shared_ptr<const DtElementAttribute> atr );
103 
104  void onItemVisibilityChanged( const DtUniqueID& elementID, bool flag );
105 
107  virtual void slot_completeDiscovery();
108 
109  virtual void createVisualizer(DtVrlinkSmokeStateListener&);
110 
111  private:
115 
119 
123 
124  protected:
125 
126  typedef boost::unordered_map<DtUniqueID, DtSmokeElement*>
128 
129  typedef boost::unordered_map<std::string, DtSmokeElement*>
131 
132  typedef boost::unordered_map<DtUniqueID, DtVrlinkEnvironmentalStateListenerInterface*>
134 
141 
142  };
143 
144  }
145 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)