![]() |
MAK RTIspy API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: interRegSet.h,v $ $Revision: 1.16 $ $State: Exp $ 00007 *********************************************************************/ 00010 00011 #ifndef DtInteractionRegionSet_H_ 00012 #define DtInteractionRegionSet_H_ 00013 #ifdef DDM 00014 00015 #include "regionSet.h" 00016 #include "regionSetList.h" 00017 00018 class DtInteractionClassInfo; 00019 00020 class DT_DLL_LRC DtInteractionRegionSet : public DtRegionSet 00021 { 00022 public: 00023 00024 DtInteractionRegionSet(DtInteractionClassInfo& classDesc); 00025 DtInteractionRegionSet(DtRegionHandle setHandleValue, 00026 DtInteractionClassInfo& classDesc, DtRegionRealization* region); 00027 00028 virtual ~DtInteractionRegionSet(); 00029 00031 virtual DtInteractionClassInfo& classDesc(); 00032 00034 virtual bool inUse(); 00035 00038 virtual void addPubRegions(const DtInteractionRegionSet& regionSet); 00039 virtual void addSubRegions(const DtInteractionRegionSet& regionSet); 00040 00042 virtual void addOverlap(DtInteractionRegionSet* regionSet); 00043 virtual void removeOverlap(DtRegionHandle regionSetHandle); 00044 00046 virtual const DtRegionSetList& overlaps() const; 00047 00049 virtual bool isOverlap(DtRegionHandle regionSetHandle); 00050 00052 virtual unsigned int overlapCount(); 00053 00055 virtual void emptyOverlaps(); 00056 00058 virtual void addRegion(DtRegionRealization* region); 00059 00061 virtual void emptyRegions(); 00062 00064 virtual void recalculateBoundingRegion(); 00065 00066 protected: 00067 00069 DtInteractionRegionSet* self() const; 00070 00071 DtInteractionRegionSet(DtInteractionRegionSet const & rhs); 00072 DtInteractionRegionSet &operator=(DtInteractionRegionSet const & rhs); 00073 00074 protected: 00075 00076 DtInteractionClassInfo& myClassDesc; 00077 DtRegionSetList myOverlaps; 00078 }; 00079 00080 inline DtInteractionRegionSet* DtInteractionRegionSet::self() const 00081 { 00082 return (DtInteractionRegionSet*) this; 00083 } 00084 00085 inline DtInteractionClassInfo& DtInteractionRegionSet::classDesc() 00086 { 00087 return myClassDesc; 00088 } 00089 00090 inline const DtRegionSetList& DtInteractionRegionSet::overlaps() const 00091 { 00092 return myOverlaps; 00093 } 00094 00095 #endif 00096 #endif