VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtAttachableEntityFanUpdater.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2013 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 );
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  virtual void setMultilineSceneObjectAgent( DtSceneObjectAgent* );
64 
65  protected:
66 
67  virtual void updateSceneObject( DtTime tNow );
68  virtual bool doIntersection();
69 
71  virtual void update();
72 
73  virtual void update( DtTime tNow );
74 
77  virtual bool removeElement( DtElementID id, bool disconnect = true );
78 
80  virtual void sceneObjectRemoved( DtUniqueID );
81 
84  virtual bool isIntersectableObject( const DtElementEntry& ) const;
85 
86  protected:
87 
89  {
92  };
93 
95  typedef boost::unordered_map<DtElementID,EntityFanIntersectionInformation> Intersections;
97 
100  double myLastRadius;
101 
102  DtOverlayEllipseArcModelAgent* my2DCircleAgent;
103  DtExtrudedCircleModelAgent* my3DCircleAgent;
104  DtMultiLineModelAgent* myMultiLineModelAgent;
105  DtSceneObjectAgent* mySceneObjectAgent;
106  DtSceneObjectAgent* myMultilineSceneObjectAgent;
107 
109 
110  };
111 
115  : public DtVirtualBaseClass
116  {
117  public:
118 
120 
121  static DtAttachableEntityFanUpdaterCreator& instance(DtDe&);
122  static void registerInstance(
124 
125  virtual DtAttachableEntityFanUpdater* create( DtDe&, DtElementID id );
126 
127  protected:
128 
130 
131  };
132 
133 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)