![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEnvironmentalPointKinStateVisualizer.h,v $ $Revision: 1.43 $ $SceneObject: Exp $ 00007 ******************************************************************************/ 00008 00014 00015 #pragma once 00016 00017 #include <vrvCore/DtSceneObjectVisualizer.h> 00018 #include <vrvCore/DtSceneObject.h> 00019 #include <matrix/vlVector.h> 00020 #include <vrvCore/DtEnvironmentalStateListener.h> 00021 00022 namespace makVrv 00023 { 00024 class DtModelAgent; 00025 class DtGroundClampingUpdaterAgent; 00026 00030 class DT_DLL_VRVCORE DtEnvironmentalPointKinStateVisualizer : 00031 public DtSceneObjectVisualizer 00032 { 00033 public: 00034 00036 DtEnvironmentalPointKinStateVisualizer(DtBaseConnection& simulation, 00037 DtStateListener& listener, int modelSet); 00038 00040 virtual ~DtEnvironmentalPointKinStateVisualizer(); 00041 00043 virtual void setOriginAndOffset(const DtVector& origin, 00044 const DtVector& offset); 00045 00048 const DtVector& offset() const; 00049 00051 const DtVector& origin() const; 00052 00054 virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef); 00055 00058 virtual DtTaitBryan level(); 00059 00060 DtEnvironmentalStateListener& environmentalStateListener() 00061 { 00062 return *myEnvironmentalListener; 00063 } 00064 00065 DtGroundClampingUpdaterAgent* updaterAgent() 00066 { 00067 return myUpdater; 00068 } 00069 00071 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00072 00074 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00075 00076 protected: 00077 00078 virtual void createModelAgents(); 00079 virtual void destroyModelAgents(); 00080 virtual void setModelDefinitionForAgents(); 00081 00082 virtual void resetSpatial(); 00083 virtual void initializeObjectAgent(); 00084 00085 protected: 00086 DtModelAgent* myModelAgent; 00087 DtGroundClampingUpdaterAgent* myUpdater; 00088 DtVector myOrigin; 00089 DtVector myOffset; 00090 bool myAffectsBounds; 00091 00092 // Same as myListener, but casted for convenience 00093 DtEnvironmentalStateListener* myEnvironmentalListener; 00094 }; 00095 00096 typedef DtStateVisualizerCreatorTemplate<DtEnvironmentalPointKinStateVisualizer> 00097 DtEnvironmentalPointKinStateVisualizerCreator; 00098 }