VR-Forces 5.0.2 Developer's Guide
 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  virtual void setIsAlternating(bool alt);
154  virtual bool isAlternating() const;
156 
158  std::string myParameterValues;
159  void setParameterValues(const std::string& values )
160  {
161  myParameterValues = values;
162  }
163  std::string parameterValues() const
164  {
165  return myParameterValues;
166  }
167 
168  protected:
169 
172 
175 
178 
180  const DtNavigationLightController& operator=(
181  const DtNavigationLightController& rhs );
182 
185  void checkEnabledState( bool daylight, bool foggy );
186 
188  virtual void attachModel(DtArticulatedModelAgent* modelAgent);
190  virtual void updateModel(DtArticulatedModelAgent* modelAgent, DtTime simTime, bool daylight, bool foggy);
191  virtual void setModelColors(DtArticulatedModelAgent* modelAgent);
192  virtual void setModelOnOffState(DtArticulatedModelAgent* modelAgent);
194 
195 
196  protected:
206  float myHeight;
208  bool myEnabled;
210  };
211 
215  : public DtVirtualBaseClass
216  {
217 
218  public:
221  static DtNavigationLightControllerCreator& instance( DtDe& de );
222 
224  static void registerInstance( DtDe& de,
225  DtNavigationLightControllerCreator* anInstance );
226 
228  virtual DtNavigationLightController* create( DtUniqueID elementId );
229  };
230 }
int mySequenceCursor
Definition: DtNavigationLightController.h:202
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
ColorSequence myColors
Definition: DtNavigationLightController.h:197
bool myEnabled
Definition: DtNavigationLightController.h:208
std::string parameterValues() const
Definition: DtNavigationLightController.h:163
int myLightColorSwitchNumber
Definition: DtNavigationLightController.h:203
SignalSequence mySignalSequence
Definition: DtNavigationLightController.h:201
Contains makVrv::DtNavigationFeature class.
int myColorCursor
Definition: DtNavigationLightController.h:198
bool myIsAlternating
Definition: DtNavigationLightController.h:209
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. Coordinates are in local database coordinates The coordinat...
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:158
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtTime myTimer
Definition: DtNavigationLightController.h:200
The DtNavigationFeature can be attached to any articulated model through an articulated model agent...
Definition: DtNavigationFeature.h:29
float myHeight
Definition: DtNavigationLightController.h:206
void setParameterValues(const std::string &values)
Definition: DtNavigationLightController.h:159
float myVisibleDistance
Definition: DtNavigationLightController.h:207
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:205
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
DtNavigationLightController creator.
Definition: DtNavigationLightController.h:214
int myLightSwitchNumber
Definition: DtNavigationLightController.h:204
The DtEntityFacade is a facade around agents that make up an entity. This entity facade represents a ...
Definition: DtBuoyOrBeaconFacade.h:24
bool myOnOffState
Definition: DtNavigationLightController.h:199
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)