A custom class rarely overrides the following functions:
virtual Acad::ErrorStatus setOwnerId(AcDbObjectId objId); virtual resbuf* xData(const char* regappName = NULL) const; virtual Acad::ErrorStatus setXData(const resbuf* xdata); virtual void addPersistentReactor(AcDbObjectId objId); virtual Acad::ErrorStatus removePersistentReactor(AcDbObjectId objId); virtual void cancelled(const AcDbObject* dbObj); virtual void copied(const AcDbObject* dbObj, const AcDbObject* newObj); virtual void erased(const AcDbObject* dbObj, Adesk::Boolean pErasing = true); virtual void goodbye(const AcDbObject* dbObj); virtual void openedForModify(const AcDbObject* dbObj); virtual void modified(const AcDbObject* dbObj); virtual void modifyUndone(const AcDbObject* dbObj); virtual void modifiedXData(const AcDbObject* dbObj); virtual void unappended(const AcDbObject* dbObj); virtual void objectClosed(const AcDbObjectId objId); virtual void modifiedGraphics(const AcDbEntity* dbEnt);