![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2011 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 /***************************************************************************** 00006 * $RCSfile: DtEntityArticulatedStateModelVisualizer.h,v $ $Revision: 1.43 $ $State: Exp $ 00007 *****************************************************************************/ 00008 00014 00015 #pragma once 00016 #include <vrvCore/DtEntityStateVisualizer.h> 00017 00018 class DtVector; 00019 class DtTaitBryan; 00020 00021 namespace makVrv 00022 { 00023 00024 class DtArticulatedModelAgent; 00025 00028 class DT_DLL_VRVCORE DtEntityArticulatedStateModelVisualizer 00029 : public DtEntityStateVisualizer 00030 { 00031 public: 00032 00034 DtEntityArticulatedStateModelVisualizer( DtBaseConnection& simulation, 00035 DtStateListener& listener, int modelSet ); 00036 00038 virtual ~DtEntityArticulatedStateModelVisualizer(); 00039 00041 virtual void setAutoSendMovingState(bool); 00042 bool autoSendMovingState() const 00043 { 00044 return myAutoSendMovingState; 00045 } 00046 00048 virtual void setState( int stateNumber, int stateValue ); 00049 00051 virtual void setVisualizerDefinition(const DtVisualizerDefinition& visDef); 00052 00054 virtual void setColorizedColor( float r, float g, float b, float alpha ); 00055 00057 virtual void setDisableModelScaling( bool b ); 00058 00060 virtual void setLocalModelScalingEnabled( bool enabled ); 00061 00063 virtual void setLocalModelScalingAmount( float localScl ); 00064 00066 virtual const DtStateVisualizer::TypeInfo& typeInfo() const; 00067 00069 static const DtStateVisualizer::TypeInfo& theTypeInfo(); 00070 00071 protected: 00072 00073 virtual void createModelAgents(); 00074 virtual void destroyModelAgents(); 00075 virtual void setModelDefinitionForAgents(); 00076 00077 virtual void updateColorBlending(); 00078 00080 virtual void setPartTranslation(int partNumber, 00081 const DtVector& transform, const DtVector& velocity) ; 00082 00084 virtual void setPartOrientation(int partNumber, 00085 const DtTaitBryan& orientation, const DtVector& rotationalVelocity); 00086 00088 virtual void setVelocity(const DtVector& v); 00089 00090 void updateMoving( bool moving); 00091 virtual void setRelativeVelocity(const DtVector& v); 00092 00093 protected: 00094 00095 DtArticulatedModelAgent* myArticulatedModelAgent; 00096 00097 bool myAutoSendMovingState; 00098 bool myMovingFlag; 00099 bool myAffectsBounds; 00100 bool myColorized; 00101 00102 float myColorizedRed; 00103 float myColorizedGreen; 00104 float myColorizedBlue; 00105 float myColorizedAlpha; 00106 00107 bool myDisableModelScaling; 00108 bool myEnableLocalModelScaling; 00109 00110 float myLocalModelScalingAmount; 00111 00112 }; 00113 00114 00115 typedef DtStateVisualizerCreatorTemplate<DtEntityArticulatedStateModelVisualizer> 00116 DtEntityArticulatedStateModelVisualizerCreator; 00117 00118 }