VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtMotionModelFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #include <vrvCore/vrvCore.h>
00013 #include <vrvUtil/DtVirtualBaseClass.h>
00014 
00015 #include <map>
00016 #include <vector>
00017 #include <string>
00018 
00019 namespace makVrv
00020 {  
00021 
00022    class DtSceneObject;
00023    class DtDe;
00024    class DtMotionModel;
00025    class DtMotionModelCreator;
00026 
00030    class DT_DLL_VRVCORE DtMotionModelFactory : public DtVirtualBaseClass
00031    {
00032    public:
00033 
00035       static DtMotionModelFactory& instance(DtDe&);
00036 
00038       virtual ~DtMotionModelFactory();
00039 
00042       virtual void addMotionModelCreator(const std::string& creatorName, 
00043          DtMotionModelCreator* creator);
00044 
00046       virtual void setDefaultMotionModel(const std::string& creatorName);
00047 
00049       virtual void removeModelModelCreator(const std::string& creatorName);
00050 
00052       DtMotionModel* createMotionModel(DtSceneObject* owner, const std::string& creatorName);
00053 
00055       void getMotionModelClasses(std::vector<std::string>& classes) const;
00056 
00057    protected:
00058 
00060       DtMotionModelFactory(DtDe& de);
00061 
00062       typedef std::map<std::string,DtMotionModelCreator*> CreatorMap;      
00063 
00064       DtDe& myDe;
00065       CreatorMap myCreators;
00066    };
00067 }
00068 
00069 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)