Public Member Functions | List of all members
IElementGraphicsProcessor Struct Reference

Callback methods for collecting graphical output of an element's Draw method. More...

#include <ElementGraphics.h>

Public Member Functions

virtual bool _ExpandPatterns () const
 Controls whether pattern graphics will be output. More...
 
virtual bool _ExpandLineStyles (ILineStyleCP lsStyle) const
 Controls whether linestyle graphics will be output. More...
 
virtual bool _WantClipping () const
 Controls whether to output clipped graphics if any clipping is pushed by display. More...
 
virtual bool _ProcessAsFacets (bool isPolyface) const
 Process surfaces and solids not handled directly or are clipped through _ProcessFaceta. More...
 
virtual bool _ProcessAsBody (bool isCurved) const
 Process surfaces and solids not handled directly or are clipped through _ProcessBody. More...
 
virtual void _AnnounceContext (ViewContextR context)
 Supply the current context that is processing the geometry. More...
 
virtual void _AnnounceTransform (TransformCP trans)
 Supply the current transform that subsequent geometry is displayed through. More...
 
virtual void _AnnounceElemMatSymb (ElemMatSymbCR matSymb)
 Supply the current symbology that subsequent geometry is displayed with. More...
 
virtual void _AnnounceElemDisplayParams (ElemDisplayParamsCR displayParams)
 Supply the current symbology used to generate the ElemMatSym values. More...
 
virtual BentleyStatus _ProcessTextString (TextStringCR text)
 Collect output as text. More...
 
virtual BentleyStatus _ProcessCurvePrimitive (ICurvePrimitiveCR curve, bool isClosed, bool isFilled)
 Collect output as a single curve component. More...
 
virtual BentleyStatus _ProcessCurveVector (CurveVectorCR curves, bool isFilled)
 Collect output as a CurveVector. More...
 
virtual BentleyStatus _ProcessSolidPrimitive (ISolidPrimitiveCR primitive)
 Collect output as a solid primitive. More...
 
virtual BentleyStatus _ProcessSurface (MSBsplineSurfaceCR surface)
 Collect output as a bspline surface. More...
 
virtual BentleyStatus _ProcessBody (ISolidKernelEntityCR entity, IFaceMaterialAttachmentsCP attachments)
 Collect output for surfaces and solids using a solid kernel entity. More...
 
virtual BentleyStatus _ProcessFacets (PolyfaceQueryCR meshData, bool isFilled)
 Collect output for surfaces and solids as facets. More...
 
virtual IFacetOptionsP _GetFacetOptionsP ()
 Allow processor to override the default facet options. More...
 
virtual DrawPurpose _GetDrawPurpose ()
 Allow processor to override the default draw purpose. More...
 
virtual void _OutputGraphics (ViewContextR context)
 Allow processor to output graphics to it's process methods. More...
 

Detailed Description

Callback methods for collecting graphical output of an element's Draw method.

See also
ElementGraphicsOutput

Member Function Documentation

virtual void _AnnounceContext ( ViewContextR  context)
virtual

Supply the current context that is processing the geometry.

Parameters
[in]contextThe current view context.
virtual void _AnnounceElemDisplayParams ( ElemDisplayParamsCR  displayParams)
virtual

Supply the current symbology used to generate the ElemMatSym values.

Parameters
[in]displayParamsThe symbology to apply to subsequent process calls.
virtual void _AnnounceElemMatSymb ( ElemMatSymbCR  matSymb)
virtual

Supply the current symbology that subsequent geometry is displayed with.

Parameters
[in]matSymbThe symbology to apply to subsequent process calls.
virtual void _AnnounceTransform ( TransformCP  trans)
virtual

Supply the current transform that subsequent geometry is displayed through.

Parameters
[in]transThe transform to apply to subsequent process calls.
virtual bool _ExpandLineStyles ( ILineStyleCP  lsStyle) const
virtual

Controls whether linestyle graphics will be output.

Parameters
[in]lsStyleCurrent linestyle.
Returns
true to output graphics for linestyle symbols and strokes, false to output the un-styled curve geometry.
virtual bool _ExpandPatterns ( ) const
virtual

Controls whether pattern graphics will be output.

Returns
true to output pattern and hatch graphics, false to skip patterns.
virtual DrawPurpose _GetDrawPurpose ( )
virtual

Allow processor to override the default draw purpose.

virtual IFacetOptionsP _GetFacetOptionsP ( )
virtual

Allow processor to override the default facet options.

Returns
A pointer to facet option structure to use or NULL to use default options.

References NULL.

virtual void _OutputGraphics ( ViewContextR  context)
virtual

Allow processor to output graphics to it's process methods.

Parameters
[in]contextThe current view context.
Remarks
Processor is responsible for setting path root, attaching/detaching viewports, etc. if model wasn't supplied to Process method.
virtual bool _ProcessAsBody ( bool  isCurved) const
virtual

Process surfaces and solids not handled directly or are clipped through _ProcessBody.

Parameters
[in]isCurvedGraphics output would contain non-linear edge and/or non-planar face geometry.
Returns
true to output solid kernel entities for surface and solid geometry. If returning false, facets will be output if _ProcessAsFacets returns true, otherwise edge and face isoline curves will be output through _ProcessCurveVector.
Remarks
Requires host implementation of SolidsKernelAdmin methods that take or return a ISolidKernelEntity.
Note
When returning true you also need to implement _ProcessBody.
See also
DgnPlatformLib::Host::SolidsKernelAdmin
virtual bool _ProcessAsFacets ( bool  isPolyface) const
virtual

Process surfaces and solids not handled directly or are clipped through _ProcessFaceta.

Parameters
[in]isPolyfacefacets are from a call to DrawPolyface, ex. mesh element.
Returns
true to output facets for surface and solid geometry. If returning false, edge and face isoline curves will be output through _ProcessCurveVector.
Remarks
When both _ProcessAsFacets and _ProcessAsBody return true, _ProcessAsBody has precedence.
Note
When returning true you also need to implement _ProcessFacets.
virtual BentleyStatus _ProcessBody ( ISolidKernelEntityCR  entity,
IFaceMaterialAttachmentsCP  attachments 
)
virtual

Collect output for surfaces and solids using a solid kernel entity.

Parameters
[in]entityThe solid kernel entity.
[in]attachmentsOptional face color/material attachment information.
Note
Requires host implementation of SolidsKernelAdmin methods that take or return a ISolidKernelEntity.
Remarks
Only called if _ProcessAsBody returns true.
Returns
SUCCESS if handled.

References Bentley::ERROR.

virtual BentleyStatus _ProcessCurvePrimitive ( ICurvePrimitiveCR  curve,
bool  isClosed,
bool  isFilled 
)
virtual

Collect output as a single curve component.

Parameters
[in]curveThe curve data.
[in]isClosedThe data is from a closed path or region instead of a physically closed path.
[in]isFilledA closed path or region should have opaque fill.
Remarks
All curve geometry can be handled through _ProcessCurveVector.
See also
_ProcessCurveVector.

References Bentley::ERROR.

virtual BentleyStatus _ProcessCurveVector ( CurveVectorCR  curves,
bool  isFilled 
)
virtual

Collect output as a CurveVector.

Parameters
[in]curvesThe curve data.
[in]isFilledA closed path or region should have opaque fill.
Returns
SUCCESS if handled, ERROR to output individual curves through _ProcessCurvePrimitive.

References Bentley::ERROR.

virtual BentleyStatus _ProcessFacets ( PolyfaceQueryCR  meshData,
bool  isFilled 
)
virtual

Collect output for surfaces and solids as facets.

Parameters
[in]meshDataThe indexed polyface data.
[in]isFilledThe wireframe display of the mesh has opaque fill.
Remarks
Only called if _ProcessAsFacets returns true.
Returns
SUCCESS if handled.

References Bentley::ERROR.

virtual BentleyStatus _ProcessSolidPrimitive ( ISolidPrimitiveCR  primitive)
virtual

Collect output as a solid primitive.

Parameters
[in]primitiveThe solid primitive data.
Returns
SUCCESS if handled, return ERROR to output according to _ProcessBody, _ProcessFacets, and _ProcessCurveVector rules.

References Bentley::ERROR.

virtual BentleyStatus _ProcessSurface ( MSBsplineSurfaceCR  surface)
virtual

Collect output as a bspline surface.

Parameters
[in]surfaceThe bspline surface data.
Returns
SUCCESS if handled, return ERROR to output according to _ProcessBody, _ProcessFacets, and _ProcessCurveVector rules.

References Bentley::ERROR.

virtual BentleyStatus _ProcessTextString ( TextStringCR  text)
virtual

Collect output as text.

Parameters
[in]textThe text data.
Returns
SUCCESS if handled, ERROR to output glyph graphics through _ProcessCurveVector.

References Bentley::SUCCESS.

virtual bool _WantClipping ( ) const
virtual

Controls whether to output clipped graphics if any clipping is pushed by display.

Returns
true to output clipped graphics.

The documentation for this struct was generated from the following file:

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.