24#ifndef _ODDB_BASEDATABASE_INCLUDED_
25#define _ODDB_BASEDATABASE_INCLUDED_
82 ,kClipDisabled = 0x10000000
229 OdUInt32 extentsFlags = kZeroFlags, OdDbStub* objectId = NULL) = 0;
271 return openObject(currentLayoutId(pDb));
300 return openObject(findLayoutNamed(pDb,
name));
312 return openObject(findLayoutIdByViewport(db, pViewportId));
339 return openObject(getFirstLayoutId(db));
1664 kSelfIntersecting = 0x40,
1670 kIsAnnotative = 0x200,
1672 kDoesNotSupportScale = 0x400,
1674 kForceAnnoAllVisible = 0x800,
1676 kOrientToPaper = 0x1000,
1678 kIsAnnotativeBlock = 0x2000
OdSmartPtr< OdDbBaseDatabasePE > OdDbBaseDatabasePEPtr
OdSmartPtr< OdDbBaseMaterialPE > OdDbBaseMaterialPEPtr
OdRxObjectPtr OdDbBaseDatabasePtr
OdSmartPtr< OdDbSetBasePlotSettingsPE > OdDbSetBasePlotSettingsPEPtr
OdRxObject OdDbBaseDatabase
OdSmartPtr< OdDbBaseHatchPE > OdDbBaseHatchPEPtr
OdSmartPtr< OdDbBaseSortEntsPE > OdDbBaseSortEntsPEPtr
OdSmartPtr< OdDbBaseVisualStylePE > OdDbBaseVisualStylePEPtr
OdSmartPtr< OdDbBaseLayoutPE > OdDbBaseLayoutPEPtr
OdSmartPtr< OdDbBaseAnnotationScalePE > OdDbBaseAnnotationScalePEPtr
OdSmartPtr< OdDbBaseBlockRefPE > OdDbBaseBlockRefPEPtr
OdSmartPtr< OdDbBaseLayerPE > OdDbBaseLayerPEPtr
OdSmartPtr< OdDbBaseLongTransactionPE > OdDbBaseLongTransactionPEPtr
OdSmartPtr< OdDbBaseBlockPE > OdDbBaseBlockPEPtr
virtual bool scaleRatio(const OdRxObject *obj, double *scale) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseAnnotationScalePE)
virtual OdDbBaseDatabase * xrefDatabase(const OdRxObject *pBlock) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseBlockPE)
virtual bool isAnonymous(const OdRxObject *pBlock) const =0
virtual bool isBlockReferenceAdded(OdRxObject *pBlock) const =0
virtual bool isFromExternalReference(const OdRxObject *pBlock) const =0
virtual OdDbStub * getLayoutId(const OdRxObject *pBlock) const =0
virtual OdString getName(const OdRxObject *pBlock) const =0
virtual bool isBasic(const OdRxObject *pBlockRef) const =0
virtual OdRxIteratorPtr newAttribIterator(const OdRxObject *pBlockRef, bool bSkipErased=true) const =0
virtual OdGeMatrix3d blockTransform(const OdRxObject *pBlockRef) const =0
virtual bool isAttribute(const OdRxObject *pAttrib) const =0
virtual OdDbStub * blockId(const OdRxObject *pBlockRef) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseBlockRefPE)
virtual bool isGeneric(const OdRxObject *pBlockRef) const =0
virtual bool isMInsert(const OdRxObject *pBlockRef) const =0
virtual bool isSelfReferential(const OdRxObject *pEntity) const =0
virtual ~DatabaseUnloadReactor()
virtual void goodbye(const OdDbBaseDatabase *pDb)=0
virtual OdResult faceConversionHelper(OdDbStub *&material, OdDbBaseDatabase *pSourceDb, OdDbBaseDatabase *pDestinationDb, const OdGiMaterialTraits *pMaterialTraits, const OdGiMapper *pMaterialMapper=0, const OdCmEntityColor *pMaterialColor=0)=0
virtual bool getTextStyleById(OdDbBaseDatabase *db, OdDbStub *idStyle, OdGiTextStyle &shapeInfo)=0
virtual void putNamedViewInfo(OdDbBaseDatabase *pDb, OdDbStub *layoutId, OdStringArray &names, OdGePoint3dArray &points)=0
OdRxObjectPtr getFirstLayout(OdDbBaseDatabase *db)
virtual OdTimeStamp getCreationTime(OdDbBaseDatabase *db)=0
virtual void zoomToExtents(const OdGsDCRect &outputRect, OdGsDevice *pDevice, OdDbBaseDatabase *db, OdGeBoundBlock3d &plotExtents, OdUInt32 extentsFlags=kZeroFlags, OdDbStub *objectId=NULL)=0
virtual OdDbStub * getId(const OdRxObject *obj) const =0
virtual OdGsDevicePtr setupActiveLayoutViews(OdGsDevice *pDevice, OdGiDefaultContext *pGiCtx)=0
virtual void applyLayoutSettings(OdGsDCRect &clipBox, OdGsDevice *pDevice, OdDbBaseDatabase *db, OdUInt32 extentsFlags=kZeroFlags, OdUInt32 dpi=72)=0
virtual OdResult undo(OdDbBaseDatabase *pDb)=0
virtual OdDbStub * findLayoutNamed(OdDbBaseDatabase *db, const OdString &name)=0
virtual OdUnitsFormatter * baseFormatter(OdDbBaseDatabase *db)=0
virtual OdDbStub * getFirstLayoutId(OdDbBaseDatabase *db)=0
virtual OdRxIteratorPtr layers(OdDbBaseDatabase *db) const =0
virtual bool getAnnoScaleSet(OdDbStub *drawableId, OdGiAnnoScaleSet &res)=0
virtual OdDbStub * getOwner(OdDbStub *id)
virtual OdDbStub * currentLayoutId(OdDbBaseDatabase *pDb)=0
virtual void downgradeOpen(OdRxObject *pObj)=0
virtual OdDbStub * getModelBlockId(OdDbBaseDatabase *pDb)=0
virtual OdRxObjectPtr getLayout(OdDbBaseDatabase *pDb, const OdString &name)
virtual int getMeasurement(OdDbBaseDatabase *db)=0
virtual void setMultiThreadedRender(OdDbBaseDatabase *pDb, bool bOn)=0
virtual OdRxObjectPtr openObject(OdDbStub *pId, bool bForWrite)=0
virtual OdDbBaseHostAppServices * appServices(OdDbBaseDatabase *pDb) const =0
virtual OdResult startUndoRecord(OdDbBaseDatabase *pDb)=0
virtual OdRxObjectPtr addDatabaseUnloadReactor(OdDbBaseDatabase *pDb, OdRxObject *pPrevReactor, DatabaseUnloadReactor *pReactorRedirect)=0
virtual bool getDatabasePartialViewingMode(OdDbBaseDatabase *pDb) const
virtual OdDbStub * getCurrentLongTransation(const OdDbBaseDatabase *pDb)=0
virtual void setCurrentLayout(OdDbBaseDatabase *db, const OdString &name)=0
virtual OdDbStub * getObject(OdDbBaseDatabase *db, OdUInt64 handle)=0
virtual void setupPalette(OdGsDevice *device, OdGiDefaultContext *giContext, OdDbStub *layoutId=0, ODCOLORREF palBg=ODRGBA(0, 0, 0, 0))=0
virtual OdInt16 getObscuredLtype(OdDbBaseDatabase &db, OdInt16 &color) const
virtual OdGiDefaultContextPtr createGiContext(OdDbBaseDatabase *pDb) const =0
virtual OdDbStub * findLayoutIdByViewport(OdDbBaseDatabase *db, OdDbStub *pViewportId)=0
virtual void removeDatabaseUnloadReactor(OdDbBaseDatabase *pDb, OdRxObject *pReactor)=0
virtual bool upgradeOpen(OdRxObject *pObj)=0
OdRxObjectPtr currentLayout(OdDbBaseDatabase *pDb)
virtual OdRxIteratorPtr layouts(OdDbBaseDatabase *db) const =0
virtual OdTimeStamp getUpdateTime(OdDbBaseDatabase *db)=0
virtual OdGsDevicePtr setupLayoutView(OdGsDevice *pDevice, OdGiDefaultContext *pGiCtx, OdDbStub *layoutId)=0
virtual OdDbStub * xrefBlockId(OdDbBaseDatabase *pDb)=0
virtual OdString getFingerPrintGuid(OdDbBaseDatabase *db)=0
virtual OdDbBaseDatabase * getDatabase(OdDbStub *id)
ODRX_DECLARE_MEMBERS(OdDbBaseDatabasePE)
virtual OdDbStub * getPaperBlockId(OdDbBaseDatabase *pDb)=0
virtual bool getLineTypeById(OdDbBaseDatabase *db, OdDbStub *pLTypeId, OdGiLinetype <ype)=0
virtual bool isAProxy(OdRxObject *pDrw)=0
virtual OdResult evaluateFields(OdDbBaseDatabase *pDb, int nContext)=0
virtual bool isExclusiveReadingEnabled(const OdDbBaseDatabase *pDb)=0
virtual OdBaseTextIteratorPtr createTextIterator(OdDbBaseDatabase *db, const OdChar *textString, int length, bool raw, const OdGiTextStyle *pTextStyle) const =0
virtual void startTransaction(OdDbBaseDatabase *pDb)=0
virtual OdDbStub * getNextViewForActiveLayout(OdGiDefaultContext *pGiCtx, OdDbStub *)=0
virtual OdCodePageId getCodePage(OdDbBaseDatabase *db)=0
virtual void abortTransaction(OdDbBaseDatabase *pDb)=0
virtual void loadPlotstyleTableForActiveLayout(OdGiDefaultContext *pDwgContext, OdDbBaseDatabase *db)=0
virtual OdString getFilename(OdDbBaseDatabase *pDb) const =0
OdRxObjectPtr findLayoutByViewport(OdDbBaseDatabase *db, OdDbStub *pViewportId)
virtual OdDbHandle getHandle(OdDbStub *id)
virtual int getUnits(OdDbBaseDatabase *db)=0
virtual OdString getVersionGuid(OdDbBaseDatabase *db)=0
virtual OdRxObjectPtr openObject(OdDbStub *pId)=0
virtual OdDbStub * getVisualStyleId(OdDbBaseDatabase *db, const OdString &name) const =0
virtual OdRxIteratorPtr visualStyles(OdDbBaseDatabase *db) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseHatchPE)
virtual OdInt32 loopTypeAt(const OdRxObject *pHatch, int loopIndex) const =0
virtual void getLoopAt(const OdRxObject *pHatch, int loopIndex, OdGePoint2dArray &vertices, OdGeDoubleArray &bulges) const =0
virtual bool isReallyHatch(const OdRxObject *pHatch) const =0
virtual HatchStyle hatchStyle(const OdRxObject *pHatch) const =0
virtual bool isSolidFill(const OdRxObject *pHatch) const =0
virtual int numLoops(const OdRxObject *pHatch) const =0
virtual void getLoopAt(const OdRxObject *pHatch, int loopIndex, OdArray< OdGeCurve2d * > &edgePtrs) const =0
virtual bool isGradient(const OdRxObject *pHatch) const =0
virtual void setIsFrozen(OdRxObject *obj, bool frozen) const =0
virtual OdString name(const OdRxObject *obj) const =0
virtual bool getLineType(OdRxObject *obj, OdGiLinetype <ype) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseLayerPE)
virtual bool isOff(const OdRxObject *obj) const =0
virtual bool isFrozen(const OdRxObject *obj) const =0
virtual void setIsOff(OdRxObject *obj, bool off) const =0
virtual double getBottomMargin(const OdRxObject *)=0
virtual void getPlotOrigin(const OdRxObject *, double &x, double &y)=0
virtual bool printLineweights(const OdRxObject *)=0
virtual double getRightMargin(const OdRxObject *)=0
virtual int plotPaperUnits(const OdRxObject *)=0
ODRX_DECLARE_MEMBERS(OdDbBaseLayoutPE)
virtual void getPlotWindowArea(const OdRxObject *, double &xmin, double &ymin, double &xmax, double &ymax)=0
virtual OdResult getPlotPaperUnits(const OdRxObject *, PlotPaperUnits &) const =0
virtual OdResult getStdScaleType(const OdRxObject *, StdScaleType &) const =0
virtual double getLeftMargin(const OdRxObject *)=0
virtual bool scalePSLinetypes(const OdRxObject *) const =0
virtual void getPlotPaperSize(const OdRxObject *, double &paperWidth, double &paperHeight)=0
virtual PlotRotation plotRotation(const OdRxObject *)=0
virtual void getCustomPrintScale(const OdRxObject *, double &numerator, double &denominator)=0
virtual OdString paperName(const OdRxObject *)=0
virtual void getPaperSize(const OdRxObject *, double &paperWidth, double &paperHeight) const =0
virtual OdResult getPlotType(const OdRxObject *, PlotType &) const =0
virtual bool isOverallVPortErased(const OdRxObject *)=0
virtual int plotType(const OdRxObject *)=0
virtual double getTopMargin(const OdRxObject *)=0
virtual bool getApproxExtents(const OdRxObject *, OdGePoint3d &extMin, OdGePoint3d &extMax) const =0
virtual void getStdScale(const OdRxObject *, double &scale)=0
virtual OdDbStub * getBlockId(const OdRxObject *) const =0
virtual bool isModelLayout(const OdRxObject *)=0
virtual OdResult getGeomExtents(const OdRxObject *, OdGeExtents3d &ext)=0
virtual OdString getPlotViewName(const OdRxObject *)=0
virtual bool showPlotStyles(const OdRxObject *)=0
virtual bool useStandardScale(const OdRxObject *)=0
virtual OdString name(const OdRxObject *)=0
virtual OdDbBaseDatabase * getDatabase(const OdRxObject *pLT) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseLongTransactionPE)
virtual bool workSetHas(const OdRxObject *pLT, OdDbStub *pId) const =0
virtual OdRxIteratorPtr newWorkSetIterator(const OdRxObject *pLT, bool incRemoved=false, bool incSecondary=false) const =0
virtual OdDbStub * destinationBlock(const OdRxObject *pLT) const =0
virtual OdString name(const OdRxObject *obj) const =0
virtual bool isDefault(const OdRxObject *obj) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseMaterialPE)
virtual OdDbStub * blockId(const OdRxObject *pSortents) const =0
ODRX_DECLARE_MEMBERS(OdDbBaseSortEntsPE)
ODRX_DECLARE_MEMBERS(OdDbBaseVisualStylePE)
virtual bool isInternal(const OdRxObject *obj) const =0
virtual OdString name(const OdRxObject *obj) const =0
virtual OdResult setStyleSheet(OdRxObject *pPlotSetObj, OdString styleSheet)=0
virtual OdResult setPrintScale(OdRxObject *pPlotSetObj, double numerator, double denominator)=0
virtual OdResult setPlotRotation(OdRxObject *pPlotSetObj, OdDbBaseLayoutPE::PlotRotation plotRotation)=0
virtual OdResult setPlotView(OdRxObject *pPlotSetObj, OdDbStub *plotViewId)=0
virtual OdResult setOrigin(OdRxObject *pPlotSetObj, const OdGePoint2d &origin)=0
virtual OdResult setPlotWindowArea(OdRxObject *pPlotSetObj, double xmin, double ymin, double xmax, double ymax)=0
virtual OdResult setMargins(OdRxObject *pPlotSetObj, double left, double Bottom, double right, double top)=0
virtual OdResult setPlotType(OdRxObject *pPlotSetObj, OdDbBaseLayoutPE::PlotType plotType)=0
virtual OdResult setPlotCfgName(OdRxObject *pPlotSetObj, const OdString &plotCfgName)=0
virtual OdResult setPlotPaperUnits(OdRxObject *pPlotSetObj, OdDbBaseLayoutPE::PlotPaperUnits units)=0
virtual OdResult setMediaName(OdRxObject *pPlotSetObj, OdString mediaName)=0
virtual OdResult setPlotLayoutFlags(OdRxObject *pPlotSetObj, OdInt16 flags)=0
virtual OdResult setPlotPaperSize(OdRxObject *pPlotSetObj, double paperWidth, double paperHeight)=0
ODRX_DECLARE_MEMBERS(OdDbSetBasePlotSettingsPE)
virtual OdResult setScaleFactor(OdRxObject *pPlotSetObj, double dScaleFactor)=0
virtual OdResult setStdScaleType(OdRxObject *pPlotSetObj, OdDbBaseLayoutPE::StdScaleType scaleType)=0
GLuint const GLchar * name
GLuint GLsizei GLsizei * length