![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <vrvOsg/vrvOsg.h> 00013 #include <vrvCore/DtOverlayGreatCircleArcModel.h> 00014 00015 00016 00017 namespace makVrv 00018 { 00019 00023 class DT_DLL_VRVOSG DtOsgOverlayGreatCircleArcModel : public DtOverlayGreatCircleArcModel 00024 { 00025 public: 00027 DtOsgOverlayGreatCircleArcModel( DtDe& de, DtUniqueID id ); 00028 00030 virtual ~DtOsgOverlayGreatCircleArcModel(); 00031 00032 // @name Inherited DtOverlayGreatCircleArcModel methods 00033 // @{ 00034 00036 virtual void setPosition(int index, const DtVector& position); 00037 00039 virtual void setOrientation( int index, const DtTaitBryan& orientation ); 00040 00042 virtual void setColor( float r, float g, float b, float a ); 00043 00045 virtual void setWidth( float width ); 00046 00048 virtual void setStipplePattern( unsigned int pattern, int repeatFactor ); 00049 00052 virtual void setStyleSegments(const std::vector<double>& segmentPercentages); 00053 00055 virtual void setSegmentColor(unsigned int segmentIndex, 00056 float r, float g, float b, float a); 00057 00059 virtual void setSegmentStipplePattern(unsigned int segmentIndex, 00060 unsigned int stipplePattern, int repeatFactor); 00061 00063 virtual void setSegmentWidth(unsigned int segmentIndex, double width); 00064 00067 virtual void setSegmentStartColor( unsigned int segmentIndex, float r, 00068 float g, float b, float a ); 00069 00072 virtual void setSegmentEndColor( unsigned int segmentIndex, float r, 00073 float g, float b, float a ); 00074 00076 virtual void setSolid(bool solid); 00077 00079 virtual void setVisible(bool); 00080 00083 virtual void setMaxSubdivisions( int subDivisions ); 00084 00088 virtual void setPreferredSubdivisionSize( double size ); 00089 00092 virtual void setHeightScale( double heightScale ); 00093 // @} 00094 00096 virtual void setEventsEnabled( bool ); 00097 00099 virtual void setEventWidth(float width); 00100 00101 private: 00102 00104 DtOsgOverlayGreatCircleArcModel(); 00105 00107 DtOsgOverlayGreatCircleArcModel( const DtOsgOverlayGreatCircleArcModel& ); 00108 00110 DtOsgOverlayGreatCircleArcModel& operator=( const DtOsgOverlayGreatCircleArcModel& ); 00111 00113 virtual void setSegmentLightningStyle(unsigned int segmentIndex, 00114 bool enableLightningStyle); 00115 00117 virtual void setSegmentStartArrow(unsigned int segmentIndex, 00118 bool enableArrow); 00119 00121 virtual void setSegmentEndArrow(unsigned int segmentIndex, 00122 bool enableArrow); 00123 00124 protected: 00125 // @name Inherited Dt3DGreatCircleArcModel methods 00126 // @{ 00127 00129 virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, int visualizerType ); 00130 00132 virtual void removeFromScene(); 00133 00135 virtual void setModelDefinition( const std::string& str ); 00136 00137 // @} 00138 00140 virtual void update(); 00141 00143 virtual void needsUpdate(); 00144 00145 protected: 00146 00147 DtUniqueID mySceneObjectId; 00148 bool myEventsEnabled; 00149 float myEventWidth; 00150 bool myConnectedToPostUpdate; 00151 }; 00152 }