VR-Forces 4.8 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  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  virtual void setOnOffState( bool state );
89  virtual bool onOffState() const;
91 
93  virtual void setTimer( DtTime nextStateTime );
97  virtual DtTime timer() const;
99 
101  virtual void setSequenceCursor( int cursor );
105  virtual int sequenceCursor() const;
107 
109  virtual void setLightColorSwitchNumber( int switchNum );
113  virtual int lightColorSwitchNumber() const;
115 
117  virtual void setLightSwitchNumber( int switchNum );
121  virtual int lightSwitchNumber() const;
123 
125  virtual void setEnabled( bool enabled );
130  virtual bool enabled() const;
132 
134  virtual void setHeight( float height );
138  virtual float height() const;
140 
142  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 
181  virtual void attachModel(DtArticulatedModelAgent* modelAgent);
183  virtual void updateModel(DtArticulatedModelAgent* modelAgent, DtTime simTime, bool daylight, bool foggy);
184  virtual void setModelColors(DtArticulatedModelAgent* modelAgent);
185  virtual void setModelOnOffState(DtArticulatedModelAgent* modelAgent);
187 
188 
189  protected:
199  float myHeight;
201  bool myEnabled;
202  };
203 
207  : public DtVirtualBaseClass
208  {
209 
210  public:
213  static DtNavigationLightControllerCreator& instance( DtDe& de );
214 
216  static void registerInstance( DtDe& de,
217  DtNavigationLightControllerCreator* anInstance );
218 
220  virtual DtNavigationLightController* create( DtUniqueID elementId );
221  };
222 }
int mySequenceCursor
Definition: DtNavigationLightController.h:195
Virtual base class.
Definition: DtVirtualBaseClass.h:22
ColorSequence myColors
Definition: DtNavigationLightController.h:190
bool myEnabled
Definition: DtNavigationLightController.h:201
std::string parameterValues() const
Definition: DtNavigationLightController.h:156
int myLightColorSwitchNumber
Definition: DtNavigationLightController.h:196
SignalSequence mySignalSequence
Definition: DtNavigationLightController.h:194
Contains makVrv::DtNavigationFeature class.
int myColorCursor
Definition: DtNavigationLightController.h:191
std::vector< int > ColorSequence
Definition: DtNavigationLightController.h:49
Contains makVrv::DtVirtualBaseClass class.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
std::vector< float > SignalSequence
Type to hold a set of on/off times that define a signal sequence.
Definition: DtNavigationLightController.h:47
std::string myParameterValues
For debugging.
Definition: DtNavigationLightController.h:151
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtTime myTimer
Definition: DtNavigationLightController.h:193
The DtNavigationFeature can be attached to any articulated model through an articulated model agent...
Definition: DtNavigationFeature.h:29
float myHeight
Definition: DtNavigationLightController.h:199
void setParameterValues(const std::string &values)
Definition: DtNavigationLightController.h:152
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
float myVisibleDistance
Definition: DtNavigationLightController.h:200
The DtNavigationLightController can be attached to any articulated model through an articulated model...
Definition: DtNavigationLightController.h:29
NavigationLightExhibitCondition
enumeration used for exhibit conditions
Definition: DtNavigationLightController.h:37
NavigationLightExhibitCondition myExhibitCondition
Definition: DtNavigationLightController.h:198
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtNavigationLightController creator.
Definition: DtNavigationLightController.h:206
int myLightSwitchNumber
Definition: DtNavigationLightController.h:197
The DtEntityFacade is a facade around agents that make up an entity.
Definition: DtBuoyOrBeaconFacade.h:24
bool myOnOffState
Definition: DtNavigationLightController.h:192
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)