VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtOsgOverlaySegmentedLineModel.h
Go to the documentation of this file.
1 // /******************************************************************************
2 // ** Copyright (c) 2014 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 const std::vector<DtVector>& points() const;
72 
75  virtual void setGroup( int );
76 
78  virtual void setSegmentEndArrow(unsigned int segmentIndex,
79  bool enableArrow);
80 
83  virtual void setSegmentStipplePattern(unsigned int segmentIndex,
84  unsigned int stipplePattern, int repeatFactor);
85 
87  virtual void setSegmentWidth(unsigned int segmentIndex,
88  double width);
89 
91  virtual void setArrowSize(double);
92 
94  virtual void setLineStyle(int);
95 
97  virtual void setArrowStyle(int);
98 
101  virtual void setSegmentStartColor( unsigned int segmentIndex, float r,
102  float g, float b, float a );
103 
106  virtual void setSegmentEndColor( unsigned int segmentIndex, float r,
107  float g, float b, float a );
108 
110  virtual void setEventsEnabled( bool );
111 
113  virtual void setEventWidth(float width);
114 
115  // @name Inherited DtModel methods
116  // @{
117 
119  virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, int visualizerType );
120 
122  virtual void removeFromScene();
123 
125  virtual void setModelDefinition( const std::string& str );
126 
128  virtual void setVisible( bool isVisible );
129 
131  virtual void setSolid( bool );
132 
133  // @}
134 
136  virtual void update();
137 
139  virtual void needsUpdate();
140 
143  virtual void setFixedWidthSizing(bool);
144 
145  protected:
149  virtual void moveInstancesFromChannelSpecific();
150 
154  virtual void moveInstancesToChannelSpecific();
155 
158  virtual void slot_channelCreated( DtChannel* channel);
159 
161  virtual void slot_channelDestroyed( DtChannelManager* channelManager, DtChannel* channel);
162 
165  virtual void slot_channelConfigurationModified(const std::string& deName,
166  const std::string& winName, const std::string& oldChannelName,
167  const DtChannelConfiguration& config);
168 
170  virtual void setupInstanceWithCurrentValues(DtOverlaySegmentedLineModelInstance*);
171 
172  protected:
177 
181 
182  typedef std::map<DtChannel*, DtOverlaySegmentedLineModelInstance*> ChannelInstances;
184 
188  std::vector<DtVector> myPoints;
189  double myArrowSize;
193  std::string myModelDefinition;
194  float myColor[4];
195  unsigned int myStipplePattern;
197  float myWidth;
199  int myGroup;
201  };
202 }
203 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)