![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: DtRangeLineVisualizer.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *********************************************************************/ 00011 00012 #pragma once 00013 00014 #include <vrvCore/DtSceneObjectVisualizer.h> 00015 00016 class DtVector; 00017 00018 namespace makVrv 00019 { 00020 class DtSegmentedLineModelAgent; 00021 class DtShapeModelAgent; 00022 class DtAttachableUpdaterAgent; 00023 } 00024 00025 namespace exampleRangeLine 00026 { 00027 class DtRangeLineStateListener; 00028 00032 class DtRangeLineVisualizer : public makVrv::DtSceneObjectVisualizer 00033 { 00034 public: 00036 DtRangeLineVisualizer(makVrv::DtBaseConnection& simulation, makVrv::DtStateListener& listener, 00037 int modelSet); 00038 00040 virtual ~DtRangeLineVisualizer(); 00041 00043 virtual void setColor(float r, float g, float b, float a); 00044 void color(float& r, float& g, float& b, float& a) const; 00045 00047 virtual void setStartPoint(const DtVector&); 00048 00050 virtual void setEndPoint(const DtVector&); 00051 00053 virtual void setStartAttachPoint(makVrv::DtElementID); 00054 00056 virtual void setStartPointOffset(const DtVector&); 00057 00059 virtual void setEndAttachPoint(makVrv::DtElementID); 00060 00062 virtual void setEndPointOffset(const DtVector&); 00063 00064 virtual void setSelected( bool b ); 00065 00066 protected: 00067 virtual void createModelAgents(); 00068 virtual void destroyModelAgents(); 00069 virtual void setModelDefinitionForAgents(); 00070 00071 virtual makVrv::DtUniqueID elementIdToSceneId(makVrv::DtElementID id); 00072 00073 virtual void resetSpatial(); 00074 00076 virtual makVrv::DtSegmentedLineModelAgent* createLineModelAgent() = 0; 00077 00078 protected: 00079 DtRangeLineStateListener& myLineListener; 00080 makVrv::DtSegmentedLineModelAgent* myLineModelAgent; 00081 makVrv::DtAttachableUpdaterAgent* myAttachableUpdaterAgent; 00082 }; 00083 00084 typedef makVrv::DtStateVisualizerCreatorTemplate<DtRangeLineVisualizer> DtRangeLineVisualizerCreator; 00085 } 00086