![]() |
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/Dt3DGreatCircleArcModel.h> 00014 00015 00016 00017 namespace makVrv 00018 { 00019 00020 class DtOsgSceneConnector; 00021 00024 class DT_DLL_VRVOSG DtOsg3DGreatCircleArcModel : public Dt3DGreatCircleArcModel 00025 { 00026 public: 00028 DtOsg3DGreatCircleArcModel( DtDe& de, DtUniqueID id ); 00029 00031 virtual ~DtOsg3DGreatCircleArcModel(); 00032 00033 // @name Inherited Dt3DGreatCircleArcModel (and Dt3DLineModel) methods 00034 // @{ 00035 00037 virtual void setPosition(int index, const DtVector& position); 00038 00040 virtual void setOrientation( int index, const DtTaitBryan& orientation ); 00041 00043 virtual void setColor( float r, float g, float b, float a ); 00044 00046 virtual void setWidth( float width ); 00047 00049 virtual void setStipplePattern( unsigned int pattern, int repeatFactor ); 00050 00053 virtual void setStyleSegments(const std::vector<double>& segmentPercentages); 00054 00056 virtual void setSegmentColor(unsigned int segmentIndex, 00057 float r, float g, float b, float a); 00058 00060 virtual void setSegmentLightningStyle(unsigned int segmentIndex, 00061 bool enableLightningStyle); 00062 00064 virtual void setSegmentStartArrow(unsigned int segmentIndex, 00065 bool enableArrow); 00066 00068 virtual void setSegmentEndArrow(unsigned int segmentIndex, 00069 bool enableArrow); 00070 00072 virtual void setStopOnTerrainIntersection(bool enabled); 00073 00075 virtual void setOcclusionEnabled(bool enabled); 00076 00078 virtual void setSegmentStipplePattern(unsigned int segmentIndex, 00079 unsigned int stipplePattern, int repeatFactor); 00080 00082 virtual void setSegmentWidth(unsigned int segmentIndex, double width); 00083 00086 virtual void setSegmentStartColor( unsigned int segmentIndex, float r, 00087 float g, float b, float a ); 00088 00091 virtual void setSegmentEndColor( unsigned int segmentIndex, float r, 00092 float g, float b, float a ); 00093 00095 virtual void setPickable( bool pickable ); 00096 00098 virtual void setSolid(bool solid); 00099 00101 virtual void setVisible(bool); 00102 00105 virtual void setMaxSubdivisions( int subDivisions ); 00106 00110 virtual void setPreferredSubdivisionSize( double size ); 00111 00114 virtual void setHeightScale( double heightScale ); 00115 // @} 00116 00117 00118 private: 00119 00121 DtOsg3DGreatCircleArcModel(); 00122 00124 DtOsg3DGreatCircleArcModel( const Dt3DGreatCircleArcModel& ); 00125 00127 DtOsg3DGreatCircleArcModel& operator=( const DtOsg3DGreatCircleArcModel& ); 00128 00129 protected: 00130 // @name Inherited Dt3DGreatCircleArcModel methods 00131 // @{ 00132 00134 virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, int visualizerType ); 00135 00137 virtual void removeFromScene(); 00138 00140 virtual void setModelDefinition( const std::string& str ); 00141 00142 // @} 00143 00145 virtual void update(); 00146 00148 virtual void needsUpdate(); 00149 00150 protected: 00151 DtOsgSceneConnector* mySceneConnector; 00152 DtUniqueID myParentId; 00153 DtVector myOrigin; 00154 bool myConnectedToPostUpdate; 00155 }; 00156 }