![]() |
MAK RTIspy API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: pubRegSet.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 *********************************************************************/ 00010 00011 #ifndef DtPubRegionSet_H_ 00012 #define DtPubRegionSet_H_ 00013 #ifdef DDM 00014 00015 #include "locRegSet.h" 00016 00017 class DtRegionEntryList; 00018 00019 class DT_DLL_LRC DtPubRegionSet : public DtLocalRegionSet 00020 { 00021 public: 00022 00024 DtPubRegionSet(); 00025 00027 DtPubRegionSet(DtRegionHandle setHandleValue, DtRegionRealization* region); 00028 00030 DtPubRegionSet(DtRegionHandle setHandleValue, DtRegionEntryList& regionList); 00031 00033 virtual ~DtPubRegionSet(); 00034 00037 virtual void addRegions(const DtRegionEntryList& regionList); 00038 00042 virtual bool evaluateMatchingAfterLocalAdd(DtRemoteRegionSet& regSet, 00043 DtObjectClassInfo& pubClassDesc, 00044 const DtAttributeHandleSet& pubAttrSet) const; 00045 00049 virtual bool evaluateMatchingAfterRemoteAdd(DtRemoteRegionSet& regSet, 00050 DtObjectClassInfo& subClassDesc, 00051 const DtAttributeHandleSet& subAttrSet) const; 00052 00053 00056 virtual void moveAttrToOverlap(const DtObjectRegionSet& remoteRegSet); 00057 virtual void moveAttrToMatching(const DtObjectRegionSet& remoteRegSet); 00058 00059 protected: 00060 00061 00065 virtual bool evaluateMatchingAfterAdd( 00066 DtRegionHandle remoteSubRegionSetHandle, 00067 DtObjectClassInfo& pubClassDesc, 00068 DtObjectClassInfo& subClassDesc, 00069 DtAttributeHandleSet const& pubAttrs, 00070 DtAttributeHandleSet const& subAttrs) const; 00071 00076 virtual bool evaluateMatchingAfterLocalRemove( 00077 DtRemoteRegionSet& remoteSubRegionSet, 00078 DtObjectClassInfo& pubClassDescOfRemoved, 00079 const DtAttributeHandleSet& removedAttrSet, 00080 const DtAttributeHandleSet& remainingAttrSet); 00081 00086 virtual bool evaluateMatchingAfterRemoteRemove( 00087 DtRemoteRegionSet& remoteSubRegionSet, 00088 DtObjectClassInfo& subClassDescOfRemoved, 00089 const DtAttributeHandleSet& removedAttrSet, 00090 const DtAttributeHandleSet& remainingAttrSet); 00091 00093 DtPubRegionSet* self() const; 00094 00095 DtPubRegionSet(DtPubRegionSet const & rhs); 00096 DtPubRegionSet &operator=(DtPubRegionSet const & rhs); 00097 }; 00098 00099 inline DtPubRegionSet* DtPubRegionSet::self() const 00100 { 00101 return const_cast<DtPubRegionSet*>( this ); 00102 } 00103 00104 00105 #endif 00106 #endif