![]() |
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/Dt3DSegmentedLineModel.h> 00014 #include <vrvCore/DtUniqueID.h> 00015 00016 #include <vrvOsg/DtOsgSceneConnector.h> 00017 00018 #include <osg/Group> 00019 00020 #include <matrix/vlVector.h> 00021 00022 namespace makVrv 00023 { 00024 class DtDe; 00025 00028 class DT_DLL_VRVOSG DtOsg3DSegmentedLineModel : public Dt3DSegmentedLineModel 00029 { 00030 public: 00031 00033 DtOsg3DSegmentedLineModel(DtDe& de, DtUniqueID id); 00034 00036 virtual ~DtOsg3DSegmentedLineModel(); 00037 00038 //@name Distributed Interface 00040 00042 virtual void setPosition( int vtx, const DtVector& position ); 00043 00045 virtual void removePosition( int vtx ); 00046 00048 virtual void setOrientation( int vtx, const DtTaitBryan& orientation ); 00049 00051 virtual void setColor( float r, float g, float b, float a ); 00052 00054 virtual void setWidth( float width ); 00055 00057 virtual void setStipplePattern( unsigned int pattern, int repeatFactor ); 00058 00061 virtual void setStyleSegments(const std::vector<double>& segmentPercentages); 00062 00064 virtual void setSegmentColor(unsigned int segmentIndex, 00065 float r, float g, float b, float a); 00066 00068 virtual void setSegmentLightningStyle(unsigned int segmentIndex, 00069 bool enableLightningStyle); 00070 00072 virtual void setSegmentStartArrow(unsigned int segmentIndex, 00073 bool enableArrow); 00074 00076 virtual void setSegmentEndArrow(unsigned int segmentIndex, 00077 bool enableArrow); 00078 00081 virtual void setSegmentStipplePattern(unsigned int segmentIndex, 00082 unsigned int stipplePattern, int repeatFactor); 00083 00085 virtual void setSegmentWidth(unsigned int segmentIndex, 00086 double width); 00087 00090 virtual void setSegmentStartColor( unsigned int segmentIndex, float r, 00091 float g, float b, float a ); 00092 00095 virtual void setSegmentEndColor( unsigned int segmentIndex, float r, 00096 float g, float b, float a ); 00097 00099 virtual void setStopOnTerrainIntersection(bool enabled); 00100 00102 virtual void setOcclusionEnabled(bool enabled); 00103 00105 virtual void setPickable( bool pickable ); 00106 00109 virtual void setVisible(bool isVisible); 00110 00112 virtual void setSolid(bool isSolid); 00113 00115 virtual void setModelDefinition( const std::string& str ); 00116 00118 00119 //@name Local Interface 00121 00123 virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, 00124 int visualizerType ); 00125 00127 virtual void removeFromScene(); 00128 00130 virtual void update(); 00132 00133 00134 protected: 00135 00137 virtual void needsUpdate(); 00138 00139 protected: 00140 DtOsgSceneConnector* mySceneConnector; 00141 bool myConnectedToPostUpdate; 00142 }; 00143 } 00144