VR-Link API Documentation for HLA 1.3
encFactory.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00008 
00009 #ifndef DtStateEncoderFactory_H_
00010 #define DtStateEncoderFactory_H_
00011 
00012 #if DtHLA 
00013 
00014 #include "hStateEncoder.h"
00015 #include <vlutil/vlMachineTypes.h>
00016 #include <map>
00017 
00018 class DtFom;
00019 
00024 class DT_DLL_VL DtStateEncoderFactory
00025 {
00026 public:
00027 
00029    DtStateEncoderFactory(DtExerciseConn* exConn);
00030    
00032    DtStateEncoderFactory(DtFom* fom);
00033 
00035    virtual ~DtStateEncoderFactory();
00036 
00037 private:
00038 
00040    DtStateEncoderFactory(const DtStateEncoderFactory& orig);
00041 
00043    DtStateEncoderFactory& operator=(const DtStateEncoderFactory& orig);
00044 
00045 public:
00046 
00050    virtual DtHlaStateEncoder* createEncoder(RTI::ObjectClassHandle hand);
00051 
00057    virtual DtHlaStateEncoder* addEncoder(
00058       RTI::ObjectClassHandle hand,
00059       DtHlaStateEncoder* encoder);
00060 
00068    virtual void addAttributeEncoder(
00069       RTI::ObjectClassHandle classHand,
00070       RTI::AttributeHandle attrHand,
00071       DtHlaStateEncoder::DtAttributeEncoder encoder, 
00072       bool applyToSubclasses = true);
00073 
00075    virtual void addAttributeEncoder(
00076       char* className,
00077       RTI::AttributeHandle attrHand,
00078       DtHlaStateEncoder::DtAttributeEncoder func, 
00079       bool applyToSubclasses = true);
00080 
00082    virtual void addAttributeEncoder(
00083       RTI::ObjectClassHandle classHand,
00084       char* attrName,
00085       DtHlaStateEncoder::DtAttributeEncoder func, 
00086       bool applyToSubclasses = true);
00087 
00089    virtual void addAttributeEncoder(
00090       char* className,
00091       char* attrName,
00092       DtHlaStateEncoder::DtAttributeEncoder func, 
00093       bool applyToSubclasses = true);
00094 
00102    virtual void addAttributeChecker(
00103       RTI::ObjectClassHandle classHand,
00104       RTI::AttributeHandle attrHand,
00105       DtHlaStateEncoder::DtAttributeChecker encoder, 
00106       bool applyToSubclasses = true);
00107 
00109    virtual void addAttributeChecker(
00110       char* className,
00111       RTI::AttributeHandle attrHand,
00112       DtHlaStateEncoder::DtAttributeChecker func, 
00113       bool applyToSubclasses = true);
00114 
00116    virtual void addAttributeChecker(
00117       RTI::ObjectClassHandle classHand,
00118       char* attrName,
00119       DtHlaStateEncoder::DtAttributeChecker func, 
00120       bool applyToSubclasses = true);
00121 
00123    virtual void addAttributeChecker(
00124       char* className,
00125       char* attrName,
00126       DtHlaStateEncoder::DtAttributeChecker func, 
00127       bool applyToSubclasses = true);
00128 
00138    virtual DtHlaStateEncoder* encoder(RTI::ObjectClassHandle hand,
00139       bool copyBase = false);
00140 
00141 protected:
00142 
00143    typedef std::map<RTI::ObjectClassHandle, DtHlaStateEncoder*> ObjectClassHandleToEncoderMap;
00144    ObjectClassHandleToEncoderMap myProtos;
00145 
00146    DtFom* myFom;
00147 };
00148 
00149 #endif
00150 #endif
00151 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)