CFx SDK Documentation  2020SP3
FxDbExtension.h
Go to the documentation of this file.
1 //FELIX_CHANGE_BEGIN
2 #if !defined(_FXEXTENSIONS_H_INCLUDED_)
3 #define _FXEXTENSIONS_H_INCLUDED_
4 
5 #include "FxGeExtension.h"
6 
7 #include "OdaCommon.h"
8 
9 #include "TD_PackPush.h"
10 #include "DbExport.h"
11 #include "DbEvalWatchers.h"
12 #include "DbDimension.h"
13 #include "Db3dSolid.h"
14 #include <ModelerGeometry.h>
15 #include "Gi/GiRasterImage.h"
16 #include "DbBlockReference.h"
17 #include "Gs/Gs.h"
18 #include "DbMLeader.h"
19 #include "DbFcf.h"
20 #include "DbSpline.h"
21 #include "DbEllipse.h"
22 #include <DbMPolygon.h>
23 
24 #include <vector>
25 #include <list>
26 #include <functional>
27 
28 class OdGiLinetyper;
29 class OdRxDynamicLinker;
31 class OdEdCommandStack;
32 class OdEdCommandContext;
33 
34 class OdEdCommand;
36 
37 class OdDbPlotSettings;
39 class OdDbBaseDatabasePE;
40 
41 class OdDbLine;
42 class OdDbXline;
43 class OdDbRay;
44 class OdDbArc;
45 class OdDbCircle;
46 class OdDbEllipse;
47 class OdDbPolyline;
48 class OdDb2dPolyline;
49 class OdDb3dPolyline;
50 class OdDbSpline;
51 class OdGeExtents3d;
52 class OdDbGroup;
53 class OdDbFcf;
54 class OdDbMText;
55 class OdDbLeader;
56 class OdDbTable;
57 class OdDbMPolygon;
58 
59 class OdDbEntity;
60 class OdDbBlockReference;
61 class OdDbRasterImageDef;
62 class OdModelerGeometry;
63 
64 class OdGeCircArc3d;
65 class OdGeEllipArc3d;
68 
69 class OdDbBlockGrip;
71 class ENTITY_LIST;
72 class EDGE;
73 class SPAposition;
74 class SPApar_pos;
75 class SPAvector;
76 class SPAunit_vector;
77 class SPApar_vec;
78 class SPAunit_vector;
79 class SPAtransf;
80 class OdGeMatrix3d;
81 class BODY;
82 
83 class OdDbHatchImpl;
85 
86 // The special filter for removing extra entities from the
87 // selection set before transformations
89 {
90 public:
93  virtual OdDbObjectIdArray FilterObjects( const OdDbObjectIdArray& objectIds ) const = 0;
94 
95 };
96 
98 {
99 public:
100  virtual void undoWriteStarted( OdDbDatabase* pDatabase, OdDbDwgFiler* pFiler ) = 0;
101  virtual void undoWriteFinished( OdDbDatabase* pDatabase, OdDbDwgFiler* pFiler ) = 0;
102  virtual void redoWriteStarted( OdDbDatabase* pDatabase, OdDbDwgFiler* pFiler ) = 0;
103  virtual void redoWriteFinished( OdDbDatabase* pDatabase, OdDbDwgFiler* pFiler ) = 0;
104 };
105 
107 {
108 public:
109  virtual ~CFxDbExtension() = 0;
110 
111 public:
112  virtual bool getFilename(const OdDbDatabase* pDatabase, OdString& result) const = 0;
113  virtual bool purge(const OdDbDatabase* pDatabase,
114  OdDbObjectIdArray& objectIds) const = 0;
115  virtual bool countHardReferences(const OdDbDatabase* pDatabase,
116  const OdDbObjectIdArray& objectIds,
117  OdUInt32* counts) const = 0;
118 
119  virtual void fire_layoutToBeActivated(OdDbLayoutManagerReactor* pReactor, const OdString& s, const OdDbObjectId& id) const = 0;
120  virtual void fire_layoutToBeDeactivated(OdDbLayoutManagerReactor* pReactor, const OdString& s, const OdDbObjectId& id) const = 0;
121 
122  virtual OdResult setPlotViewId(OdDbPlotSettingsValidator* pValidator, OdDbPlotSettings* pPlotSet, const OdDbObjectId& id) const = 0;
123  virtual OdResult setPlotPaperSize(OdDbPlotSettingsValidator* pValidator, OdDbPlotSettings* pPlotSet, double paperWidth, double paperHeight) const = 0;
124  virtual OdResult setMargins(OdDbPlotSettingsValidator* pValidator, OdDbPlotSettings* pPlotSet, double leftMargin, double topMargin, double rightMargin, double bottomMargin) const = 0;
125  //29524: need this functions to keep not existing plot style in plot settings
126  virtual OdResult setStyleSheet(OdDbPlotSettingsValidator* pValidator, OdDbPlotSettings* pPlotSet, const OdString& styleSheetName) const = 0;
127 
128  virtual void OnObjectAboutToDestroy( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
129  virtual void OnObjectModified( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
130  virtual void OnObjectAppended( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
131  virtual void OnObjectUnappended( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
132  virtual void OnObjectReappended( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
133  virtual void OnObjectErased( OdDbDatabase* pDatabase, const OdDbObject* pObject ) = 0;
134 
135  virtual void FlushGraphics( OdDbDatabase* pDatabase, const OdDbObject* pObject );
136 
137  virtual bool intersectWith( const OdDbSpline* pThis, const OdGeCurve3d* intersectingCurve, int& intn, OdGePoint3dArray& IntPtArr, const OdGeTol& tol ) const = 0;
138 
139  virtual OdResult getGeomExtents(const OdDbLine* pLine,OdGeExtents3d& extents) = 0;
140  virtual OdResult getGeomExtents(const OdDbXline* pXline,OdGeExtents3d& extents,bool referenceGeometryExtents) = 0;
141  virtual OdResult getGeomExtents(const OdDbRay* pRay,OdGeExtents3d& extents,bool referenceGeometryExtents) = 0;
142  virtual OdResult getGeomExtents(const OdDbArc* pArc,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache) = 0;
143  virtual OdResult getGeomExtents(const OdDbCircle* pCircle,OdGeExtents3d& extents,bool canQueryCache) = 0;
144  virtual OdResult getGeomExtents(const OdDbEllipse* pEllipse,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache) = 0;
145  virtual OdResult getGeomExtents(const OdDbPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache) = 0;
146  virtual OdResult getGeomExtents(const OdDb2dPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache) = 0;
147  virtual OdResult getGeomExtents(const OdDb3dPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache) = 0;
148  virtual OdResult getGeomExtents(const OdDbSpline* pSpline,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache) = 0;
149 
150  virtual OdResult getGeomExtents(const OdDbBlockReference* pBlockRef,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache) = 0;
151 
152  virtual OdResult getGeomExtents(const OdDbEntity* pEntity,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache) = 0;
153 
154  virtual OdResult GetSimplifiedExtents(const OdDbEntity* pEnt,OdGeExtents3d& extents) = 0;
155 
156  virtual bool XrefHasCircularReference( OdDbDatabase* pHostDb, OdDbBlockTableRecord* pBTR ) = 0;
157  virtual bool BlockHasSelfReferences( OdDbObjectId idBlock, const OdString& sBlockName ) = 0;
158 
159  virtual bool& SuppressWriteFileEvents() = 0;
161 
162  virtual void SetIsInsideXrefReload( bool bInsideReload ) = 0;
163  virtual bool IsInsideXrefReload() = 0;
164 
165  virtual void OnOle2FrameCreate() = 0;
166  virtual void InitOle2FrameCount() = 0;
167  virtual int Ole2FrameCount() = 0;
168 
169  virtual OdString GetPDFFontsPath() = 0;
170  virtual bool IsPDFUnderlayEnabled() = 0;
171 
174 
175  virtual void OnUndoGroupBegin( OdDbDatabase* pDb ) = 0;
176  virtual void OnUndoGroupEnd( OdDbDatabase* pDb ) = 0;
177 
178  virtual OdGsViewPtr GetGsView( OdDbDatabase* pDb, bool isModelSpace ) = 0;
179 
180  //FELIX_CHANGE_BEGIN #03097
183  //FELIX_CHANGE_END #03097
184 
185  virtual void HighlightEntity( const OdDbObject* pObject, bool bDoIt, const OdDbFullSubentPath* pPath ) = 0;
186 
187  virtual const OdUInt8Array& GetRecordData( OdDbUndoController* pController , OdUInt32 i ) const = 0;
188 
189  virtual OdUInt32 GetRecordCount( OdDbUndoController* pController ) const = 0;
190 
191  virtual void SetBoundaryInverted( OdUInt32 numoints, const OdGePoint2d* pPoints ) = 0;
192  virtual const OdGePoint2dArray& GetBoundaryInverted() const = 0;
193 public:
194  virtual double fxGetAttMTextWidth( const OdDbAttributeDefinition* pDef );
195  virtual void fxSetAttMTextWidth( OdDbAttributeDefinition* pDef, double width );
196  virtual int AuditMTextContents( OdString& sMTextContents );
197 
198  virtual void fxSetIgnoreTableMergeLines( OdDbTable* pTable, bool bIgnore );
199 
200 
201  virtual void SetTransformOnlyCurrentAnnotativeContextData( bool bEnable);
204 
205  void SetCachePointer( const OdDbObject* pObject, void* pCache );
206  void* GetCachePointer( const OdDbObject* pObject );
207 
208  void SetDrawOrder( const OdDbObject* pObject, int iDrawOrder );
209  int GetDrawOrder( const OdDbObject* pObject );
210 
211  void SetDrawModes( const OdDbObject* pObject, OdUInt32 iDrawModes );
212  OdUInt32 GetDrawModes( const OdDbObject* pObject );
213 
214  // no need to support AcRx anymore
215  //void OdDbStub_setAcRxPtr( void *pOdDbStub, void *pArxPtr );
216  //void* OdDbStub_getArxPtr( void* pOdDbStub );
217 
218  typedef bool(* FxAssertReadEnabledCallback)( const OdDbObject* pObject );
219 
220  void SetFxAssertReadEnabledCallback( FxAssertReadEnabledCallback pCallback );
221  FxAssertReadEnabledCallback GetFxAssertReadEnabledCallback();
222 
223  OdDbObjectId fxGetDimstyleChildId( const OdRxClass* pDimClass, const OdDbObjectId& style );
226 
227  void applyColor( OdDbEntityPtr pThis, OdDbEntityPtr pOther );
228 
229  void AddAnonymousGroup( OdDbDictionary* pDestDict, OdDbGroup* pGroup, const OdString& sName );
231 
232  // Modifies 1011 group of object xdata whithout notification. Called from STRETCH and GRIP_EDIT commands
233  void MoveXDataHidden( OdDbObject* pObj, const OdGePoint3dArray& arrStretchWindow, const OdGeMatrix3d& mToPlane, const OdGeVector3d& offset );
234  void MoveXDataHidden( OdDbObject* pObj, const OdGePoint3d& ptGripPoint, const OdGeVector3d& offset );
235 
236  // Transfrom entity without calling xDataTransformBy.
238 
242 
243  typedef void(* FxBlockWorldDrawCallback)( const OdDbBlockTableRecord* pObject, OdGiWorldDraw* pWd );
244  void SetFxBlockWorldDrawCallback( FxBlockWorldDrawCallback pCallback );
245  FxBlockWorldDrawCallback GetFxBlockWorldDrawCallback();
246 
247  bool IsUndoingBlock( const OdDbDatabase* pDb );
248 
250 
251  double fxZeroDimscale( OdDbDatabase* pDb );
252 
253  static OdDbBlockTableRecordPtr fxGetDimBlock(OdDbDimension* pDim, bool bCreateIfNotFound = false, OdDbDimensionObjectContextData* ctx = 0);
254 
255  // Displays the special icon for constrained dimension
257  const OdDbBlockTableRecord* pBTR,
258  const OdDbDimension* pDimension,
259  bool bIsDynamic ) = 0;
260 
261  // Returns true if dimensional constraint is annotational
262  virtual bool IsConstrainedDimension( const OdDbDimension* pDimension ) = 0;
263 
264  // Dynamic DC viewportDraw override
265  virtual bool DrawDynamicConstraint( OdGiViewportDraw* pVd, const OdDbDimension* pOrigDim ) = 0;
266 
267  // Audit for constraints
268  virtual void ConstraintAuditDatabase( OdDbDatabase* pDb, OdDbAuditInfo* pInfo ) = 0;
269 
270  // Audit for incorrect DIMAPOST value ("<>" instead of "[]")
272 
273  // Returns true if the constraint module is loaded
274  virtual bool IsConstraintsEnabled() = 0;
275 
276  // Returns the property value from the block constraint parameter
277  virtual OdResBufPtr GetConstraintBlockParameter( const OdString& sVarName, const OdString& sPropertyName, const OdGeMatrix3d& m = OdGeMatrix3d::kIdentity ) = 0;
278 
279  // Sets the new property value to the block constraint parameter
280  virtual bool SetConstraintBlockParameter( const OdString& sVarName, const OdString& sPropertyName, const OdResBuf* rb, const OdGeMatrix3d& m = OdGeMatrix3d::kIdentity ) = 0;
281 
282  // Evaluate the constraint block parameter by the grip editing
283  virtual bool EvaluateConstraintBlockParameterFromGripPoint( const OdString& sVarName, OdDbBlockGrip* pGrip ) = 0;
284 
285  virtual bool IsDynamicDimensionVisibleOnLoading( const OdDbDimension* pDimension ) = 0;
286 
287  virtual void EnableDrawAttDefs( bool bEnable ) = 0;
288  virtual bool IsDrawAttDefsEnabled() const = 0;
289 
290  virtual void EnableDrawImageFrame( bool bEnable );
291  virtual bool IsDrawImageFrameEnabled() const;
292 
294  virtual void fxSetToleranceToMLeader( OdDbMLeader*, const OdDbFcf*, int );
295  virtual void fxRecomputeMLeader( OdDbMLeader* );
296 
297  virtual bool GetUndoList( OdDbDatabase* pDb, OdStringArray& commands, bool bRedo = false );
298 
301 
303  {
304  kSolid = 0x0,
307  kFullyRecognizable
308  };
309 
310  virtual PatternQuality CheckPattern( OdHatchPattern* pPattern, double pixelSize ) = 0;
311 
312  void EnableHatchOptimization( bool bEnable = true );
313 
315 
316  void EnablePermanentUndo( bool bEnable );
317 
319 
321 
323 
324  void SetFxUndoReactor( OdDbDatabase* pDatabase, CFxDbUndoReactor* pReactor );
325 
326  unsigned int GetBlockChildCount( OdDbBlockTableRecord* pRecord );
327 
328  unsigned int GetBlockNumRefs( OdDbBlockTableRecord* pRecord );
329 
330  virtual void GetPaperProperties( OdDbPlotSettings* pLayout, OdGePoint3dArray& points, OdGePoint3dArray& margins ) = 0;
331 
332  virtual void AddModificationFilter( CFxDbModificationFilter* pFilter ) = 0;
333  virtual void RemoveModificationFilter( CFxDbModificationFilter* pFilter ) = 0;
335 
336 #ifdef FX_TOUCH_VERSION
337  void ResetImageDefFoundFlag( OdDbRasterImageDef* pDef );
338  virtual void ResolveCloudReferenceInBackground( OdDbObjectId idUnresolved, const OdString& strMasterPath, const OdString& sreReferencePath ) = 0;
339 #endif
340 
341 #ifdef XENON
342  // XENON-440
343  virtual void AssertThreadIsCorrect(OdDbObjectId, OdDb::OpenMode) const;
344 
345  // XENON-13388 etc.
346  void DrawMTextBackground( OdDbMText*, OdGiWorldDraw* pWd ) const;
347 
348  // XENON-13248
349  void GetOdDbLeaderPoints( OdDbLeader* pLeader, OdGiCommonDraw* pWd, OdGePoint3dArray& pts ) const;
350 
351  // A callback for overriding dimension measurements for broken-view dimensions.
352  virtual bool GetDimensionMeasurementOverride( const OdDbDimension* pDim, double& dMeasurement, const double dDimLFAC ) const;
353 
354  // XENON-18942: a callback for handling singular cases of 2-line angular dimension. Returns false by default.
355  virtual bool IsSingular2LineAngularDim( const OdGePoint3d& line1Start, const OdGePoint3d& line1End,
356  const OdGePoint3d& line2Start, const OdGePoint3d& line2End,
357  const OdGeVector3d& vNormal, OdGePoint3d* pptSingularCenter = 0 ) const;
358 
359  // Copy fields in extension dictionary. Supports non-DBRO objects and may be used in trackers/previews.
360  virtual void CopyFields( OdDbObject* pSrc, OdDbObject* pDst ) const;
361 
362  //XENON-6368: suppress aligned dimension leader in some cases
363  virtual bool IsAlignedDimensionTextLeaderEnabled() const;
364 
365  //FELIX_CHANGE_BEGIN
366  //Get holes indexes from total number of hatch loops
367  bool getHoleLoopsIndexes(OdDbHatchPtr pHatch, OdGeIntArray& holes) const;
368  //FELIX_CHANGE_END
369 #endif
370 
371  // Check if any highlight draw decoration is required
372  // TODO: support highlight method by GS
373  virtual bool IsHighlighted( OdGiCommonDraw* pWd ) const = 0;
374 
375  virtual bool OnCOMObjectUpdate( const OdDbObject* pDbObj ) = 0;
376  virtual bool AutoloadApp( const OdString appName) = 0;
377 
378  virtual bool DrawSolidHatch( OdDbHatchImpl* pImpl, OdGiContextForDbDatabase* pGiContext, OdGiGeometry& geom );
379  enum
380  {
381  eDSHNone = 0x0,
382  eDSHDrawAsPolygons = 0x1,
383  };
384  virtual int DrawSolidHatchFlags();
385 
386  virtual void GetHatchPatternSize( const OdDbHatch* pHatch, double& dPatternSize, double& dMaxDashLength, bool& bCanUseSolidOptimization );
387 
388  static void StaticExecuteInMainThread( std::function< void() > f );
389  virtual void ExecuteInMainThread( std::function< void() > f );
390 
391  virtual bool IsMechanical() const;
392 
393 public:
394  // Missing methods for MPolygon
395  virtual double GetMPolygonPerimeter( const OdDbMPolygon* pMPolygon );
396  virtual int GetMPolygonClosestLoopTo( const OdDbMPolygon* pMPolygon, const OdGePoint3d& worldPt );
397  virtual OdResult GetMPolygonArea(const OdDbMPolygon* pMPolygon, double & area);
398 
399 //SystemVariable collection
400 public:
401  virtual bool GetSystemVariableRange( OdResBufPtr &Min, OdResBufPtr &Max, const OdString& Name );
402  virtual int GetSysVarStorageType( const OdString& Name );
403  virtual void OnSetPlotDevice( const OdString& sPlotDeviceName );
404 
405 protected:
407 
408 private:
409  bool m_bXDataTransformationLocked;
410  bool m_bTransformCurrentContextDataOnly;
411  bool m_bDrawImageFrameEnabled;
412  bool m_bHatchOptimizationEnabled = false;
413 };
414 
415 class OdHandleTree;
417 
419 
420 // XENON Garbage collection.
421 TOOLKIT_EXPORT int fxDatabasePurgeEx( OdDbDatabase* pDb, int( *pCallback )( OdDbDatabase*, void* ), void* pCookie = 0 );
422 
425 
427 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbXline* pXline,OdGeExtents3d& extents,bool referenceGeometryExtents);
428 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbRay* pRay,OdGeExtents3d& extents,bool referenceGeometryExtents);
429 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbArc* pArc,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache);
430 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbCircle* pCircle,OdGeExtents3d& extents,bool canQueryCache);
431 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbEllipse* pEllipse,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache);
432 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache);
433 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDb2dPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache);
434 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDb3dPolyline* pPline,OdGeExtents3d& extents,bool canQueryCache);
435 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbSpline* pSpline,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache);
436 
437 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbBlockReference* pBlockRef,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache);
438 
439 bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbEntity* pEntity,OdGeExtents3d& extents,bool referenceGeometryExtents,bool canQueryCache);
440 
441 bool TOOLKIT_EXPORT geCompareArcs(const OdDbArc* pDbArc1,const OdGeCircArc3d& geArc2,OdGeX::ArcComparisonType type,const OdGeTol& geTol);
442 bool TOOLKIT_EXPORT geCompareArcs(const OdDbEllipse* pDbArc1,const OdGeEllipArc3d& geArc2,OdGeX::ArcComparisonType type,const OdGeTol& geTol);
443 
444 bool TOOLKIT_EXPORT geConvertToGeObject(const OdDbArc* pDbArc,OdGeCircArc3d& geArc,bool canQueryDbExtents = true);
446 bool TOOLKIT_EXPORT geConvertToGeObject(const OdDbEllipse* ellipse,OdGeEllipArc3d& geEllipse,bool canQueryDbExtents = true);
447 
448 // returns tolerance adjusted for FPU comparison of values like dSampleValue
449 // returns original dTol value for small enough dSampleValue.
450 double TOOLKIT_EXPORT geGetReasonableTolerance(double dSampleValue, double dTol = 1e-10 );
451 
453 {
454 public:
456 // Issues 27388, 27702, 27428
457 // These function retrieve the flip points by invoking
458 // OdDimRecomputor::buildDimension
459  virtual void getFlipPoints(
460  OdDbDimension* pDimension,
461  OdGePoint3dArray &flip_points);
462 protected:
463  virtual void getFlipPoints(
464  OdDbDimension* pDimension,
466  OdGePoint3dArray &flip_points) = 0;
467 };
469 
471 {
472 public:
474  virtual void getFlipPoints(
475  OdDbDimension* pDimension,
476  OdGePoint3dArray &flip_points);
477 protected:
478  virtual void getFlipPoints(
479  OdDbDimension* pDimension,
481  OdGePoint3dArray &flip_points);
482 private:
483  OdDbFlipDimensionPEPtr getRecomputer(OdDbDimension* pDim);
484 };
485 
486 //---------------------------------------------------------------------------------------------------------------------
487 
489 {
490 public:
492 
493  virtual bool NeedDraw( bool bVisible, bool bOnEdge, bool bOnSilg ) = 0;
494 
495 };
496 
498 {
499 public:
500  virtual ~CFxModelerExtension() = 0;
501 
502  //FELIX_CHANGE_BEGIN
503  virtual OdResult generateEDGES( const OdRxObjectPtrArray& curveSegments, ENTITY_LIST &edges, OdRxObjectPtr pPar = 0 ) = 0;
504 
505  virtual OdResult generateEDGES( const OdRxObjectPtr& pIt, EDGE *&edge, bool negative = false ) = 0;
506 
507  virtual OdResult generateWire( const OdDbEntity* pPathCurve, BODY *&pBody ) = 0;
508 
509  virtual bool getBodyTransform( const BODY *body, OdGeMatrix3d &mx ) = 0;
510 
511  virtual OdResult generateCurve( EDGE *pEdge, OdGeCurve3d *&o_pCurve ) = 0;
512 
513  virtual void StartModellerInThread() = 0;
514 
515  // Cast result pointer to proper class before using. Pointer can also be null depending on the implementation.
516  virtual void *getSpaBodyEntity( OdDbEntityPtr pEnt ) = 0;
517 
518  virtual void *getBodyFromEntity( OdDbEntityPtr i_pEnt ) = 0;
519 
520  virtual OdResult getWiresFromRegion( OdDbRegionPtr pR, std::vector<BODY *> &OuterWires, std::vector<std::vector<BODY *>> &IslandsToEntity ) = 0;
521 
522  virtual void setBodyFor( ENTITY_LIST* pNewFile, AfTypeVer typeVer, OdDbRegionPtr &offsetregion ) = 0;
523 
524  virtual BODY *getBodyFrom( const OdDbRegion *pRegion ) = 0;
525  virtual BODY *getBodyFrom( const OdDbSurface *pSurface ) = 0;
526  virtual BODY *getBodyFrom( const OdDb3dSolid *pSolid ) = 0;
527 
528  virtual OdResult rayTest2( OdDbEntityPtr i_pObj,
529  const OdGePoint3d& rayBasePoint,
530  const OdGeVector3d& rayDir,
531  double rayRadius,
532  OdArray<OdDbSubentId> & subEntIds,
533  OdGeDoubleArray& parameters ) = 0;
534 
535  //FELIX_CHANGE_END
536 
537  virtual void applyColor( OdDbEntityPtr pThis, OdDbEntityPtr pOther );
538 
539  virtual OdResult flatShot( const OdDb3dSolidPtr pBody,
540  const OdGePoint3d& eye_pos, const OdGePoint3d& target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray& result );
541 
542  virtual OdResult flatShot( const OdDbSurfacePtr pSurface,
543  const OdGePoint3d& eye_pos, const OdGePoint3d& target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray& result );
544 
545  struct HLData
546  {
548  int _flags;
549  struct HLOriginal
550  {
553  };
555  };
556 
557  virtual OdResult flatShotHL( const OdDbEntityPtrArray& input,
558  const OdGePoint3d& eye_pos, const OdGePoint3d& target_pos, bool bPersepcitveProjection, OdArray<HLData>& output );
559 
560  virtual int initialize_acis();
561 
562  virtual int terminate_acis(int level);
563 
564  // finds Center of i_region
565  virtual bool getCentroid( OdDbRegionPtr i_region, OdGePoint2d &o_center );
566 
567  // separates i_region to a set of connected components (lumbs)
568  virtual bool separateRegion( OdDbRegionPtr i_region, OdRxObjectPtrArray &o_entitySet );
569  // get all faces or all edges for OdDb3dSolid
571  OdDb::SubentType i_type,
572  OdDbFullSubentPathArray& o_subentPaths );
573 
574  virtual OdResult drawShells( OdGiViewportDraw* pViewportDraw, OdDbEntityPtr pEntity );
575  virtual OdResult drawEdges( OdGiViewportDraw* pViewportDraw, OdDbEntityPtr pEntity );
576 
577  virtual OdResult drawSilhouettes( OdGiViewportDraw* pViewportDraw, OdDbEntityPtr pEntity, CFxSilhouetteVisiblityCallback* pCallback = 0 );
578 
579 protected:
580  virtual void applyColor( OdModelerGeometry* p, OdCmColor color ) = 0;
581 
583 
585 
587 
589 };
590 
593 
595 {
596 public:
598 
599  virtual void setDatabaseDefaults( OdDbEntity* pThis, OdDbDatabase *pDb,bool bSubEnt) = 0;
600 };
602 
603 #endif
604 //FELIX_CHANGE_END
CFxSilhouetteVisiblityCallback
Definition: FxDbExtension.h:489
CFxDbExtension::IsTransformOnlyCurrentAnnotativeContextData
virtual bool IsTransformOnlyCurrentAnnotativeContextData() const
OdResult
OdResult
Definition: OdResult.h:29
OdDbFlipDimensionPELoader::getFlipPoints
virtual void getFlipPoints(OdDbDimension *pDimension, OdDbDimensionObjectContextData *ctx, OdGePoint3dArray &flip_points)
CFxObjectPE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(CFxObjectPE)
CFxDbExtension::OnObjectAboutToDestroy
virtual void OnObjectAboutToDestroy(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
CFxDbExtension::GetSupportedAnnotationScales
virtual int GetSupportedAnnotationScales(OdDbObject *pObject, OdArray< OdString > &scales)
DbExport.h
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbSpline *pSpline, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
CFxModelerExtension::flatShot
virtual OdResult flatShot(const OdDbSurfacePtr pSurface, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray &result)
OdGeVector3d
Definition: GeVector3d.h:54
AfTypeVer
int AfTypeVer
Definition: ModelerDefs.h:29
OdString
Definition: OdString.h:95
GetFxModelerExtension
TOOLKIT_EXPORT CFxModelerExtension * GetFxModelerExtension()
CFxDbExtension::ApplyModificationFilters
virtual OdDbObjectIdArray ApplyModificationFilters(const OdDbObjectIdArray &objectIds)=0
CFxDbExtension::GetBoundaryInverted
virtual const OdGePoint2dArray & GetBoundaryInverted() const =0
OdDbDatabase
Definition: DbDatabase.h:421
CFxDbExtension::UnlockXDataTransformation
void UnlockXDataTransformation()
CFxModelerExtension::generateEDGES
virtual OdResult generateEDGES(const OdRxObjectPtrArray &curveSegments, ENTITY_LIST &edges, OdRxObjectPtr pPar=0)=0
OdDbBlockReference
Definition: DbBlockReference.h:57
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbEntity *pEntity, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
OdRxObjectPtr
Definition: RxObject.h:345
CFxDbExtension::IsConstraintsEnabled
virtual bool IsConstraintsEnabled()=0
GiRasterImage.h
CFxDbExtension::GetFxAssertReadEnabledCallback
FxAssertReadEnabledCallback GetFxAssertReadEnabledCallback()
CFxDbExtension::Ole2FrameCount
virtual int Ole2FrameCount()=0
CFxDbModificationFilter
Definition: FxDbExtension.h:89
CFxModelerExtension::initialize_acis
virtual int initialize_acis()
OdDbFlipDimensionPE::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbFlipDimensionPE)
OdDbFlipDimensionPELoader::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdDbFlipDimensionPELoader)
CFxDbExtension::GetFxUndoController
OdDbUndoController * GetFxUndoController(OdDbDatabase *pDatabase)
CFxDbExtension::OnUndoGroupBegin
virtual void OnUndoGroupBegin(OdDbDatabase *pDb)=0
CFxDbExtension::IsXDataTransformationLocked
bool IsXDataTransformationLocked()
CFxDbExtension::GetLastUsedDimStyleIdArray
virtual int GetLastUsedDimStyleIdArray(OdDbDimStyleTable *pTable, OdHardPtrIdArray &out)
CFxDbExtension::OnObjectModified
virtual void OnObjectModified(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
CFxObjectPE
Definition: FxDbExtension.h:595
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDb3dPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
CFxDbExtension::GetSysVarStorageType
virtual int GetSysVarStorageType(const OdString &Name)
CFxModelerExtension::rayTest2
virtual OdResult rayTest2(OdDbEntityPtr i_pObj, const OdGePoint3d &rayBasePoint, const OdGeVector3d &rayDir, double rayRadius, OdArray< OdDbSubentId > &subEntIds, OdGeDoubleArray &parameters)=0
OdDbFlipDimensionPE::getFlipPoints
virtual void getFlipPoints(OdDbDimension *pDimension, OdDbDimensionObjectContextData *ctx, OdGePoint3dArray &flip_points)=0
tol
tol
Definition: DimVarDefs.h:2287
CFxDbExtension::GetFxBlockWorldDrawCallback
FxBlockWorldDrawCallback GetFxBlockWorldDrawCallback()
CFxDbExtension::fxSetIgnoreTableMergeLines
virtual void fxSetIgnoreTableMergeLines(OdDbTable *pTable, bool bIgnore)
CFxDbExtension::IsConstrainedDimension
virtual bool IsConstrainedDimension(const OdDbDimension *pDimension)=0
OdDbDimensionObjectContextData
Definition: DbObjectContextData.h:292
CFxDbExtension::GetConstraintBlockParameter
virtual OdResBufPtr GetConstraintBlockParameter(const OdString &sVarName, const OdString &sPropertyName, const OdGeMatrix3d &m=OdGeMatrix3d::kIdentity)=0
OdResBuf
Definition: ResBuf.h:112
type
GLuint GLsizei GLsizei GLint GLenum * type
Definition: gles2_ext.h:274
OdDbPolyline
Definition: DbPolyline.h:63
CFxDbExtension::GetPDFFontsPath
virtual OdString GetPDFFontsPath()=0
fxDatabasePurgeEx
TOOLKIT_EXPORT int fxDatabasePurgeEx(OdDbDatabase *pDb, int(*pCallback)(OdDbDatabase *, void *), void *pCookie=0)
DbFcf.h
OdDbSurface
Definition: DbSurface.h:76
CFxDbModificationFilter::~CFxDbModificationFilter
virtual ~CFxDbModificationFilter()
CFxModelerExtension::getBodyFrom
virtual BODY * getBodyFrom(const OdDbSurface *pSurface)=0
OdRxObject
Definition: RxObject.h:564
OdDbObjectId
Definition: DbObjectId.h:99
CFxDbExtension::GetMPolygonPerimeter
virtual double GetMPolygonPerimeter(const OdDbMPolygon *pMPolygon)
OdDb3dSolid
Definition: Db3dSolid.h:77
CFxModelerExtension::applyColor
virtual void applyColor(OdDbEntityPtr pThis, OdDbEntityPtr pOther)
OdDbSpline
Definition: DbSpline.h:44
CFxDbExtension::XrefHasCircularReference
virtual bool XrefHasCircularReference(OdDbDatabase *pHostDb, OdDbBlockTableRecord *pBTR)=0
SetFxModelerExtension
TOOLKIT_EXPORT void SetFxModelerExtension(CFxModelerExtension *pExtension)
CFxDbExtension::GetRecordData
virtual const OdUInt8Array & GetRecordData(OdDbUndoController *pController, OdUInt32 i) const =0
CFxModelerExtension::GetModeler
OdModelerGeometryPtr GetModeler(const OdDb3dSolidPtr pBody)
Db3dSolid.h
CFxDbExtension::SetIsInsideXrefReload
virtual void SetIsInsideXrefReload(bool bInsideReload)=0
CFxDbExtension::setPlotViewId
virtual OdResult setPlotViewId(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, const OdDbObjectId &id) const =0
CFxSilhouetteVisiblityCallback::NeedDraw
virtual bool NeedDraw(bool bVisible, bool bOnEdge, bool bOnSilg)=0
CFxDbExtension::ActualWriteFileName
virtual OdString & ActualWriteFileName()=0
geCompareArcs
bool TOOLKIT_EXPORT geCompareArcs(const OdDbArc *pDbArc1, const OdGeCircArc3d &geArc2, OdGeX::ArcComparisonType type, const OdGeTol &geTol)
OdDbFullSubentPath
Definition: DbSubentId.h:49
OdDbLeader
Definition: DbLeader.h:41
CFxDbExtension::IsMechanical
virtual bool IsMechanical() const
OdEdCommandStack
Definition: EdCommandStack.h:307
OdArray< OdDbObjectId, OdMemoryAllocator< OdDbObjectId > >
CFxDbModificationFilter::CFxDbModificationFilter
CFxDbModificationFilter()
OdGiLinetyper
Definition: GiLinetyper.h:46
CFxDbExtension::fxGetDimstyleChildData
OdResult fxGetDimstyleChildData(const OdRxClass *pDimClass, OdDbDimStyleTableRecordPtr &pRec, const OdDbObjectId &style)
OdDbRasterImageDef
Definition: DbRasterImageDef.h:57
CFxDbExtension::RemoveModificationFilter
virtual void RemoveModificationFilter(CFxDbModificationFilter *pFilter)=0
CFxDbExtension::HighlightEntity
virtual void HighlightEntity(const OdDbObject *pObject, bool bDoIt, const OdDbFullSubentPath *pPath)=0
CFxDbExtension::SetBoundaryInverted
virtual void SetBoundaryInverted(OdUInt32 numoints, const OdGePoint2d *pPoints)=0
OdDb3dPolyline
Definition: Db3dPolyline.h:69
CFxModelerExtension::getBodyFrom
virtual BODY * getBodyFrom(const OdDbRegion *pRegion)=0
CFxModelerExtension::getWiresFromRegion
virtual OdResult getWiresFromRegion(OdDbRegionPtr pR, std::vector< BODY * > &OuterWires, std::vector< std::vector< BODY * >> &IslandsToEntity)=0
CFxDbExtension::DrawSolidHatch
virtual bool DrawSolidHatch(OdDbHatchImpl *pImpl, OdGiContextForDbDatabase *pGiContext, OdGiGeometry &geom)
CFxDbExtension::GetPaperProperties
virtual void GetPaperProperties(OdDbPlotSettings *pLayout, OdGePoint3dArray &points, OdGePoint3dArray &margins)=0
CFxDbExtension::DrawSolidHatchFlags
virtual int DrawSolidHatchFlags()
CFxModelerExtension::drawShells
virtual OdResult drawShells(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity)
CFxDbExtension::getFilename
virtual bool getFilename(const OdDbDatabase *pDatabase, OdString &result) const =0
CFxDbExtension::EnablePermanentUndo
void EnablePermanentUndo(bool bEnable)
CFxDbExtension::GetThumbnailImage
virtual OdGiRasterImagePtr GetThumbnailImage(OdDbDatabase *pDb, int width, int height)=0
OdDbRegion
Definition: DbRegion.h:50
DbSpline.h
CFxModelerExtension::terminate_acis
virtual int terminate_acis(int level)
DbBlockReference.h
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdGeMatrix3d
Definition: GeMatrix3d.h:73
CFxDbExtension::fxGetToleranceFromMLeader
virtual OdDbFcfPtr fxGetToleranceFromMLeader(OdDbMLeader *)
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbCircle *pCircle, OdGeExtents3d &extents, bool canQueryCache)=0
CFxDbExtension::~CFxDbExtension
virtual ~CFxDbExtension()=0
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbArc *pArc, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
OdGiCommonDraw
Definition: GiCommonDraw.h:572
OdDbMPolygon
Definition: DbMPolygon.h:46
OdEdCommand
Definition: EdCommandStack.h:75
CFxDbExtension::OnObjectErased
virtual void OnObjectErased(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
CFxDbExtension::SetFxAssertReadEnabledCallback
void SetFxAssertReadEnabledCallback(FxAssertReadEnabledCallback pCallback)
CFxDbExtension::StaticExecuteInMainThread
static void StaticExecuteInMainThread(std::function< void() > f)
OdDbMLeader
Definition: DbMLeader.h:49
CFxDbExtension::OnSetPlotDevice
virtual void OnSetPlotDevice(const OdString &sPlotDeviceName)
CFxDbExtension::IsDrawImageFrameEnabled
virtual bool IsDrawImageFrameEnabled() const
CFxModelerExtension::separateRegion
virtual bool separateRegion(OdDbRegionPtr i_region, OdRxObjectPtrArray &o_entitySet)
DbEvalWatchers.h
CFxDbExtension::AddAnonymousGroup
void AddAnonymousGroup(OdDbDictionary *pDestDict, OdDbGroup *pGroup, const OdString &sName)
CFxDbExtension::MoveXDataHidden
void MoveXDataHidden(OdDbObject *pObj, const OdGePoint3dArray &arrStretchWindow, const OdGeMatrix3d &mToPlane, const OdGeVector3d &offset)
kSolid
@ kSolid
Definition: BrepBuilder.h:39
CFxModelerExtension::StartModellerInThread
virtual void StartModellerInThread()=0
CFxDbExtension::MoveXDataHidden
void MoveXDataHidden(OdDbObject *pObj, const OdGePoint3d &ptGripPoint, const OdGeVector3d &offset)
OdDbTable
Definition: DbTable.h:102
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
DbMLeader.h
CFxDbExtension::applyColor
void applyColor(OdDbEntityPtr pThis, OdDbEntityPtr pOther)
CFxDbExtension::IsInsideXrefReload
virtual bool IsInsideXrefReload()=0
OdRxClass
Definition: RxObject.h:865
CFxModelerExtension::flatShotHL
virtual OdResult flatShotHL(const OdDbEntityPtrArray &input, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdArray< HLData > &output)
CFxModelerExtension::GetModeler
OdModelerGeometryPtr GetModeler(const OdDbRegionPtr pRegion)
OdDbDimension
Definition: DbDimension.h:52
CFxModelerExtension::HLData::HLOriginal::_p
OdDbObjectPtr _p
Definition: FxDbExtension.h:551
CFxDbExtension::EnableHatchOptimization
void EnableHatchOptimization(bool bEnable=true)
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbLine *pLine, OdGeExtents3d &extents)=0
CFxDbExtension::fire_layoutToBeActivated
virtual void fire_layoutToBeActivated(OdDbLayoutManagerReactor *pReactor, const OdString &s, const OdDbObjectId &id) const =0
OdDbUndoController
Definition: DbUndoController.h:57
geGetReasonableTolerance
double TOOLKIT_EXPORT geGetReasonableTolerance(double dSampleValue, double dTol=1e-10)
CFxDbExtension::GetMPolygonArea
virtual OdResult GetMPolygonArea(const OdDbMPolygon *pMPolygon, double &area)
OdDbBlockGrip
Definition: DbBlockGrips.h:57
CFxDbExtension::OnObjectAppended
virtual void OnObjectAppended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
CFxModelerExtension::generateCurve
virtual OdResult generateCurve(EDGE *pEdge, OdGeCurve3d *&o_pCurve)=0
CFxDbExtension::IsHighlighted
virtual bool IsHighlighted(OdGiCommonDraw *pWd) const =0
OdDbArc
Definition: DbArc.h:52
CFxDbExtension::fire_layoutToBeDeactivated
virtual void fire_layoutToBeDeactivated(OdDbLayoutManagerReactor *pReactor, const OdString &s, const OdDbObjectId &id) const =0
OdSmartPtr< OdEdCommand >
OdGeEllipArc3d
Definition: GeEllipArc3d.h:60
OdGePoint3d
Definition: GePoint3d.h:55
CFxDbUndoReactor::undoWriteFinished
virtual void undoWriteFinished(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
SetFxDbExtension
TOOLKIT_EXPORT void SetFxDbExtension(CFxDbExtension *pExtension)
OdRxDynamicLinker
Definition: DynamicLinker.h:72
CFxDbExtension::AddModificationFilter
virtual void AddModificationFilter(CFxDbModificationFilter *pFilter)=0
OdDb::SubentType
SubentType
Definition: DbBaseSubentId.h:38
CFxDbExtension::GetCachePointer
void * GetCachePointer(const OdDbObject *pObject)
offset
GLintptr offset
Definition: gles2_ext.h:183
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDb2dPolyline *pPline, OdGeExtents3d &extents, bool canQueryCache)=0
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbXline *pXline, OdGeExtents3d &extents, bool referenceGeometryExtents)=0
CFxModelerExtension::CFxModelerExtension
CFxModelerExtension()
CFxModelerExtension::~CFxModelerExtension
virtual ~CFxModelerExtension()=0
CFxModelerExtension::HLData::_entity
OdDbObjectPtr _entity
Definition: FxDbExtension.h:547
OdEdCommandContext
Definition: EdCommandContext.h:42
CFxObjectPE::setDatabaseDefaults
virtual void setDatabaseDefaults(OdDbEntity *pThis, OdDbDatabase *pDb, bool bSubEnt)=0
OdDbPlotSettingsValidator
Definition: DbPlotSettingsValidator.h:57
OdDbPlotSettings
Definition: DbPlotSettings.h:41
fxIsPerformingDbUndo
TOOLKIT_EXPORT bool fxIsPerformingDbUndo(const OdDbDatabase *pDb)
CFxDbExtension::EvaluateConstraintBlockParameterFromGripPoint
virtual bool EvaluateConstraintBlockParameterFromGripPoint(const OdString &sVarName, OdDbBlockGrip *pGrip)=0
CFxDbExtension::SetConstraintBlockParameter
virtual bool SetConstraintBlockParameter(const OdString &sVarName, const OdString &sPropertyName, const OdResBuf *rb, const OdGeMatrix3d &m=OdGeMatrix3d::kIdentity)=0
CFxDbExtension::GetGsView
virtual OdGsViewPtr GetGsView(OdDbDatabase *pDb, bool isModelSpace)=0
OdDbDictionary
Definition: DbDictionary.h:135
OdDbMText
Definition: DbMText.h:137
CFxDbExtension::SetFxUndoReactor
void SetFxUndoReactor(OdDbDatabase *pDatabase, CFxDbUndoReactor *pReactor)
Gs.h
CFxDbExtension
Definition: FxDbExtension.h:107
CFxDbExtension::fxGetDimBlock
static OdDbBlockTableRecordPtr fxGetDimBlock(OdDbDimension *pDim, bool bCreateIfNotFound=false, OdDbDimensionObjectContextData *ctx=0)
CFxDbExtension::GetHatchGradientFill
bool & GetHatchGradientFill(OdDbHatchPtr pHatch)
OdDbDimStyleTable
Definition: DbDimStyleTable.h:45
CFxDbExtension::SetDrawOrder
void SetDrawOrder(const OdDbObject *pObject, int iDrawOrder)
CFxDbExtension::SetCachePointer
void SetCachePointer(const OdDbObject *pObject, void *pCache)
CFxDbExtension::GetDrawOrder
int GetDrawOrder(const OdDbObject *pObject)
OdDbGroup
Definition: DbGroup.h:102
height
GLint GLenum GLsizei GLsizei height
Definition: gles2_ext.h:110
OdDbLayoutManagerReactor
Definition: DbLayoutManager.h:51
CFxDbExtension::GetRecordCount
virtual OdUInt32 GetRecordCount(OdDbUndoController *pController) const =0
width
GLint GLenum GLsizei width
Definition: gles2_ext.h:110
CFxDbExtension::IsHatchOptimizationEnabled
bool IsHatchOptimizationEnabled() const
OdaCommon.h
CFxModelerExtension::flatShot
virtual OdResult flatShot(const OdDb3dSolidPtr pBody, const OdGePoint3d &eye_pos, const OdGePoint3d &target_pos, bool bPersepcitveProjection, OdDbEntityPtrArray &result)
OdDbEllipse
Definition: DbEllipse.h:63
CFxDbExtension::GetHatchSolidFill
bool & GetHatchSolidFill(OdDbHatchPtr pHatch)
CFxDbExtension::fxRecomputeMLeader
virtual void fxRecomputeMLeader(OdDbMLeader *)
OdModelerGeometry
Definition: ModelerGeometry.h:78
CFxDbExtension::GetDrawModes
OdUInt32 GetDrawModes(const OdDbObject *pObject)
CFxDbExtension::IsPermanentUndoEnabled
bool IsPermanentUndoEnabled() const
TD_PackPush.h
CFxDbUndoReactor::redoWriteFinished
virtual void redoWriteFinished(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
CFxDbExtension::SetTransformOnlyCurrentAnnotativeContextData
virtual void SetTransformOnlyCurrentAnnotativeContextData(bool bEnable)
OdDbHatch
Definition: DbHatch.h:67
OdDbFlipDimensionPEPtr
OdSmartPtr< OdDbFlipDimensionPE > OdDbFlipDimensionPEPtr
Definition: FxDbExtension.h:468
CFxDbExtension::BlockHasSelfReferences
virtual bool BlockHasSelfReferences(OdDbObjectId idBlock, const OdString &sBlockName)=0
OdDbLine
Definition: DbLine.h:52
CFxDbExtension::setPlotPaperSize
virtual OdResult setPlotPaperSize(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, double paperWidth, double paperHeight) const =0
CFxDbExtension::DrawDynamicConstraint
virtual bool DrawDynamicConstraint(OdGiViewportDraw *pVd, const OdDbDimension *pOrigDim)=0
CFxDbExtension::GetNextAnonymousRecordName
OdString GetNextAnonymousRecordName(OdDbDictionary *pDict)
CFxDbExtension::GetBlockChildCount
unsigned int GetBlockChildCount(OdDbBlockTableRecord *pRecord)
CFxModelerExtension::generateWire
virtual OdResult generateWire(const OdDbEntity *pPathCurve, BODY *&pBody)=0
CFxDbExtension::ExecuteInMainThread
virtual void ExecuteInMainThread(std::function< void() > f)
OdGiWorldDraw
Definition: GiWorldDraw.h:44
OdDb2dPolyline
Definition: Db2dPolyline.h:68
CFxModelerExtension::HLData::_original
OdArray< HLOriginal > _original
Definition: FxDbExtension.h:554
CFxModelerExtension::HLData
Definition: FxDbExtension.h:546
CFxModelerExtension::getSpaBodyEntity
virtual void * getSpaBodyEntity(OdDbEntityPtr pEnt)=0
OdDbEntity
Definition: DbEntity.h:90
OdDb::OpenMode
OpenMode
Definition: DbObjectId.h:54
DbEllipse.h
CFxModelerExtension::HLData::_flags
int _flags
Definition: FxDbExtension.h:548
DbMPolygon.h
OdEdCommandPtr
OdSmartPtr< OdEdCommand > OdEdCommandPtr
Definition: FxDbExtension.h:34
CFxDbExtension::OnCOMObjectUpdate
virtual bool OnCOMObjectUpdate(const OdDbObject *pDbObj)=0
CFxModelerExtension::getBodyFromEntity
virtual void * getBodyFromEntity(OdDbEntityPtr i_pEnt)=0
CFxDbExtension::OnUndoGroupEnd
virtual void OnUndoGroupEnd(OdDbDatabase *pDb)=0
CFxModelerExtension::getCentroid
virtual bool getCentroid(OdDbRegionPtr i_region, OdGePoint2d &o_center)
CFxDbExtension::CheckPattern
virtual PatternQuality CheckPattern(OdHatchPattern *pPattern, double pixelSize)=0
CFxDbExtension::DrawDimensionalConstraintIcon
virtual void DrawDimensionalConstraintIcon(OdGiViewportDraw *pVd, const OdDbBlockTableRecord *pBTR, const OdDbDimension *pDimension, bool bIsDynamic)=0
CFxDbExtension::SetFxBlockWorldDrawCallback
void SetFxBlockWorldDrawCallback(FxBlockWorldDrawCallback pCallback)
CFxModelerExtension::drawEdges
virtual OdResult drawEdges(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity)
CFxDbUndoReactor::undoWriteStarted
virtual void undoWriteStarted(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
OdGeCurve3d
Definition: GeCurve3d.h:56
OdGiContextForDbDatabase
Definition: GiContextForDbDatabase.h:52
geConvertToGeObject
bool TOOLKIT_EXPORT geConvertToGeObject(const OdDbArc *pDbArc, OdGeCircArc3d &geArc, bool canQueryDbExtents=true)
CFxDbExtension::SetDrawModes
void SetDrawModes(const OdDbObject *pObject, OdUInt32 iDrawModes)
GetFxDbExtension
TOOLKIT_EXPORT CFxDbExtension * GetFxDbExtension()
ModelerGeometry.h
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbEllipse *pEllipse, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
CFxDbExtension::PatternQuality
PatternQuality
Definition: FxDbExtension.h:303
OdDbBlockTableRecord
Definition: DbBlockTableRecord.h:57
CFxDbExtension::OnOle2FrameCreate
virtual void OnOle2FrameCreate()=0
CFxDbExtension::OnObjectUnappended
virtual void OnObjectUnappended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
OdGiGeometry
Definition: GiGeometry.h:698
CFxDbUndoReactor
Definition: FxDbExtension.h:98
CFxModelerExtension::setBodyFor
virtual void setBodyFor(ENTITY_LIST *pNewFile, AfTypeVer typeVer, OdDbRegionPtr &offsetregion)=0
OdGeExtents3d
Definition: GeExtents3d.h:45
OdDbFcf
Definition: DbFcf.h:41
geGetObjectExtents
bool TOOLKIT_EXPORT geGetObjectExtents(const OdDbLine *pLine, OdGeExtents3d &extents)
CFxDbExtension::GetSimplifiedExtents
virtual OdResult GetSimplifiedExtents(const OdDbEntity *pEnt, OdGeExtents3d &extents)=0
f
GLfloat f
Definition: gles2_ext.h:564
CFxModelerExtension
Definition: FxDbExtension.h:498
OdDbXline
Definition: DbXline.h:56
CFxDbExtension::InitOle2FrameCount
virtual void InitOle2FrameCount()=0
CFxDbExtension::setStyleSheet
virtual OdResult setStyleSheet(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, const OdString &styleSheetName) const =0
CFxDbExtension::EnableDrawImageFrame
virtual void EnableDrawImageFrame(bool bEnable)
CFxModelerExtension::generateEDGES
virtual OdResult generateEDGES(const OdRxObjectPtr &pIt, EDGE *&edge, bool negative=false)=0
OdDbFlipDimensionPE::getFlipPoints
virtual void getFlipPoints(OdDbDimension *pDimension, OdGePoint3dArray &flip_points)
level
GLint level
Definition: gles2_ext.h:110
OdDbFlipDimensionPELoader
Definition: FxDbExtension.h:471
CFxDbExtension::IsPDFUnderlayEnabled
virtual bool IsPDFUnderlayEnabled()=0
CFxDbExtension::FlushGraphics
virtual void FlushGraphics(OdDbDatabase *pDatabase, const OdDbObject *pObject)
CFxDbExtension::purge
virtual bool purge(const OdDbDatabase *pDatabase, OdDbObjectIdArray &objectIds) const =0
CFxDbExtension::CreateHatchFromBlkRef
OdDbHatchPtr CreateHatchFromBlkRef(OdDbBlockReferencePtr pObj)
CFxDbExtension::GetFxRedoController
OdDbUndoController * GetFxRedoController(OdDbDatabase *pDatabase)
CFxDbExtension::AutoloadApp
virtual bool AutoloadApp(const OdString appName)=0
CFxDbExtension::IsDynamicDimensionVisibleOnLoading
virtual bool IsDynamicDimensionVisibleOnLoading(const OdDbDimension *pDimension)=0
OdDbBaseDatabasePE
Definition: DbBaseDatabase.h:60
CFxDbExtension::intersectWith
virtual bool intersectWith(const OdDbSpline *pThis, const OdGeCurve3d *intersectingCurve, int &intn, OdGePoint3dArray &IntPtArr, const OdGeTol &tol) const =0
CFxDbExtension::fxSetAttMTextWidth
virtual void fxSetAttMTextWidth(OdDbAttributeDefinition *pDef, double width)
OdDbAttributeDefinition
Definition: DbAttributeDefinition.h:44
CFxModelerExtension::GetModeler
OdModelerGeometryPtr GetModeler(const OdDbSurfacePtr pSurface)
TOOLKIT_EXPORT
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
CFxDbExtension::ConstraintAuditDatabase
virtual void ConstraintAuditDatabase(OdDbDatabase *pDb, OdDbAuditInfo *pInfo)=0
CFxModelerExtension::applyColor
virtual void applyColor(OdModelerGeometry *p, OdCmColor color)=0
CFxDbExtension::fxGetDimstyleChildId
OdDbObjectId fxGetDimstyleChildId(const OdRxClass *pDimClass, const OdDbObjectId &style)
CFxModelerExtension::drawSilhouettes
virtual OdResult drawSilhouettes(OdGiViewportDraw *pViewportDraw, OdDbEntityPtr pEntity, CFxSilhouetteVisiblityCallback *pCallback=0)
OdDbAuditInfo
Definition: DbAudit.h:60
CFxDbExtension::fxSetToleranceToMLeader
virtual void fxSetToleranceToMLeader(OdDbMLeader *, const OdDbFcf *, int)
CFxModelerExtension::HLData::HLOriginal::_subId
OdDbSubentId _subId
Definition: FxDbExtension.h:552
OdGeTol
Definition: GeTol.h:49
oddbGetHandleTree
TOOLKIT_EXPORT OdHandleTree * oddbGetHandleTree(OdDbDatabase *pDb)
CFxDbExtension::LockXDataTransformation
void LockXDataTransformation()
CFxDbExtension::IsDrawAttDefsEnabled
virtual bool IsDrawAttDefsEnabled() const =0
CFxDbExtension::kNotRecognizableY
@ kNotRecognizableY
Definition: FxDbExtension.h:305
CFxDbExtension::GetBlockNumRefs
unsigned int GetBlockNumRefs(OdDbBlockTableRecord *pRecord)
OdDbRadialDimension
Definition: DbRadialDimension.h:48
CFxDbExtension::setMargins
virtual OdResult setMargins(OdDbPlotSettingsValidator *pValidator, OdDbPlotSettings *pPlotSet, double leftMargin, double topMargin, double rightMargin, double bottomMargin) const =0
CFxModelerExtension::HLData::HLOriginal
Definition: FxDbExtension.h:550
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbRay *pRay, OdGeExtents3d &extents, bool referenceGeometryExtents)=0
CFxDbExtension::getGeomExtents
virtual OdResult getGeomExtents(const OdDbBlockReference *pBlockRef, OdGeExtents3d &extents, bool referenceGeometryExtents, bool canQueryCache)=0
OdDbFlipDimensionPE
Definition: FxDbExtension.h:453
CFxDbExtension::GetThumbnailImage2
virtual OdGiRasterImagePtr GetThumbnailImage2(OdDbDatabase *pDb, int width, int height)=0
CFxDbExtension::fxZeroDimscale
double fxZeroDimscale(OdDbDatabase *pDb)
CFxDbUndoReactor::redoWriteStarted
virtual void redoWriteStarted(OdDbDatabase *pDatabase, OdDbDwgFiler *pFiler)=0
CFxDbExtension::GetMPolygonClosestLoopTo
virtual int GetMPolygonClosestLoopTo(const OdDbMPolygon *pMPolygon, const OdGePoint3d &worldPt)
CFxDbExtension::AuditDualDimPlaceholder
virtual OdResult AuditDualDimPlaceholder(OdDbDatabase *pDb, OdDbAuditInfo *pInfo)
void
typedef void(APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture)
CFxModelerExtension::getSubentities
virtual OdResult getSubentities(OdDb3dSolidPtr i_pSolid, OdDb::SubentType i_type, OdDbFullSubentPathArray &o_subentPaths)
OdCmColor
Definition: CmColor.h:59
OdGeMatrix3d::kIdentity
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
Definition: GeMatrix3d.h:79
DbDimension.h
CFxDbExtension::fxGetAttMTextWidth
virtual double fxGetAttMTextWidth(const OdDbAttributeDefinition *pDef)
CFxDbExtension::TranslateEntity
OdResult TranslateEntity(OdDbEntity *pObj, const OdGeVector3d &offset)
CFxDbExtension::AuditMTextContents
virtual int AuditMTextContents(OdString &sMTextContents)
CFxDbExtension::GetUndoList
virtual bool GetUndoList(OdDbDatabase *pDb, OdStringArray &commands, bool bRedo=false)
CFxDbExtension::GetSystemVariableRange
virtual bool GetSystemVariableRange(OdResBufPtr &Min, OdResBufPtr &Max, const OdString &Name)
CFxDbExtension::fxGetDimstyleParentId
OdDbObjectId fxGetDimstyleParentId(const OdDbObjectId &childStyle)
OdGeCircArc3d
Definition: GeCircArc3d.h:48
CFxSilhouetteVisiblityCallback::~CFxSilhouetteVisiblityCallback
virtual ~CFxSilhouetteVisiblityCallback()
CFxObjectPEPtr
OdSmartPtr< CFxObjectPE > CFxObjectPEPtr
Definition: FxDbExtension.h:601
OdDbRay
Definition: DbRay.h:55
CFxDbModificationFilter::FilterObjects
virtual OdDbObjectIdArray FilterObjects(const OdDbObjectIdArray &objectIds) const =0
CFxModelerExtension::getBodyTransform
virtual bool getBodyTransform(const BODY *body, OdGeMatrix3d &mx)=0
OdDbObject
Definition: DbObject.h:211
OdDbDwgFiler
Definition: DbFiler.h:1031
OdDbSubentId
Definition: DbBaseSubentId.h:72
OdGiViewportDraw
Definition: GiViewportDraw.h:50
CFxDbExtension::AddIdToLastUsedDimStyleIdArray
virtual int AddIdToLastUsedDimStyleIdArray(OdDbDimStyleTable *pTable, OdDbObjectId &id)
CFxDbExtension::IsUndoingBlock
bool IsUndoingBlock(const OdDbDatabase *pDb)
CFxDbExtension::OnObjectReappended
virtual void OnObjectReappended(OdDbDatabase *pDatabase, const OdDbObject *pObject)=0
OdDbCircle
Definition: DbCircle.h:55
CFxDbExtension::CFxDbExtension
CFxDbExtension()
CFxModelerExtension::getBodyFrom
virtual BODY * getBodyFrom(const OdDb3dSolid *pSolid)=0
OdDbFlipDimensionPELoader::getFlipPoints
virtual void getFlipPoints(OdDbDimension *pDimension, OdGePoint3dArray &flip_points)
CFxDbExtension::GetHatchPatternSize
virtual void GetHatchPatternSize(const OdDbHatch *pHatch, double &dPatternSize, double &dMaxDashLength, bool &bCanUseSolidOptimization)
CFxDbExtension::kNotRecognizableX
@ kNotRecognizableX
Definition: FxDbExtension.h:306
CFxDbExtension::SuppressWriteFileEvents
virtual bool & SuppressWriteFileEvents()=0
CFxDbExtension::EnableDrawAttDefs
virtual void EnableDrawAttDefs(bool bEnable)=0
OdDbBaseDatabase
OdRxObject OdDbBaseDatabase
Definition: FxDbExtension.h:37
OdGePoint2d
Definition: GePoint2d.h:60
CFxDbExtension::countHardReferences
virtual bool countHardReferences(const OdDbDatabase *pDatabase, const OdDbObjectIdArray &objectIds, OdUInt32 *counts) const =0