27#ifndef _ODDBXOBJECT_INCLUDED_
28#define _ODDBXOBJECT_INCLUDED_
80#define ODDB_DECLARE_MEMBERS(ClassName)\
82 ClassName(OdDbObjectImpl* pImpl); \
84ODRX_DECLARE_MEMBERS (ClassName)
94#define DBOBJECT_CONSTR(ClassName) OdSmartPtr<ClassName> (new ClassName, kOdRxObjAttach)
429 bool eraseIt =
true);
487 bool keepXData =
true,
bool
536 bool swapXdata =
false,
537 bool swapExtDict =
false);
564 bool swapXdata =
false,
565 bool swapExtDict =
false);
923 bool autoUndo =
true,
924 bool recordModified =
true);
1234 bool erasing =
true);
1423 const OdRxObject* pSource);
1457 OdDb::MaintReleaseVer* pMaintVer = 0) const;
1482 OdDb::DwgVersion ver,
1484 bool& exchangeXData);
1511 OdDb::DwgVersion ver,
1513 bool& exchangeXData);
1588 virtual OdDbStub*
id() const;
1673 OdDb::OpenMode mode) const;
1720 OdDb::OpenMode mode) const;
1777 return oddbEntGet(
id.safeOpenObject(), regapps);
OdSmartPtr< OdResBuf > OdResBufPtr
OdSmartPtr< OdDbXrecord > OdDbXrecordPtr
TOOLKIT_EXPORT OdDbObjectId oddbEntLast(OdDbDatabase *db)
OdSmartPtr< OdDbObject > OdDbObjectPtr
DBIO_EXPORT OdResBufPtr oddbEntGet(const OdDbObject *pObj, const OdString ®apps=OdString::kEmpty)
DBIO_EXPORT OdResult oddbEntMod(OdDbObject *pObj, OdResBuf *pRb)
DBIO_EXPORT OdResult oddbEntMakeX(OdDbDatabase *pDb, OdResBuf *pRb, OdDbObjectPtr &pObj)
TOOLKIT_EXPORT OdDbObjectId oddbEntNext(OdDbObjectId id, OdDbDatabase *db)
DBIO_EXPORT OdResult oddbEntMake(OdDbDatabase *pDb, OdResBuf *pRb, OdDbObjectPtr &pObj)
OdArray< OdDbObjectReactorPtr > OdDbObjectReactorArray
OdArray< OdDbObjectId, OdClrMemAllocator< OdDbObjectId > > OdDbObjectIdArray
virtual void openedForModify(const OdDbObject *pObject)
void swapIdWith(OdDbObjectId otherId, bool swapXdata=false, bool swapExtDict=false)
virtual OdDb::DwgVersion getObjectSaveVersion(const OdDbFiler *pFiler, OdDb::MaintReleaseVer *pMaintVer=0) const
virtual void unappended(const OdDbObject *pObject)
virtual void subSwapIdWith(const OdDbObjectId &otherId, bool swapXdata=false, bool swapExtDict=false)
bool isReallyClosing() const
void disableUndoRecording(bool disable)
virtual void applyPartialUndo(OdDbDwgFiler *pUndoFiler, OdRxClass *pClassObj)
bool hasXData(const OdChar *regappName=nullptr) const
virtual void modifiedGraphics(const OdDbObject *pObject)
virtual void release() ODRX_NOEXCEPT override
OdDbObjectIdArray getPersistentReactors() const
ODRX_SEALED_VIRTUAL OdResult getClassID(void *pClsid) const ODRX_FINAL
OdDbObjectId objectId() const
OdDbHandle handle() const
virtual void xmitPropagateModify() const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual void modifyUndone(const OdDbObject *pObject)
bool isNotifyEnabled() const
void dwgIn(OdDbDwgFiler *pFiler)
bool isModifiedXData() const
virtual OdUInt32 subSetAttributes(OdGiDrawableTraits *pTraits) const
friend class OdDbObjectOverrule
OdDbHandle getDbHandle() const
virtual OdGiDrawable * drawable()
virtual OdResult subOpen(OdDb::OpenMode mode)
bool hasSaveVersionOverride() const
void xDataTransformBy(const OdGeMatrix3d &xfm)
virtual OdResult removeField(OdDbObjectId fieldId)
virtual void modifiedXData(const OdDbObject *pObject)
bool isUndoRecordingDisabled() const
friend class OdDbSystemInternals
bool isEraseStatusToggled() const
virtual void goodbye(const OdDbObject *pObject)
virtual void addPersistentReactor(const OdDbObjectId &objId)
void setGsNode(OdGsCache *pNode)
OdDbObjectId extensionDictionary() const
virtual OdDbObjectPtr subDeepClone(OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
void assertWriteEnabled(bool autoUndo=true, bool recordModified=true)
void handOverTo(OdDbObject *pNewObject, bool keepXData=true, bool keepExtDict=true)
bool isReadEnabled() const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual void erased(const OdDbObject *pObject, bool erasing=true)
virtual OdDb::DuplicateRecordCloning mergeStyle() const
virtual void reappended(const OdDbObject *pObject)
OdDbObjectId getFieldDictionary() const
OdDbDatabase * database() const
OdGsCache * gsNode() const
void convertForSave(OdDb::DwgVersion ver)
virtual void objectClosed(const OdDbObjectId &objectId)
void addReactor(OdDbObjectReactor *pReactor) const
virtual bool isPersistent() const
virtual OdResBufPtr xData(const OdString ®appName=OdString::kEmpty) const
OdDbDwgFiler * undoFiler()
friend class OdDbObjectImpl
OdResult erase(bool eraseIt=true)
void setOdDbObjectIdsInFlux()
ODDB_DECLARE_MEMBERS(OdDbObject)
void removeReactor(OdDbObjectReactor *pReactor) const
void dwgOut(OdDbDwgFiler *pFiler) const
virtual void removePersistentReactor(const OdDbObjectId &objId)
virtual OdDbObjectPtr decomposeForSave(OdDb::DwgVersion ver, OdDbObjectId &replaceId, bool &exchangeXData)
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
bool hasPersistentReactor(const OdDbObjectId &objId) const
virtual void modified(const OdDbObject *pObject)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
bool releaseExtensionDictionary()
OdDbXrecordPtr createXrecord(const OdString &xrecordName, OdDb::DuplicateRecordCloning style=OdDb::kDrcIgnore)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
virtual void subHandOverTo(OdDbObject *pNewObject)
bool isOdDbObjectIdsInFlux() const
virtual OdDbObjectPtr subWblockClone(OdDbIdMapping &ownerIdMap, OdDbObject *pOwner, bool bPrimary) const
virtual void recvPropagateModify(const OdDbObject *pSubObj)
virtual void copied(const OdDbObject *pObject, const OdDbObject *pNewObject)
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
virtual void subViewportDraw(OdGiViewportDraw *pVd) const
virtual void setXData(const OdResBuf *pRb)
OdDbObjectReactorArray getTransientReactors() const
virtual OdResult subErase(bool erasing)
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual void audit(OdDbAuditInfo *pAuditInfo)
virtual OdResult subGetClassID(void *pClsid) const
void setHasSaveVersionOverride(bool hasSaveVersionOverride)
virtual OdDbObjectId setField(const OdString &fieldName, OdDbField *pField)
virtual void dxfOut(OdDbDxfFiler *pFiler) const
virtual long numRefs() const override
ODRX_SEALED_VIRTUAL OdDbObjectPtr wblockClone(OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_FINAL
ODRX_SEALED_VIRTUAL OdDbObjectPtr deepClone(OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_FINAL
bool isWriteEnabled() const
virtual void appendToOwner(OdDbIdPair &idPair, OdDbObject *pOwnerObject, OdDbIdMapping &idMap)
virtual void composeForLoad(OdDb::SaveType format, OdDb::DwgVersion version, OdDbAuditInfo *pAuditInfo)
virtual void addRef() override
virtual void subObjModified(const OdDbObject *pObject, const OdDbObject *pSubObj)
friend class OdDbPropertiesOverrule
virtual void copyFrom(const OdRxObject *pSource)
virtual void setOwnerId(OdDbObjectId ownerId)
bool isModifiedGraphics() const
void assertReadEnabled() const
OdDbObjectId getField(const OdString &fieldName) const
OdDbObjectId ownerId() const
void assertNotifyEnabled() const
virtual OdRxClass * saveAsClass(OdRxClass *pClass) const
void createExtensionDictionary()
OdError_XdataSizeExceeded(const OdDbObjectId &objectId)
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
GLint GLint GLint GLsizei GLsizei GLenum format