![]() |
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 <vrvOsg/Dt3DSegmentedLineModelInstance.h> 00014 00015 #include <osg/Geode> 00016 #include <osg/Geometry> 00017 #include <osg/BlendColor> 00018 #include <osg/LineWidth> 00019 #include <osg/Shape> 00020 #include <osg/ShapeDrawable> 00021 #include <osg/MatrixTransform> 00022 00023 00024 namespace makVrv 00025 { 00026 class DtGreatCircleArc; 00027 class Dt3DGreatCircleArcModelInstanceSegment; 00028 00031 class DT_DLL_VRVOSG Dt3DGreatCircleArcModelInstance 00032 : public Dt3DSegmentedLineModelInstance 00033 { 00034 public: 00035 00037 Dt3DGreatCircleArcModelInstance(DtDe& de); 00038 00040 virtual ~Dt3DGreatCircleArcModelInstance(); 00041 00044 virtual void setMaxSubdivisions( int subdivisions ); 00045 00049 virtual void setPreferredSubdivisionSize( double size ); 00050 00053 virtual void setHeightScale( double heightScale ); 00054 00057 virtual bool realize(DtModelDefinition& definition); 00058 00059 private: 00060 00062 Dt3DGreatCircleArcModelInstance(); 00063 00065 Dt3DGreatCircleArcModelInstance( const Dt3DGreatCircleArcModelInstance& ); 00066 00068 Dt3DGreatCircleArcModelInstance& operator=( const Dt3DGreatCircleArcModelInstance& ); 00069 00070 protected: 00071 00073 virtual Dt3DLineModelInstanceSegmentInterface* createSegment(); 00074 00076 virtual void updateGeometry(); 00077 00079 virtual void updateSegmentAttributes(); 00080 00082 Dt3DGreatCircleArcModelInstanceSegment& gcSegment( int i); 00083 00085 const Dt3DGreatCircleArcModelInstanceSegment& gcSegment(int i) const; 00086 00087 protected: 00088 00089 double myHeightScale; 00090 int myMaxSubdivisions; 00091 double myPreferredSubdivisionSize; 00092 }; 00093 } 00094 00095