![]() |
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 00014 #include <vrvCore/DtRibbonModel.h> 00015 00016 #include <matrix/vlVector.h> 00017 #include <osg/Vec4> 00018 00019 namespace makVrv 00020 { 00021 00022 class DtOsgSceneConnector; 00023 class DtRibbonModelInstance; 00024 00027 class DT_DLL_VRVOSG DtOsgRibbonModel : public DtRibbonModel 00028 { 00029 public: 00030 00032 DtOsgRibbonModel( DtDe& de, DtUniqueID id ); 00033 00035 virtual ~DtOsgRibbonModel(); 00036 00038 virtual void setModelDefinition( const std::string& str ); 00039 00041 virtual void setModelInstance( DtModelInstance* modelInstance ); 00042 00045 virtual std::string className() const; 00046 00048 virtual void setOrientation( int vtx, const DtTaitBryan& ori ); 00049 00051 virtual void setPosition( int vtx, const DtVector& pos ); 00052 00055 virtual void addToScene( const DtUniqueID& id, int modelSet, 00056 int visualizerType ); 00057 00059 virtual void removeFromScene(); 00060 00062 virtual void setOcclusionEnabled( bool enabled ); 00063 00065 virtual void setRibbonSpacing( float sampleSpacing ); 00066 00071 virtual void setRibbonLength( int maxSamples ); 00072 00074 virtual void setColor( float r, float g, float b, float a ); 00075 00078 virtual void initializeModelInstance(); 00079 00081 virtual void setVisible( bool isVisible ); 00082 00084 virtual void setSolid( bool solid ); 00085 00087 virtual void update(); 00088 00089 protected: 00090 00091 DtOsgSceneConnector* mySceneConnector; 00092 DtRibbonModelInstance* myRibbonModelCast; 00093 bool myOcclusionEnabled; 00094 float myRibbonSpacing; 00095 int myRibbonLength; 00096 bool myColorSet; 00097 osg::Vec4 myColor; 00098 00099 }; 00100 00101 }