VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/signaturePropagatorFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: signaturePropagatorFactory.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 #ifndef signaturePropagatorFactory_H_
00009 #define signaturePropagatorFactory_H_
00010 
00014 
00017 
00018 #include "vrfobjcore/signaturePropagator.h"
00019 #include <vlutil/vlConfig.h>
00020 #include <map>
00021 
00022 class DtSignaturePropagatorDescriptor;
00023 
00024 typedef DtSignaturePropagator * (*DtSignaturePropagatorCreatorFcn)(
00025    const DtSignaturePropagatorDescriptor* desc, DtPhysicalWorld* physicalWorld);
00026 
00028 #include "vrfobjcore/vrfobjcoreDefines.h"
00029 class DT_DLL_vrfobjcore DtSignaturePropagatorFactory
00030 {
00031 public:
00033    DtSignaturePropagatorFactory();
00034 
00036    virtual ~DtSignaturePropagatorFactory();
00037 
00039    virtual void addCreatorFcn(const DtString& type,
00040       DtSignaturePropagatorCreatorFcn fcn);
00041 
00043    virtual DtSignaturePropagator* createSignaturePropagator(const DtString& type,
00044       const DtSignaturePropagatorDescriptor* desc, DtPhysicalWorld* physicalWorld);
00045 
00046    static DtSignaturePropagatorFactory* create();
00047 
00048 private:
00050    DtSignaturePropagatorFactory(const DtSignaturePropagatorFactory& orig);
00052    DtSignaturePropagatorFactory& operator=(const DtSignaturePropagatorFactory& orig);
00053 
00054 protected:
00055    typedef std::map<DtString, DtSignaturePropagatorCreatorFcn> DtSignaturePropagatorCreatorMap;
00056    DtSignaturePropagatorCreatorMap myCreatorMap;
00057 };
00058 
00059 #endif

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)