CFx SDK Documentation
2020SP3
|
Go to the documentation of this file.
24 #ifndef __OD_GS_BASE_VECTORIZER_H_
25 #define __OD_GS_BASE_VECTORIZER_H_
38 class OdGsUpdateContext;
48 class OdGsUpdateState;
49 class OdGiSharedRefDesc;
71 return *m_pExtAccum.get();
87 void onLayerModified(OdDbStub* layerId);
88 void onLayerModified(OdDbStub* layerId,
bool bFrozen);
89 void onFrozenLayerModified(OdDbStub* layerId)
const;
203 if( m_nMetafileSize !=
OdUInt64( -1 ) )
return m_nMetafileSize;
271 kSharedRefTransform = (1 << 0),
272 kSharedRefUpdate = (1 << 1),
273 kSharedRefSelect = (1 << 2)
285 #ifdef ODA_DIAGNOSTICS
297 inline bool isFaded()
const;
298 inline OdUInt32 fadingIntensity()
const;
300 inline bool isHighlighted()
const;
302 inline bool isSelecting()
const;
431 void setInitGsState(
bool bOn);
432 bool isRecordingHistory();
433 void deleteHistory();
434 void setThreadIndex(
OdUInt32 idx) { m_threadIndex = idx; }
435 bool drawSectionable(
const OdGiDrawable& drawable,
bool& bRes);
437 void setCurrentState(OdGsUpdateState& newState);
438 OdGsUpdateState* currentState() {
return m_curState; }
439 const OdGsUpdateState* currentState()
const {
return m_curState; }
440 void applyState(
const OdGsUpdateState& s,
const OdGsUpdateState& prev);
458 kFfLockedLayer = (1 << 0),
460 kFfRefEdit = (1 << 2),
461 kFfFlagsMask = kFfLockedLayer | kFfXref | kFfRefEdit,
462 kEFfLockedLayer = (1 << 4),
464 kEFfRefEdit = (1 << 6),
465 kEFfFlagsMask = kEFfLockedLayer | kEFfXref | kEFfRefEdit,
467 kFvLockedLayerOffset = 8,
468 kFvLockedLayerMask = (0xFF << kFvLockedLayerOffset),
470 kFvXrefMask = (0xFF << kFvXrefOffset),
471 kFvRefEditOffset = 24,
472 kFvRefEditMask = (0xFF << kFvRefEditOffset)
492 kLastBaseVectorizerFlag = kViewInteractive
502 OdGiHistory* m_giHistory;
504 bool m_bTraitsDataChanged;
505 bool m_bByBlockTraitsChanged;
506 friend class OdGsUpdateContext;
507 friend class OdGsDisplayContext;
509 friend class OdGsApplyModelOverrides;
512 template <OdGiContext::FadingType fadingType>
545 return 100 - nIntensityMix;
555 return m_threadIndex;
567 return m_effectiveLayer;
592 #endif // __OD_GS_BASE_VECTORIZER_H_
#define GETBIT(flags, bit)
virtual void setAnalyticLinetypingComplexCurves(bool analytic)
virtual void setSelectionMarker(OdGsMarker selectionMarker)
virtual void beginViewVectorization()
virtual void setUp(OdGsViewImpl &view)
void pushModelTransform(const OdGeVector3d &normal)
OdGsLockFadingFlag(OdGsBaseVectorizer &vectorizer, bool bNewVal)
virtual bool isAnalyticLinetypingCircles() const
virtual void endMetafile(OdRxObject *pMetafile)
OdIntPtr m_drawableFilterFunction
virtual void addDistantLight(const OdGiDistantLightTraitsData &)
OdGsModel::RenderType activeRenderType() const
virtual void popMetafileTransform(OdUInt32=0)
OdGsLayerNode * activeLayerNode(bool bSync=false) const
virtual bool loadMaterialCache(OdGsMaterialNode *pNode, OdGsFiler *pFiler)
double m_dRenderAbortCondition
const OdGsMarkerArray * highlightedSubentities() const
void updateLayerTraits(OdGiSubEntityTraitsData &subEntityTraits) const
virtual void playMetafile(const OdRxObject *pMetafile)
#define SETBIT(flags, bit, value)
virtual bool useSharedBlockReferences() const
void highlight(bool bHighlight)
void beginMetafileRecording(OdGsGeomPortion *pGeomPortion)
OdUInt64 lastMetafileSize() const
void pushModelTransform(const OdGeMatrix3d &xfm)
void displayWithoutNesting(OdGsEntityNode *pNode)
virtual bool regenAbort() const
OdGiSelectProc * m_pSelectProc
virtual void setEntityTraitsDataChanged()
OdGsBaseVectorizer * m_vectorizer
OdGsOverlayId activeOverlay() const
OdGsUpdateState * m_curState
virtual void addWebLight(const OdGiWebLightTraitsData &)
virtual OdGiConveyorOutput & output()
virtual bool displayViewportProperties(OdGsPropertiesDirectRenderOutput *pdro=NULL, OdUInt32 incFlags=OdGsProperties::kAll)
virtual bool saveMaterialCache(const OdGsMaterialNode *pNode, OdGsFiler *pFiler)
virtual bool saveMetafile(const OdRxObject *pMetafile, OdGsFiler *pFiler)
virtual OdGeMatrix3d objectToDeviceMatrix() const
virtual void loadViewport()
OdGsModel::RenderType m_curRenderType
void pushClipBoundary(OdGiClipBoundary *pBoundary)
bool isMetafileEmpty() const
OdGiConveyorGeometry * m_pDetachedSecondaryOutput
void draw(const OdGiDrawable *pDrawable)
bool disableInfiniteGeomExtents() const
bool doViewExtents(OdGeBoundBlock3d &extents)
void doSelect(const OdGePoint2d *aPtDc, int numPoints, OdGsSelectionReactor *pReactor, OdGsView::SelectionMode mode)
virtual void setEntityTraitsDataChanged(int bit, bool value=true)
void setRenderAbort(bool bSet)
virtual void switchOverlay(OdGsOverlayId overlayId)
void playMetafileMode(const OdRxObject *pMetafile, EMetafilePlayMode eMode)
virtual bool useMetafileAsGeometry() const
EMetafilePlayMode metafilePlayMode() const
void endMetafileRecording()
virtual OdRxObjectPtr loadMetafile(OdGsFiler *pFiler)
virtual OdGeMatrix3d getTransformForMetafileGeometry() const
OdGiConveyorGeometry * m_pDetachedOutput
OdUInt32 fadingIntensity() const
OdGsOverlayId m_curOverlay
virtual void pushMetafileTransform(const OdGeMatrix3d &, OdUInt32=0)
bool isLayerFrozen(OdGsLayerNode *pLayerNode) const
void onNestedDrawable(OdDbStub *layerId)
virtual OdGiConveyorOutput & gsExtentsOutput()
virtual void addPointLight(const OdGiPointLightTraitsData &)
OdGsExtAccumPtr m_pExtAccum
OdPerfTimerBase * m_viewTimingProcessor
bool sectionableGeomExtentsOnly() const
virtual void display(bool bUpdate)
virtual OdDbStub * switchLayer(OdDbStub *layerId) const
virtual void updateExtents(bool bBuildCache)
void pushClipBoundary(OdGiClipBoundary *pBoundary, OdGiAbstractClipBoundary *pClipInfo)
virtual bool renderAbort()
OdGsHlBranchPtr m_pCurHltBr
virtual void reportUpdateError(OdDbStub *, const OdError &error)
OdGiSubEntityTraitsData m_effectiveEntityTraitsData
virtual const OdGiLayerTraitsData & effectiveLayerTraits() const
OdGsGeomPortion * currentGeomPortion() const
virtual void processMaterialNode(OdDbStub *materialId, OdGsMaterialNode *pNode)
ODRX_USING_HEAP_OPERATORS(OdGiBaseVectorizer)
virtual bool doDraw(OdUInt32 drawableFlags, const OdGiDrawable *pDrawable)
OdUInt32 threadIndex() const
virtual void setAnalyticLinetypingCircles(bool analytic)
OdGsExtAccum & gsExtentsAccum()
const OdGsHlBranch * currentHighlightBranch() const
virtual void setTransformForMetafileGeometry(const OdGeMatrix3d &)
virtual void renderTypeOnChange(OdGsModel::RenderType renderType)
EMetafilePlayMode m_eMfPlayMode
virtual void endViewVectorization()
void selectionMarkerOnChange(OdGsMarker nSelectionMarker)
void checkRenderType(const OdGsModel *pModel)
OdGsGeomPortion * m_pGeomPortion
virtual bool isAnalyticLinetypingComplexCurves() const
#define GS_TOOLKIT_EXPORT
OdGsHlBranch * findHighlightedSubnodeBranch()
OdGsLayerNode * gsLayerNode(OdDbStub *layerId, OdGsBaseModel *pModel)
GLsizei const GLfloat * value
virtual void beginMetafile(OdRxObject *pMetafile)
OdGsExtAccum & extentsAccum()
virtual void drawViewportFrame()
OdGsBaseModel * m_pGsModel
bool isRecordingMetafile()
virtual OdRxObjectPtr newGsMetafile()
virtual bool isViewRegenerated() const
void setSectionableGeomExtentsOnly(bool bOn)
virtual void setVisualStyle(const OdGiVisualStyle &visualStyle)
virtual void onTraitsModified()
void updateExtentsInThreadInit(OdGsMtContext &mtContext)
const OdGsMarkerArray & markers() const
static GE_STATIC_EXPORT const OdGeMatrix3d kIdentity
bool isHighlighted() const
const OdGsWriter & gsWriter() const
OdGsLockFadingFlag(OdGsBaseVectorizer &vectorizer)
virtual OdGiConveyorOutput & outputForMetafileGeometry()
OdGiConveyorOutput & secondaryOutput()
virtual void addSpotLight(const OdGiSpotLightTraitsData &)
OdGsBaseModel * gsModel() const
virtual bool forceMetafilesDependence() const
virtual void updateViewport()