VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtNavigationLightController.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
16 
17 #include <vlutil/vlTime.h>
18 
19 namespace makVrv
20 {
21  class DtArticulatedModelAgent;
22 
30  {
31  public:
32 
35 
38  {
39  NavigationLightExhibitConditionAlways = 1,
40  NavigationLightExhibitConditionDay = 2,
41  NavigationLightExhibitConditionFog = 3,
42  NavigationLightExhibitConditionNight = 4
43  };
44 
47  typedef std::vector<float> SignalSequence;
48 
49  typedef std::vector<int> ColorSequence;
50 
52  virtual ~DtNavigationLightController();
53 
57  virtual void attach( DtBuoyOrBeaconFacade& buoyOrBeacon );
58 
62  virtual void update( DtTime simTime, bool daylight, bool foggy );
63 
65 
66 
67  virtual void setColors( const ColorSequence& sequence );
68  virtual const ColorSequence& colors() const;
70 
71  //@(
75  virtual void setSignalSequence( const SignalSequence& sequence );
76  virtual const SignalSequence& signalSequence() const;
78 
79  //@(
81  virtual void setExhibitCondition( NavigationLightExhibitCondition condition );
82  virtual NavigationLightExhibitCondition exhibitCondition() const;
84 
86 
87 
88  virtual void setOnOffState( bool state );
89  virtual bool onOffState() const;
91 
93 
94 
95 
96  virtual void setTimer( DtTime nextStateTime );
97  virtual DtTime timer() const;
99 
101 
102 
103 
104  virtual void setSequenceCursor( int cursor );
105  virtual int sequenceCursor() const;
107 
109 
110 
111 
112  virtual void setLightColorSwitchNumber( int switchNum );
113  virtual int lightColorSwitchNumber() const;
115 
117 
118 
119 
120  virtual void setLightSwitchNumber( int switchNum );
121  virtual int lightSwitchNumber() const;
123 
125 
126 
127 
128 
129  virtual void setEnabled( bool enabled );
130  virtual bool enabled() const;
132 
134 
135 
136 
137  virtual void setHeight( float height );
138  virtual float height() const;
140 
142 
143 
144 
145 
146  virtual void setVisibleDistance( float distance );
147  virtual float visibleDistance() const;
149 
151  std::string myParameterValues;
152  void setParameterValues(const std::string& values )
153  {
154  myParameterValues = values;
155  }
156  std::string parameterValues() const
157  {
158  return myParameterValues;
159  }
160 
161  protected:
162 
165 
168 
171 
173  const DtNavigationLightController& operator=(
174  const DtNavigationLightController& rhs );
175 
178  void checkEnabledState( bool daylight, bool foggy );
179 
180  protected:
190  float myHeight;
192  bool myEnabled;
193  };
194 
198  : public DtVirtualBaseClass
199  {
200 
201  public:
204  static DtNavigationLightControllerCreator& instance( DtDe& de );
205 
207  static void registerInstance( DtDe& de,
208  DtNavigationLightControllerCreator* anInstance );
209 
211  virtual DtNavigationLightController* create( DtUniqueID elementId );
212  };
213 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)