CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
2 #if !defined(_FXEXTENSIONS_H_INCLUDED_)
3 #define _FXEXTENSIONS_H_INCLUDED_
5 #include "FxGeExtension.h"
218 typedef bool(* FxAssertReadEnabledCallback)(
const OdDbObject* pObject );
259 bool bIsDynamic ) = 0;
336 #ifdef FX_TOUCH_VERSION
338 virtual void ResolveCloudReferenceInBackground(
OdDbObjectId idUnresolved,
const OdString& strMasterPath,
const OdString& sreReferencePath ) = 0;
352 virtual bool GetDimensionMeasurementOverride(
const OdDbDimension* pDim,
double& dMeasurement,
const double dDimLFAC )
const;
363 virtual bool IsAlignedDimensionTextLeaderEnabled()
const;
382 eDSHDrawAsPolygons = 0x1,
409 bool m_bXDataTransformationLocked;
410 bool m_bTransformCurrentContextDataOnly;
411 bool m_bDrawImageFrameEnabled;
412 bool m_bHatchOptimizationEnabled =
false;
493 virtual bool NeedDraw(
bool bVisible,
bool bOnEdge,
bool bOnSilg ) = 0;
virtual bool IsTransformOnlyCurrentAnnotativeContextData() const
virtual void getFlipPoints(OdDbDimension *pDimension, OdDbDimensionObjectContextData *ctx, OdGePoint3dArray &flip_points)
ODRX_DECLARE_MEMBERS(CFxObjectPE)
virtual void OnObjectAboutToDestroy(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
virtual int GetSupportedAnnotationScales(OdDbObject *pObject, OdArray< OdString > &scales)
virtual OdResult getGeomExtents(const OdDbSpline *pSpline, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
virtual OdResult flatShot(const OdDbSurfacePtr pSurface, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray &result)
TOOLKIT_EXPORT CFxModelerExtension * GetFxModelerExtension()
virtual OdDbObjectIdArray ApplyModificationFilters(const OdDbObjectIdArray &objectIds)=0
virtual const OdGePoint2dArray & GetBoundaryInverted() const =0
void UnlockXDataTransformation()
virtual OdResult generateEDGES(const OdRxObjectPtrArray &curveSegments, ENTITY_LIST &edges, OdRxObjectPtr pPar=0)=0
virtual OdResult getGeomExtents(const OdDbEntity *pEntity, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
virtual bool IsConstraintsEnabled()=0
FxAssertReadEnabledCallback GetFxAssertReadEnabledCallback()
virtual int Ole2FrameCount()=0
virtual int initialize_acis()
ODRX_DECLARE_MEMBERS(OdDbFlipDimensionPE)
ODRX_DECLARE_MEMBERS(OdDbFlipDimensionPELoader)
OdDbUndoController * GetFxUndoController(OdDbDatabase *pDatabase)
virtual void OnUndoGroupBegin(OdDbDatabase *pDb)=0
bool IsXDataTransformationLocked()
virtual int GetLastUsedDimStyleIdArray(OdDbDimStyleTable *pTable, OdHardPtrIdArray &out)
virtual void OnObjectModified(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
virtual OdResult getGeomExtents(const OdDb3dPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
virtual int GetSysVarStorageType(const OdString &Name)
virtual OdResult rayTest2(OdDbEntityPtr i_pObj, const OdGePoint3d &rayBasePoint, const OdGeVector3d &rayDir, double rayRadius, OdArray< OdDbSubentId > &subEntIds, OdGeDoubleArray ¶meters)=0
virtual void getFlipPoints(OdDbDimension *pDimension, OdDbDimensionObjectContextData *ctx, OdGePoint3dArray &flip_points)=0
FxBlockWorldDrawCallback GetFxBlockWorldDrawCallback()
virtual void fxSetIgnoreTableMergeLines(OdDbTable *pTable, bool bIgnore)
virtual bool IsConstrainedDimension(const OdDbDimension *pDimension)=0
virtual OdResBufPtr GetConstraintBlockParameter(const OdString &sVarName, const OdString &sPropertyName, const OdGeMatrix3d &m=OdGeMatrix3d::kIdentity)=0
GLuint GLsizei GLsizei GLint GLenum * type
virtual OdString GetPDFFontsPath()=0
TOOLKIT_EXPORT int fxDatabasePurgeEx(OdDbDatabase *pDb, int(*pCallback)(OdDbDatabase *, void *), void *pCookie=0)
virtual ~CFxDbModificationFilter()
virtual BODY * getBodyFrom(const OdDbSurface *pSurface)=0
virtual double GetMPolygonPerimeter(const OdDbMPolygon *pMPolygon)
virtual void applyColor(OdDbEntityPtr pThis, OdDbEntityPtr pOther)
virtual bool XrefHasCircularReference(OdDbDatabase *pHostDb, OdDbBlockTableRecord *pBTR)=0
TOOLKIT_EXPORT void SetFxModelerExtension(CFxModelerExtension *pExtension)
virtual const OdUInt8Array & GetRecordData(OdDbUndoController *pController, OdUInt32 i) const =0
OdModelerGeometryPtr GetModeler(const OdDb3dSolidPtr pBody)
virtual void SetIsInsideXrefReload(bool bInsideReload)=0
virtual OdResult setPlotViewId(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, const OdDbObjectId &id) const =0
virtual bool NeedDraw(bool bVisible, bool bOnEdge, bool bOnSilg)=0
virtual OdString & ActualWriteFileName()=0
bool TOOLKIT_EXPORT geCompareArcs(const OdDbArc *pDbArc1, const OdGeCircArc3d &geArc2, OdGeX::ArcComparisonType type, const OdGeTol &geTol)
virtual bool IsMechanical() const
CFxDbModificationFilter()
OdResult fxGetDimstyleChildData(const OdRxClass *pDimClass, OdDbDimStyleTableRecordPtr &pRec, const OdDbObjectId &style)
virtual void RemoveModificationFilter(CFxDbModificationFilter *pFilter)=0
virtual void HighlightEntity(const OdDbObject *pObject, bool bDoIt, const OdDbFullSubentPath *pPath)=0
virtual void SetBoundaryInverted(OdUInt32 numoints, const OdGePoint2d *pPoints)=0
virtual BODY * getBodyFrom(const OdDbRegion *pRegion)=0
virtual OdResult getWiresFromRegion(OdDbRegionPtr pR, std::vector< BODY * > &OuterWires, std::vector< std::vector< BODY * >> &IslandsToEntity)=0
virtual bool DrawSolidHatch(OdDbHatchImpl *pImpl, OdGiContextForDbDatabase *pGiContext, OdGiGeometry &geom)
virtual void GetPaperProperties(OdDbPlotSettings *pLayout, OdGePoint3dArray &points, OdGePoint3dArray &margins)=0
virtual int DrawSolidHatchFlags()
virtual OdResult drawShells(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity)
virtual bool getFilename(const OdDbDatabase *pDatabase, OdString &result) const =0
void EnablePermanentUndo(bool bEnable)
virtual OdGiRasterImagePtr GetThumbnailImage(OdDbDatabase *pDb, int width, int height)=0
virtual int terminate_acis(int level)
virtual OdDbFcfPtr fxGetToleranceFromMLeader(OdDbMLeader *)
virtual OdResult getGeomExtents(const OdDbCircle *pCircle, OdGeExtents3d &extents, bool canQueryCache)=0
virtual ~CFxDbExtension()=0
virtual OdResult getGeomExtents(const OdDbArc *pArc, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
virtual void OnObjectErased(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
void SetFxAssertReadEnabledCallback(FxAssertReadEnabledCallback pCallback)
static void StaticExecuteInMainThread(std::function< void() > f)
virtual void OnSetPlotDevice(const OdString &sPlotDeviceName)
virtual bool IsDrawImageFrameEnabled() const
virtual bool separateRegion(OdDbRegionPtr i_region, OdRxObjectPtrArray &o_entitySet)
void AddAnonymousGroup(OdDbDictionary *pDestDict, OdDbGroup *pGroup, const OdString &sName)
void MoveXDataHidden(OdDbObject *pObj, const OdGePoint3dArray &arrStretchWindow, const OdGeMatrix3d &mToPlane, const OdGeVector3d &offset)
virtual void StartModellerInThread()=0
void MoveXDataHidden(OdDbObject *pObj, const OdGePoint3d &ptGripPoint, const OdGeVector3d &offset)
virtual OdResult getGeomExtents(const OdDbPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
void applyColor(OdDbEntityPtr pThis, OdDbEntityPtr pOther)
virtual bool IsInsideXrefReload()=0
virtual OdResult flatShotHL(const OdDbEntityPtrArray &input, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdArray< HLData > &output)
OdModelerGeometryPtr GetModeler(const OdDbRegionPtr pRegion)
void EnableHatchOptimization(bool bEnable=true)
virtual OdResult getGeomExtents(const OdDbLine *pLine, OdGeExtents3d &extents)=0
virtual void fire_layoutToBeActivated(OdDbLayoutManagerReactor *pReactor, const OdString &s, const OdDbObjectId &id) const =0
double TOOLKIT_EXPORT geGetReasonableTolerance(double dSampleValue, double dTol=1e-10)
virtual OdResult GetMPolygonArea(const OdDbMPolygon *pMPolygon, double &area)
virtual void OnObjectAppended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
virtual OdResult generateCurve(EDGE *pEdge, OdGeCurve3d *&o_pCurve)=0
virtual bool IsHighlighted(OdGiCommonDraw *pWd) const =0
virtual void fire_layoutToBeDeactivated(OdDbLayoutManagerReactor *pReactor, const OdString &s, const OdDbObjectId &id) const =0
virtual void undoWriteFinished(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
TOOLKIT_EXPORT void SetFxDbExtension(CFxDbExtension *pExtension)
virtual void AddModificationFilter(CFxDbModificationFilter *pFilter)=0
void * GetCachePointer(const OdDbObject *pObject)
virtual OdResult getGeomExtents(const OdDb2dPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
virtual OdResult getGeomExtents(const OdDbXline *pXline, OdGeExtents3d &extents, bool referenceGeometryExtents)=0
virtual ~CFxModelerExtension()=0
virtual void setDatabaseDefaults(OdDbEntity *pThis, OdDbDatabase *pDb, bool bSubEnt)=0
TOOLKIT_EXPORT bool fxIsPerformingDbUndo(const OdDbDatabase *pDb)
virtual bool EvaluateConstraintBlockParameterFromGripPoint(const OdString &sVarName, OdDbBlockGrip *pGrip)=0
virtual bool SetConstraintBlockParameter(const OdString &sVarName, const OdString &sPropertyName, const OdResBuf *rb, const OdGeMatrix3d &m=OdGeMatrix3d::kIdentity)=0
virtual OdGsViewPtr GetGsView(OdDbDatabase *pDb, bool isModelSpace)=0
void SetFxUndoReactor(OdDbDatabase *pDatabase, CFxDbUndoReactor *pReactor)
static OdDbBlockTableRecordPtr fxGetDimBlock(OdDbDimension *pDim, bool bCreateIfNotFound=false, OdDbDimensionObjectContextData *ctx=0)
bool & GetHatchGradientFill(OdDbHatchPtr pHatch)
void SetDrawOrder(const OdDbObject *pObject, int iDrawOrder)
void SetCachePointer(const OdDbObject *pObject, void *pCache)
int GetDrawOrder(const OdDbObject *pObject)
GLint GLenum GLsizei GLsizei height
virtual OdUInt32 GetRecordCount(OdDbUndoController *pController) const =0
GLint GLenum GLsizei width
bool IsHatchOptimizationEnabled() const
virtual OdResult flatShot(const OdDb3dSolidPtr pBody, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray &result)
bool & GetHatchSolidFill(OdDbHatchPtr pHatch)
virtual void fxRecomputeMLeader(OdDbMLeader *)
OdUInt32 GetDrawModes(const OdDbObject *pObject)
bool IsPermanentUndoEnabled() const
virtual void redoWriteFinished(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
virtual void SetTransformOnlyCurrentAnnotativeContextData(bool bEnable)
OdSmartPtr< OdDbFlipDimensionPE > OdDbFlipDimensionPEPtr
virtual bool BlockHasSelfReferences(OdDbObjectId idBlock, const OdString &sBlockName)=0
virtual OdResult setPlotPaperSize(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, double paperWidth, double paperHeight) const =0
virtual bool DrawDynamicConstraint(OdGiViewportDraw *pVd, const OdDbDimension *pOrigDim)=0
OdString GetNextAnonymousRecordName(OdDbDictionary *pDict)
unsigned int GetBlockChildCount(OdDbBlockTableRecord *pRecord)
virtual OdResult generateWire(const OdDbEntity *pPathCurve, BODY *&pBody)=0
virtual void ExecuteInMainThread(std::function< void() > f)
OdArray< HLOriginal > _original
virtual void * getSpaBodyEntity(OdDbEntityPtr pEnt)=0
OdSmartPtr< OdEdCommand > OdEdCommandPtr
virtual bool OnCOMObjectUpdate(const OdDbObject *pDbObj)=0
virtual void * getBodyFromEntity(OdDbEntityPtr i_pEnt)=0
virtual void OnUndoGroupEnd(OdDbDatabase *pDb)=0
virtual bool getCentroid(OdDbRegionPtr i_region, OdGePoint2d &o_center)
virtual PatternQuality CheckPattern(OdHatchPattern *pPattern, double pixelSize)=0
virtual void DrawDimensionalConstraintIcon(OdGiViewportDraw *pVd, const OdDbBlockTableRecord *pBTR, const OdDbDimension *pDimension, bool bIsDynamic)=0
void SetFxBlockWorldDrawCallback(FxBlockWorldDrawCallback pCallback)
virtual OdResult drawEdges(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity)
virtual void undoWriteStarted(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
bool TOOLKIT_EXPORT geConvertToGeObject(const OdDbArc *pDbArc, OdGeCircArc3d &geArc, bool canQueryDbExtents=true)
void SetDrawModes(const OdDbObject *pObject, OdUInt32 iDrawModes)
TOOLKIT_EXPORT CFxDbExtension * GetFxDbExtension()
virtual OdResult getGeomExtents(const OdDbEllipse *pEllipse, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
virtual void OnOle2FrameCreate()=0
virtual void OnObjectUnappended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
virtual void setBodyFor(ENTITY_LIST *pNewFile, AfTypeVer typeVer, OdDbRegionPtr &offsetregion)=0
bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbLine *pLine, OdGeExtents3d &extents)
virtual OdResult GetSimplifiedExtents(const OdDbEntity *pEnt, OdGeExtents3d &extents)=0
virtual void InitOle2FrameCount()=0
virtual OdResult setStyleSheet(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, const OdString &styleSheetName) const =0
virtual void EnableDrawImageFrame(bool bEnable)
virtual OdResult generateEDGES(const OdRxObjectPtr &pIt, EDGE *&edge, bool negative=false)=0
virtual void getFlipPoints(OdDbDimension *pDimension, OdGePoint3dArray &flip_points)
virtual bool IsPDFUnderlayEnabled()=0
virtual void FlushGraphics(OdDbDatabase *pDatabase, const OdDbObject *pObject)
virtual bool purge(const OdDbDatabase *pDatabase, OdDbObjectIdArray &objectIds) const =0
OdDbHatchPtr CreateHatchFromBlkRef(OdDbBlockReferencePtr pObj)
OdDbUndoController * GetFxRedoController(OdDbDatabase *pDatabase)
virtual bool AutoloadApp(const OdString appName)=0
virtual bool IsDynamicDimensionVisibleOnLoading(const OdDbDimension *pDimension)=0
virtual bool intersectWith(const OdDbSpline *pThis, const OdGeCurve3d *intersectingCurve, int &intn, OdGePoint3dArray &IntPtArr, const OdGeTol &tol) const =0
virtual void fxSetAttMTextWidth(OdDbAttributeDefinition *pDef, double width)
OdModelerGeometryPtr GetModeler(const OdDbSurfacePtr pSurface)
virtual void ConstraintAuditDatabase(OdDbDatabase *pDb, OdDbAuditInfo *pInfo)=0
virtual void applyColor(OdModelerGeometry *p, OdCmColor color)=0
OdDbObjectId fxGetDimstyleChildId(const OdRxClass *pDimClass, const OdDbObjectId &style)
virtual OdResult drawSilhouettes(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity, CFxSilhouetteVisiblityCallback *pCallback=0)
virtual void fxSetToleranceToMLeader(OdDbMLeader *, const OdDbFcf *, int)
TOOLKIT_EXPORT OdHandleTree * oddbGetHandleTree(OdDbDatabase *pDb)
void LockXDataTransformation()
virtual bool IsDrawAttDefsEnabled() const =0
unsigned int GetBlockNumRefs(OdDbBlockTableRecord *pRecord)
virtual OdResult setMargins(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, double leftMargin, double topMargin, double rightMargin, double bottomMargin) const =0
virtual OdResult getGeomExtents(const OdDbRay *pRay, OdGeExtents3d &extents, bool referenceGeometryExtents)=0
virtual OdResult getGeomExtents(const OdDbBlockReference *pBlockRef, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
virtual OdGiRasterImagePtr GetThumbnailImage2(OdDbDatabase *pDb, int width, int height)=0
double fxZeroDimscale(OdDbDatabase *pDb)
virtual void redoWriteStarted(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
virtual int GetMPolygonClosestLoopTo(const OdDbMPolygon *pMPolygon, const OdGePoint3d &worldPt)
virtual OdResult AuditDualDimPlaceholder(OdDbDatabase *pDb, OdDbAuditInfo *pInfo)
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
virtual OdResult getSubentities(OdDb3dSolidPtr i_pSolid, OdDb::SubentType i_type, OdDbFullSubentPathArray &o_subentPaths)
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
virtual double fxGetAttMTextWidth(const OdDbAttributeDefinition *pDef)
OdResult TranslateEntity(OdDbEntity *pObj, const OdGeVector3d &offset)
virtual int AuditMTextContents(OdString &sMTextContents)
virtual bool GetUndoList(OdDbDatabase *pDb, OdStringArray &commands, bool bRedo=false)
virtual bool GetSystemVariableRange(OdResBufPtr &Min, OdResBufPtr &Max, const OdString &Name)
OdDbObjectId fxGetDimstyleParentId(const OdDbObjectId &childStyle)
virtual ~CFxSilhouetteVisiblityCallback()
OdSmartPtr< CFxObjectPE > CFxObjectPEPtr
virtual OdDbObjectIdArray FilterObjects(const OdDbObjectIdArray &objectIds) const =0
virtual bool getBodyTransform(const BODY *body, OdGeMatrix3d &mx)=0
virtual int AddIdToLastUsedDimStyleIdArray(OdDbDimStyleTable *pTable, OdDbObjectId &id)
bool IsUndoingBlock(const OdDbDatabase *pDb)
virtual void OnObjectReappended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
virtual BODY * getBodyFrom(const OdDb3dSolid *pSolid)=0
virtual void getFlipPoints(OdDbDimension *pDimension, OdGePoint3dArray &flip_points)
virtual void GetHatchPatternSize(const OdDbHatch *pHatch, double &dPatternSize, double &dMaxDashLength, bool &bCanUseSolidOptimization)
virtual bool & SuppressWriteFileEvents()=0
virtual void EnableDrawAttDefs(bool bEnable)=0
OdRxObject OdDbBaseDatabase
virtual bool countHardReferences(const OdDbDatabase *pDatabase, const OdDbObjectIdArray &objectIds, OdUInt32 *counts) const =0