![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00007 00008 #pragma once 00009 00010 #include <bhave3DGui/bhave3DGuiDefines.h> 00011 #include <bhave3DGui//bhaveLinesModel.h> 00012 #include <vrvCore/DtAgent.h> 00013 #include <vrvCore/DtAgentCreator.h> 00014 #include <vrvCore/DtAgentDefinition.h> 00015 00016 class DtBhaveLinesModel; 00017 00019 class DT_DLL_bhave3DGui DtBhaveLinesModelAgent : public makVrv::DtAgent 00020 { 00021 public: 00023 DtBhaveLinesModelAgent(); 00024 00026 static DtBhaveLinesModelAgent* create(makVrv::DtAgentManagerInterface& sceneInterface, bool bDistribute = true); 00027 00029 virtual ~DtBhaveLinesModelAgent(); 00030 00034 DtBhaveLinesModel* findObject(); 00035 const DtBhaveLinesModel* findObject() const; 00036 00037 00038 virtual void update() = 0; 00039 00040 00041 virtual void init(std::string& str,bool useLocalCoord) = 0; 00042 00043 00044 protected: 00045 virtual DtBhaveLinesModel* findObjectAsDtBhaveLinesModel() = 0; 00046 }; 00047 00048 00050 class DtBhaveLinesModelAgentImplementation : public virtual DtBhaveLinesModelAgent 00051 { 00052 public: 00054 DtBhaveLinesModelAgentImplementation(); 00055 00057 virtual ~DtBhaveLinesModelAgentImplementation(); 00058 00059 virtual void update(); 00060 00061 00062 virtual void init(std::string& str,bool useLocalCoord); 00063 00064 00065 protected: 00066 virtual DtBhaveLinesModel* findObjectAsDtBhaveLinesModel(); 00067 00068 }; 00069 00071 class DtBhaveLinesModelClassDefinition : public makVrv::DtAgentDefinition<DtBhaveLinesModel> 00072 { 00073 public: 00075 DtBhaveLinesModelClassDefinition(const std::string& className = "DtBhaveLinesModel"); 00076 00078 virtual ~DtBhaveLinesModelClassDefinition(); 00079 00081 enum FunctionIds 00082 { 00083 function_update, 00084 function_init, 00085 end_FunctionIds 00086 }; 00087 00088 }; 00089 00091 class DtBhaveLinesModelClassesCreator : public makVrv::DtAgentCreator 00092 { 00093 public: 00094 00096 DtBhaveLinesModelClassesCreator(); 00097 00099 virtual ~DtBhaveLinesModelClassesCreator(); 00100 00101 static makVrv::DtAgentCreator* create(); 00102 00104 virtual makVrv::DtAgent* createAgent(makVrv::DtAgentManagerInterface& sceneInterface); 00105 00107 virtual makVrv::DtAgentUpdateResolverInterface* createResolver(makVrv::DtDe& de, makVrv::DtUniqueID id); 00108 00109 protected: 00110 DtBhaveLinesModelClassDefinition* myDefinition; 00111 00112 static bool theRegisteredFlag; 00113 };