1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0031748: Application Framework - Efficient OCAF transactions in OCCT

This commit is contained in:
mpv
2020-09-08 09:50:18 +03:00
committed by abv
parent d9d03f10c3
commit dbab9c538c
5 changed files with 543 additions and 2 deletions

View File

@@ -44,7 +44,7 @@
IMPLEMENT_STANDARD_RTTIEXT(TDF_Attribute,Standard_Transient)
#undef TDF_DATA_COMMIT_OPTIMIZED
#define TDF_DATA_COMMIT_OPTIMIZED
//=======================================================================
//function : TDF_Attribute
@@ -131,6 +131,10 @@ void TDF_Attribute::Forget (const Standard_Integer aTransaction)
mySavedTransaction = myTransaction;
myTransaction = aTransaction;
myFlags = (myFlags | TDF_AttributeForgottenMsk);
#ifdef TDF_DATA_COMMIT_OPTIMIZED
if (myLabelNode)
myLabelNode->AttributesModified(Standard_True);
#endif
Validate(Standard_False);
}

View File

@@ -45,7 +45,7 @@ typedef NCollection_Array1<Handle(TDF_AttributeDelta)> TDF_Array1OfAttributeIDel
IMPLEMENT_STANDARD_RTTIEXT(TDF_Data,Standard_Transient)
#undef DEB_DELTA_CREATION
#undef TDF_DATA_COMMIT_OPTIMIZED
#define TDF_DATA_COMMIT_OPTIMIZED
#ifdef OCCT_DEBUG_DELTA
#define TDF_Data_DebugModified(ACTION) \