CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
DbLongTransaction.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24
25#ifndef ODDBLONGTRANSWORKSETITERATOR_INCLUDED
26#define ODDBLONGTRANSWORKSETITERATOR_INCLUDED
27
28#include "DbObject.h"
29#include "DwgDeclareMembers.h"
30
37{
38public:
40
50 virtual void start(
51 bool incRemovedObjs = false,
52 bool incSecondaryObjs = false) = 0;
53
57 virtual bool done() = 0;
58
62 virtual void step() = 0;
63
67 virtual OdDbObjectId objectId() const = 0;
68
75 virtual bool curObjectIsErased() const = 0;
76
84 virtual bool curObjectIsRemoved() const = 0;
85
98 virtual bool curObjectIsPrimary() const = 0;
99};
100
105
117{
118public:
120
122
123 enum
124 {
125 kSameDb = 0, // Entities are checked out from a normal block in the current *database*.
126 kXrefDb = 1, // Entities are checked out from ModelSpace or an Xref dependent block in an Xref *database*.
127 kUnrelatedDb = 2 // Entities are checked out from ModelSpace or a block in an unrelated *database*.
128 };
129
144 int type() const;
145
150
155
156
164
179
191
201
209
216 bool incRemovedObjs = false,
217 bool incSecondaryObjs = false) const;
218
224 OdDbObjectId workSetId) const;
225
233 ObjectId,
234 bool getErased = false) const;
235
244 ObjectId) const;
245
250
251 void applyPartialUndo(OdDbDwgFiler* pUndoFiler, OdRxClass* pClassObj);
253 virtual void dwgOutFields(OdDbDwgFiler* pFiler) const;
254 virtual OdResult subErase(bool erasing);
255};
256
258
259#endif // ODDBLONGTRANSWORKSETITERATOR_INCLUDED
#define TOOLKIT_EXPORT
Definition DbExport.h:40
OdSmartPtr< OdDbLongTransaction > OdDbLongTransactionPtr
OdSmartPtr< OdDbLongTransWorkSetIterator > OdDbLongTransWorkSetIteratorPtr
#define ODRX_ABSTRACT
OdResult
Definition OdResult.h:29
ODRX_DECLARE_MEMBERS(OdDbLongTransWorkSetIterator)
virtual OdDbObjectId objectId() const =0
virtual bool curObjectIsErased() const =0
virtual void start(bool incRemovedObjs=false, bool incSecondaryObjs=false)=0
virtual bool curObjectIsPrimary() const =0
virtual bool curObjectIsRemoved() const =0
DWGMAP_DECLARE_MEMBERS(OdDbLongTransaction)
OdResult syncWorkSet()
bool workSetHas(OdDbObjectId ObjectId, bool getErased=false) const
void applyPartialUndo(OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
OdResult fadeExclusion(OdDbObjectId ObjectId)
OdString getLongTransactionName() const
OdDbIdMapping * activeIdMap()
OdDbObjectId originBlock() const
virtual OdResult subErase(bool erasing)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
bool needsFading(OdDbObjectId ObjectId) const
OdDbObjectId originObject(OdDbObjectId workSetId) const
OdResult addToWorkSet(OdDbObjectId ObjectId)
OdResult removeFromWorkSet(OdDbObjectId id)
OdDbLongTransWorkSetIteratorPtr newWorkSetIterator(bool incRemovedObjs=false, bool incSecondaryObjs=false) const
OdDbObjectId destinationBlock() const