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)
256 {
return getDbHandle (); }
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);
916 bool autoUndo =
true,
917 bool recordModified =
true);
1183 virtual
void appendToOwner(
1194 void setOdDbObjectIdsInFlux();
1200 bool isOdDbObjectIdsInFlux() const;
1212 virtual
void copied(
1227 virtual
void erased(
1229 bool erasing =
true);
1242 virtual
void goodbye(
1254 virtual
void openedForModify(
1268 virtual
void modified(
1288 virtual
void subObjModified(
1305 virtual
void modifyUndone(
1322 virtual
void modifiedXData(
1338 virtual
void unappended(
1353 virtual
void reappended(
1359 bool isAProxy() const;
1370 virtual
void objectClosed(
1399 virtual
void modifiedGraphics(
1417 virtual
void copyFrom(
1424 bool hasSaveVersionOverride() const;
1435 void setHasSaveVersionOverride(
1436 bool hasSaveVersionOverride);
1450 virtual
OdDb::DwgVersion getObjectSaveVersion(
1452 OdDb::MaintReleaseVer* pMaintVer = 0) const;
1477 OdDb::DwgVersion ver,
1479 bool& exchangeXData);
1506 OdDb::DwgVersion ver,
1508 bool& exchangeXData);
1519 void convertForSave(
OdDb::DwgVersion ver);
1565 virtual
bool subWorldDraw(
1568 virtual
void subViewportDraw(
1579 virtual
bool isPersistent() const;
1583 virtual OdDbStub*
id() const;
1644 void xDataTransformBy(
1650 bool hasFields() const;
1668 OdDb::OpenMode mode) const;
1715 OdDb::OpenMode mode) const;
1731 friend class OdDbSystemInternals;
1734 friend class OdDbObjectImpl;
1735 OdDbObjectImpl* m_pImpl;
1772 return oddbEntGet(
id.safeOpenObject(), regapps);
OdSmartPtr< OdDbXrecord > OdDbXrecordPtr
TOOLKIT_EXPORT OdDbObjectId oddbEntLast(OdDbDatabase *db)
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)
void swapIdWith(OdDbObjectId otherId, bool swapXdata=false, bool swapExtDict=false)
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)
OdDbObjectIdArray getPersistentReactors() const
OdDbObjectId objectId() const
OdDbHandle handle() const
virtual void xmitPropagateModify() const
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
bool isNotifyEnabled() const
void dwgIn(OdDbDwgFiler *pFiler)
bool isModifiedXData() const
OdDbHandle getDbHandle() const
virtual OdResult subOpen(OdDb::OpenMode mode)
bool isUndoRecordingDisabled() const
bool isEraseStatusToggled() const
virtual void addPersistentReactor(const OdDbObjectId &objId)
OdDbObjectId extensionDictionary() 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 OdDb::DuplicateRecordCloning mergeStyle() const
ODRX_SEALED_VIRTUAL OdDbObjectPtr deepClone(OdDbIdMapping &idMap, OdDbObject *pOwner, bool bPrimary=true) const ODRX_SEALED
OdDbDatabase * database() const
void addReactor(OdDbObjectReactor *pReactor) const
virtual OdResBufPtr xData(const OdString ®appName=OdString::kEmpty) const
OdDbDwgFiler * undoFiler()
OdResult erase(bool eraseIt=true)
ODDB_DECLARE_MEMBERS(OdDbObject)
void removeReactor(OdDbObjectReactor *pReactor) const
void dwgOut(OdDbDwgFiler *pFiler) const
virtual void removePersistentReactor(const OdDbObjectId &objId)
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
bool hasPersistentReactor(const OdDbObjectId &objId) const
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)
virtual void recvPropagateModify(const OdDbObject *pSubObj)
virtual OdResult dxfIn(OdDbDxfFiler *pFiler)
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 void dxfOut(OdDbDxfFiler *pFiler) const
bool isWriteEnabled() const
virtual void setOwnerId(OdDbObjectId ownerId)
bool isModifiedGraphics() const
void assertReadEnabled() const
OdDbObjectId ownerId() const
void assertNotifyEnabled() const
void createExtensionDictionary()
OdError_XdataSizeExceeded(const OdDbObjectId &objectId)
FIRSTDLL_EXPORT_STATIC static const OdString kEmpty
GLint GLint GLint GLsizei GLsizei GLenum format