![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtElementChanges.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtUniqueID.h> 00017 00018 #include <vector> 00019 #include <map> 00020 namespace makVrv 00021 { 00022 class DtElementEntry; 00023 class DtElementAttribute; 00024 00028 class DT_DLL_VRVCORE DtElementChanges 00029 { 00030 public: 00031 DtElementChanges(); 00032 DtElementChanges(const DtElementChanges& orig); 00033 DtElementChanges& operator=(const DtElementChanges& orig); 00034 ~DtElementChanges(); 00035 00036 typedef std::vector<DtElementEntry*> ElementPointerList; 00037 typedef std::vector<DtUniqueID> UniqueIdList; 00038 typedef std::vector<DtElementAttribute*> AttributeList; 00039 typedef std::map<DtUniqueID, AttributeList > ElementAttributeMap; 00040 00041 inline void clear() 00042 { 00043 myElementsAdded.clear(); 00044 myElementsDeleted.clear(); 00045 myAttributesChanged.clear(); 00046 } 00047 00049 inline bool hasChanges() const 00050 { 00051 return !myElementsAdded.empty() || 00052 !myElementsDeleted.empty() || 00053 !myAttributesChanged.empty(); 00054 } 00055 00056 ElementPointerList myElementsAdded; 00057 UniqueIdList myElementsDeleted; 00058 ElementAttributeMap myAttributesChanged; 00059 }; 00060 } 00061