![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtDiGuyModelInstance.h,v $ $Revision: 1.15 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtDiGuyModelInstance_H_ 00014 #define DtDiGuyModelInstance_H_ 00015 00016 #include <vrvDiGuy/vrvDiGuy.h> 00017 #include <vrvOsg/DtOsgModelInstance.h> 00018 00019 #include <osg/MatrixTransform> 00020 00021 #include <list> 00022 00023 class diguyCharacter; 00024 00025 namespace makVrv 00026 { 00027 00028 class DtSceneObject; 00029 00032 class DT_DLL_VRVDIGUY DtDiGuyModelInstance : public DtOsgModelInstance 00033 { 00034 public: 00035 00036 //Let the creator class make instances. 00037 friend class DtDiGuyModelInstanceCreator; 00038 00040 virtual ~DtDiGuyModelInstance(); 00041 00042 virtual void resetLink(); 00043 00045 virtual void addToConnector( DtOsgSceneConnector* connector ); 00046 00049 virtual bool removeFromConnector( DtOsgSceneConnector* connector ); 00050 00053 virtual bool realize(DtModelDefinition& definition); 00054 00056 void setObjectToMove( DtSceneObject* object); 00057 00059 diguyCharacter* character(); 00060 00061 virtual void setVisible(bool isVisible); 00062 00065 virtual void updateBoundingBoxViaContents(); 00066 00067 protected: 00068 00069 void destroyCharacter(); 00070 00072 DtDiGuyModelInstance(DtDe& de); 00073 00076 virtual void updateColorBlending(); 00077 00078 protected: 00079 00080 diguyCharacter* myCharacter; 00081 osg::MatrixTransform* myLastTransform; 00082 DtSceneObject* myLastObject; 00083 00084 bool myNodeVisible; 00085 bool myCanBeRecycled; 00086 bool myCastsShadows; 00087 bool myReceivesShadows; 00088 }; 00089 00092 class DT_DLL_VRVDIGUY DtDiGuyModelInstanceCreator : public DtModelInstanceCreator 00093 { 00094 public: 00095 00097 static void registerCreator(DtDe& de); 00098 00100 virtual ~DtDiGuyModelInstanceCreator(); 00101 00103 virtual DtModelInstance* create(DtDe& de); 00104 00105 protected: 00106 00107 DtDiGuyModelInstanceCreator(); 00108 00109 }; 00110 } 00111 00112 #endif 00113