VR-Forces 4.1.1 Class Documentation
DtAttachableEntityFanUpdater.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtIntersector.h>
16 
17 #include <boost/unordered_map.hpp>
18 
19 namespace makVrv
20 {
21 
22  class DtElementEntry;
23  class DtOverlayEllipseArcModelAgent;
24  class DtExtrudedCircleModelAgent;
25  class DtMultiLineModelAgent;
26  class DtSceneObjectAgent;
27 
38  {
39  public:
40 
46  DtDe& de, DtElementID id, bool suppressTick = false );
47 
50 
51  virtual void setEntityFanUpdateRate( double d );
52 
54  virtual void setCircleAgent( DtOverlayEllipseArcModelAgent* );
55  virtual void setCircleAgent( DtExtrudedCircleModelAgent* );
56 
59  virtual void setMultiLineModelAgent( DtMultiLineModelAgent* );
60 
62  virtual void setSceneObjectAgent( DtSceneObjectAgent* );
63 
64  protected:
65 
66  virtual void updateSceneObject( DtTime tNow );
67  virtual bool doIntersection();
68 
70  virtual void update();
71 
72  virtual void update( DtTime tNow );
73 
76  virtual bool removeElement( DtElementID id, bool disconnect = true );
77 
79  virtual void sceneObjectRemoved( DtUniqueID );
80 
83  virtual bool isIntersectableObject( const DtElementEntry& ) const;
84 
85  protected:
86 
87  struct EntityFanIntersectionInformation : public IntersectionInformation
88  {
90  };
91 
93  typedef boost::unordered_map<DtElementID,EntityFanIntersectionInformation> Intersections;
95 
98  double myLastRadius;
99 
100  DtOverlayEllipseArcModelAgent* my2DCircleAgent;
101  DtExtrudedCircleModelAgent* my3DCircleAgent;
102  DtMultiLineModelAgent* myMultiLineModelAgent;
103  DtSceneObjectAgent* mySceneObjectAgent;
104 
106 
107  };
108 
112  : public DtVirtualBaseClass
113  {
114  public:
115 
117 
118  static DtAttachableEntityFanUpdaterCreator& instance(DtDe&);
119  static void registerInstance(
121 
122  virtual DtAttachableEntityFanUpdater* create( DtDe&, DtElementID id );
123 
124  protected:
125 
127 
128  };
129 
130 }

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)