VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/objFactory.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: objFactory.h,v $ $Revision: 1.12 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00017 
00018 #ifndef DtSimObjectFactory_H_
00019 #define DtSimObjectFactory_H_
00020 
00021 #ifdef WIN32
00022 
00023 
00024 
00025 
00026 #pragma warning( push )
00027 #pragma warning( disable : 4786 )
00028 #endif
00029 
00030 #include <vlutil/vlHashlist.h>
00031 #include <vrfExtProtocol/objType.h>
00032 #include <vlpi/appearance.h>
00033 #include "vrfutil/vertexList.h"
00034 #include <vl/globalObjDes.h>
00035 
00036 class DtSimObjectFactoryEntry;
00037 class DtReaderWriterRegistry;
00038 class DtVrfObjectManager;
00039 class DtVrfObject;
00040 class DtReflectedObject;
00041 
00042 typedef DtVrfObject * (*DtSimObjectCreatorFcn)(
00043    const DtObjectType& objectType, 
00044    DtVrfObjectManager * simObjectManager, 
00045    bool createLocalObject,
00046    bool publishLocalObject,
00047    const DtEntityIdentifier& objectIdentifier,
00048    const DtGlobalObjectDesignator* globalId,
00049    DtReflectedObject* reflectedObject,
00050    const DtString & objectName,
00051    const DtString & objectLabel,
00052    DtForceType forceType,
00053    const DtList* vertices,
00054    const DtTaitBryan* orientation,
00055    bool projection,
00056    bool closedFigure,
00057    const DtAppearance& appearance,
00058    const DtString & readerWriterName, 
00059    DtReaderWriterRegistry * registry);
00060 
00067 #include "vrfobjcore/vrfobjcoreDefines.h"
00068 class DT_DLL_vrfobjcore DtSimObjectFactory : public DtHashlist
00069 {
00070 public:
00072    DtSimObjectFactory();
00073 
00075    DtSimObjectFactory(const DtSimObjectFactory& orig);
00076 
00078    const DtSimObjectFactory& operator=(const DtSimObjectFactory& orig);
00079 
00081    virtual ~DtSimObjectFactory();
00082 
00084    virtual void addCreatorFcn(const DtString& type, 
00085       DtSimObjectCreatorFcn fcn);
00086 
00087    virtual DtVrfObject * createSimObject(
00088       const DtObjectType& objectType,
00089       DtVrfObjectManager * simObjectManager, 
00090       const DtString & classType, 
00091       bool createLocalObject = true,
00092       bool publishLocalObject = true,
00093       const DtEntityIdentifier& objectIdentifier = DtEntityIdentifier::nullId(),
00094       const DtGlobalObjectDesignator* globalId = NULL,
00095       DtReflectedObject* reflectedObject = NULL,
00096       const DtString & objectName = DtString::nullString(),
00097       const DtString & objectLabel = DtString::nullString(),
00098       DtForceType forceType = DtForceOther,
00099       const DtList* vertices = NULL,
00100       const DtTaitBryan* orientation = NULL,
00101       bool projection = false,
00102       bool closedFigure = false,
00103       const DtAppearance& appearance = DtAppearance::nullAppearance(),
00104       const DtString & readerWriterName = DtString::nullString(), 
00105       DtReaderWriterRegistry * registry = 0);
00106 
00107    static DtSimObjectFactory* create();
00108 };
00109 
00110 #ifdef WIN32
00111 #pragma warning( pop ) 
00112 #endif
00113 
00114 #endif
00115 

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)