VR-Forces 4.1.1 Class Documentation
DtOsgOverlaySegmentedLineModel.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 <vrvOsg/vrvOsg.h>
16 
17 namespace makVrv
18 {
19  class DtChannelManager;
20  class DtChannel;
21  class DtChannelConfiguration;
22  class DtModelDefinition;
23 
28  {
29  public:
32 
35 
37  virtual void setPosition( int vtx, const DtVector& position );
38 
40  virtual void removePosition( int vtx );
41 
43  virtual void setOrientation( int vtx, const DtTaitBryan& orientation );
44 
46  virtual void setColor( float r, float g, float b, float a );
47 
49  virtual void setWidth( float width );
50 
52  virtual void setStipplePattern( unsigned int pattern, int repeatFactor );
53 
56  virtual void setStyleSegments(const std::vector<double>& segmentPercentages);
57 
59  virtual void setSegmentColor(unsigned int segmentIndex,
60  float r, float g, float b, float a);
61 
63  virtual void setSegmentLightningStyle(unsigned int segmentIndex,
64  bool enableLightningStyle);
65 
67  virtual void setSegmentStartArrow(unsigned int segmentIndex,
68  bool enableArrow);
69 
71  virtual void setSegmentEndArrow(unsigned int segmentIndex,
72  bool enableArrow);
73 
76  virtual void setSegmentStipplePattern(unsigned int segmentIndex,
77  unsigned int stipplePattern, int repeatFactor);
78 
80  virtual void setSegmentWidth(unsigned int segmentIndex,
81  double width);
82 
84  virtual void setArrowSize(double);
85 
87  virtual void setLineStyle(int);
88 
90  virtual void setArrowStyle(int);
91 
94  virtual void setSegmentStartColor( unsigned int segmentIndex, float r,
95  float g, float b, float a );
96 
99  virtual void setSegmentEndColor( unsigned int segmentIndex, float r,
100  float g, float b, float a );
101 
103  virtual void setEventsEnabled( bool );
104 
106  virtual void setEventWidth(float width);
107 
108  // @name Inherited DtModel methods
109  // @{
110 
112  virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, int visualizerType );
113 
115  virtual void removeFromScene();
116 
118  virtual void setModelDefinition( const std::string& str );
119 
121  virtual void setVisible( bool isVisible );
122 
124  virtual void setSolid( bool );
125 
126  // @}
127 
129  virtual void update();
130 
132  virtual void needsUpdate();
133 
136  virtual void setFixedWidthSizing(bool);
137 
138  protected:
142  virtual void moveInstancesFromChannelSpecific();
143 
147  virtual void moveInstancesToChannelSpecific();
148 
151  virtual void slot_channelCreated( DtChannel* channel);
152 
154  virtual void slot_channelDestroyed( DtChannelManager* channelManager, DtChannel* channel);
155 
158  virtual void slot_channelConfigurationModified(const std::string& deName,
159  const std::string& winName, const std::string& oldChannelName,
160  const DtChannelConfiguration& config);
161 
163  virtual void setupInstanceWithCurrentValues(DtOverlaySegmentedLineModelInstance*);
164 
165  protected:
170 
174 
175  typedef std::map<DtChannel*, DtOverlaySegmentedLineModelInstance*> ChannelInstances;
177 
181  std::vector<DtVector> myPoints;
182  double myArrowSize;
186  std::string myModelDefinition;
187  float myColor[4];
188  unsigned int myStipplePattern;
190  float myWidth;
193  };
194 }
195 

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)