MAK RTIspy API Documentation for HLA 1516
attrHandSet.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: attrHandSet.h,v $ $Revision: 1.18 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtAttributeHandleSet_H_
00013 #define DtAttributeHandleSet_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "netHandSet.h"
00017 #include "internalTypes.h"
00018 
00019 class DtObjectClassInfo;
00020 
00021 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00022 #include "RTI/Typedefs.h"
00023 #include "RTI/Handle.h"
00024 #else
00025 #ifdef DtIFSPEC13DLC
00026 #include "RTI13.h"
00027 #define RTI rti13
00028 #else
00029 #include "RTI.hh"
00030 #endif
00031 #endif
00032 
00033 
00034 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00035 class DT_DLL_LRC DtAttributeHandleSet
00036 #else
00037 class DT_DLL_LRC DtAttributeHandleSet : public RTI::AttributeHandleSet
00038 #endif
00039 {
00040 public:
00041 
00043    DtAttributeHandleSet(DtObjectClassHandle handle=0);
00044 
00045 #ifdef DtIFSPEC1516
00046    DtAttributeHandleSet(rti1516::AttributeHandleSet const & attrSet_i,
00047       DtObjectClassHandle handle=0);
00048 #elif defined(DtIFSPEC1516E)
00049    DtAttributeHandleSet(rti1516e::AttributeHandleSet const & attrSet_i,
00050        DtObjectClassHandle handle=0);
00051 #endif
00052 
00054    virtual ~DtAttributeHandleSet();
00055 
00057    DtAttributeHandleSet(const DtAttributeHandleSet& orig);
00058  
00060    DtAttributeHandleSet& operator=(const DtAttributeHandleSet& orig);
00061 
00063 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00064    virtual unsigned long size() const; 
00065 #else
00066    virtual RTI::ULong size() const; 
00067 #endif
00068 
00070 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00071    virtual DtAttributeHandle getHandle(unsigned long i) const;
00072 #else
00073    virtual RTI::AttributeHandle getHandle(RTI::ULong i) const
00074       throw (
00075          RTI::ArrayIndexOutOfBounds);
00076 #endif
00077 
00079 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00080    virtual void add(DtAttributeHandle h);
00081 #else
00082    virtual void add(RTI::AttributeHandle h)
00083       throw (
00084          RTI::ArrayIndexOutOfBounds,
00085          RTI::AttributeNotDefined);
00086 #endif
00087 
00089 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00090    virtual void remove(DtAttributeHandle h);
00091 #else
00092    virtual void remove(RTI::AttributeHandle h)
00093       throw (
00094          RTI::AttributeNotDefined);
00095 #endif
00096   
00098    virtual void empty(); 
00099 
00101 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00102    virtual bool isEmpty() const;  
00103 #else
00104    virtual RTI::Boolean isEmpty() const;  
00105 #endif
00106    virtual bool isEmptySet() const;  
00107 
00109 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00110    virtual bool isMember(DtAttributeHandle h) const;
00111 #else
00112    virtual RTI::Boolean isMember(RTI::AttributeHandle h) const;
00113 #endif
00114 
00115    virtual DtAttributeHandleSet setUnion(
00116       const DtAttributeHandleSet &) const;
00117    virtual DtAttributeHandleSet setIntersection(
00118       const DtAttributeHandleSet &) const;
00119    virtual DtAttributeHandleSet removeSetIntersection(
00120       const DtAttributeHandleSet &) const;
00121   
00122 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
00123    virtual unsigned long encodedLength() const;
00124 #else
00125    virtual RTI::ULong encodedLength() const;
00126 #endif
00127    virtual void encode(char *buff) const; 
00128 
00129    virtual void print() const;
00130    virtual void print(DtObjectClassInfo* fomClass) const;
00131 
00132 #ifdef DtIFSPEC1516
00133    virtual void fillHandleSet(rti1516::AttributeHandleSet& attrSet) const;
00134 #elif defined(DtIFSPEC1516E)
00135    virtual void fillHandleSet(rti1516e::AttributeHandleSet& attrSet) const;
00136 #endif
00137 
00139 
00142    virtual DtObjectClassHandle classHandle() const;
00143    virtual void setClassHandle(DtObjectClassHandle handle);
00144 
00146    virtual bool active() const;
00147    virtual void setActive(bool isActive);
00148 public:
00149 
00150    static DtAttributeHandleSet* decode(const char *buff);
00151 
00152 protected:
00153 
00154    unsigned short mySize;
00155    DtObjectClassHandle myClassHandle;
00156    bool myActive;
00157    MAKRti::DtU32 myWords[DtNumberAttributeWords];
00158 };
00159 
00160 typedef DtAttributeHandleSet DtParameterHandleSet;
00161 
00162 #endif

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)