Static Public Member Functions | List of all members
GroupedHoleHandler Struct Referenceabstract

A grouped hole is a sub-type of cell. More...

#include <GroupedHoleHandler.h>

Inheritance diagram for GroupedHoleHandler:
Type2Handler ICurvePathEdit IAreaFillPropertiesEdit ComplexHeaderDisplayHandler ITransactionHandler ICurvePathQuery IAreaFillPropertiesQuery DisplayHandler Handler NonCopyableClass

Static Public Member Functions

static DGNPLATFORM_EXPORT bool IsGroupedHole (ElementHandleCR eh)
 Check the supplied element to see if it represents a grouped hole. More...
 
static DGNPLATFORM_EXPORT bool IsValidGroupedHoleComponentType (ElementHandleCR eh)
 Check the supplied element to determine if it is an acceptable type for inclusion in a grouped hole, either as a solid or hole loop. More...
 
static DGNPLATFORM_EXPORT
BentleyStatus 
CreateGroupedHoleElement (EditElementHandleR eeh, EditElementHandleR solidEeh, ElementAgendaR holes)
 Create a new grouped hole cell from the supplied solid element and collection of hole elements. More...
 
- Static Public Member Functions inherited from DisplayHandler
static DisplayHandlerGetInstance ()
 
static void InitializeBasis (EditElementHandleR eh, TransformCR transform, DRange3dCP range)
 Initialize basis for an element - In most cases this should be done only once at creation. More...
 
- Static Public Member Functions inherited from ITransactionHandler
static void CallOnAdded (ElementHandleR)
 
static void CallOnAddedComplete (ElementHandleR)
 
- Static Public Member Functions inherited from ICurvePathQuery
static CurveVectorPtr ElementToCurveVector (ElementHandleCR eh)
 Wrapper method that just dynamic casts handler to ICurvePathQuery and calls GetCurveVector. More...
 
static BentleyStatus ElementToCurveVectors (ElementHandleCR eh, bvector< CurveVectorPtr > &curves)
 Return path curves as a bvector of CurveVector. More...
 

Additional Inherited Members

- Public Member Functions inherited from DisplayHandler
void GetPathDescription (ElementHandleCR el, WStringR string, DisplayPathCP path, WCharCP levelStr, WCharCP modelStr, WCharCP groupStr, WCharCP delimiterStr)
 Return a full description of the path to be used to inform the user which element is under consideration. More...
 
void GetTransformOrigin (ElementHandleCR el, DPoint3dR origin)
 Get the Transform Origin for this element. More...
 
void GetSnapOrigin (ElementHandleCR el, DPoint3dR origin)
 Get the snap origin for this element. More...
 
void GetOrientation (ElementHandleCR el, RotMatrixR orientation)
 Get an "orientation" RotMatrix for this element. More...
 
bool GetBasisTransform (ElementHandleCR eh, TransformR transform)
 Get an "basis" Transform for this element. More...
 
bool GetBasisRange (ElementHandleCR eh, DRange3dR range)
 Get an basis Range for this element. More...
 
void SetBasisRange (EditElementHandleR eh, DRange3dCR range)
 Set an basis Range for this element. More...
 
void SetBasisTransform (EditElementHandleR eh, TransformCR transform)
 Set an basis Transform for this element. More...
 
bool IsRenderable (ElementHandleCR el)
 Determine whether this element is renderable (i.e., subject to lighting). More...
 
bool IsPlanar (ElementHandleCR el, DVec3dP normal, DPoint3dP point, DVec3dCP inputDefaultNormal)
 Test whether this element is planar. More...
 
bool IsVisible (ElementHandleCR el, ViewContextR context, bool testRange, bool testLevel, bool testClass)
 Determine whether this element is visible in the supplied context. More...
 
StatusInt Drop (ElementHandleCR eh, ElementAgendaR dropGeom, DropGeometryCR geometry)
 Drop this element to a group of (simpler) primitive elements. More...
 
- Public Member Functions inherited from Handler
void GetDescription (ElementHandleCR el, WStringR string, UInt32 desiredLength)
 Get a brief string describing the element. More...
 
void GetTypeName (WStringR string, UInt32 desiredLength)
 Get the type name for this handler. More...
 
DisplayHandlerP GetDisplayHandler ()
 Use this method instead of dynamic_cast<DisplayHandlerP> (handler) More...
 
ITransactionHandlerP GetITransactionHandler ()
 Use this method instead of dynamic_cast<ITransactionHandlerP> (handler) More...
 
IDependencyHandlerP GetIDependencyHandler ()
 Use this method instead of dynamic_cast<IDependencyHandlerP> (handler) More...
 
StatusInt ApplyTransform (EditElementHandleR element, TransformInfoCR transform)
 Transform the element. More...
 
StatusInt FenceStretch (EditElementHandleR element, TransformInfoCR transform, FenceParamsP fp, FenceStretchFlags options)
 The handler is requested to "stretch" the specified element, that is, to transform the portions of the element that meet the clip criteria. More...
 
StatusInt FenceClip (ElementAgendaP inside, ElementAgendaP outside, ElementHandleCR element, FenceParamsP fp, FenceClipFlags options)
 The handler is requested to clip the specified element, that is, to return the portions of the element that are inside/outside the clip criteria. More...
 
void ConvertTo3d (EditElementHandleR eeh, double elevation)
 Convert a 2d element to it's 3d form. More...
 
void ConvertTo2d (EditElementHandleR eeh, TransformCR flattenTrans, DVec3dCR flattenDir)
 Convert a 3d element to it's 2d form. More...
 
void QueryProperties (ElementHandleCR eh, PropertyContextR context)
 Method for enummerating the common properties of elements such as color and level. More...
 
void EditProperties (EditElementHandleR eeh, PropertyContextR context)
 Method for changing the common properties of elements such as color and level. More...
 
bool ExposeChildren (ElementHandleCR el, ExposeChildrenReason reason)
 Determine whether the children of this element should be exposed to the caller for the intended purpose. More...
 
- Public Member Functions inherited from ICurvePathEdit
BentleyStatus SetCurveVector (EditElementHandleR eeh, CurveVectorCR path)
 Update element from path curves. More...
 
- Public Member Functions inherited from ICurvePathQuery
BentleyStatus GetCurveVector (ElementHandleCR eh, CurveVectorPtr &curves)
 Return path curves as a bvector of ICurvePrimitive. More...
 
- Public Member Functions inherited from IAreaFillPropertiesEdit
DGNPLATFORM_EXPORT bool SetAreaType (EditElementHandleR eeh, bool isHole)
 Change the current solid/hole status for the supplied element. More...
 
DGNPLATFORM_EXPORT bool RemoveAreaFill (EditElementHandleR eeh)
 Remove the current solid or gradient fill from the supplied element. More...
 
DGNPLATFORM_EXPORT bool RemovePattern (EditElementHandleR eeh, int index)
 Remove the current hatch or area pattern from the supplied element. More...
 
DGNPLATFORM_EXPORT bool AddSolidFill (EditElementHandleR eeh, UInt32 *fillColorP=NULL, bool *alwaysFilledP=NULL)
 Add solid fill to the supplied element. More...
 
DGNPLATFORM_EXPORT bool AddGradientFill (EditElementHandleR eeh, GradientSymbCR symb)
 Add gradient fill to the supplied element. More...
 
DGNPLATFORM_EXPORT bool AddPattern (EditElementHandleR eeh, PatternParamsR params, DwgHatchDefLineP hatchDefLinesP, int index=0)
 Add a hatch or area pattern to the supplied element. More...
 
- Public Member Functions inherited from IAreaFillPropertiesQuery
DGNPLATFORM_EXPORT bool GetAreaType (ElementHandleCR eh, bool *isHoleP) const
 Query whether the area defined by a closed region represents a solid or hole. More...
 
DGNPLATFORM_EXPORT bool GetSolidFill (ElementHandleCR eh, UInt32 *fillColorP, bool *alwaysFilledP) const
 Query the current solid fill information for the supplied element. More...
 
DGNPLATFORM_EXPORT bool GetGradientFill (ElementHandleCR eh, GradientSymbPtr &symb) const
 Query the current gradient fill information for the supplied element. More...
 
DGNPLATFORM_EXPORT bool GetPattern (ElementHandleCR eh, PatternParamsPtr &params, bvector< DwgHatchDefLine > *hatchDefLinesP, DPoint3dP originP, int index) const
 Query the current hatch or area pattern information for the supplied element. More...
 
- Protected Types inherited from ITransactionHandler
enum  PreActionStatus { PRE_ACTION_Ok = 0, PRE_ACTION_Block = 1 }
 
- Protected Member Functions inherited from ITransactionHandler
virtual void _OnUndoRedo (ElementHandleP afterUndoRedo, ElementHandleP beforeUndoRedo, ChangeTrackAction action, bool isUndo, ChangeTrackSource source)
 Called when an element is changed by either the Undo or Redo command in MicroStation. More...
 
virtual void _OnHistoryRestore (ElementHandleP after, ElementHandleP before, ChangeTrackAction actionStep, BentleyDgnHistoryElementChangeType effectiveChange)
 Called when an element is changed by design history to restore a historical version. More...
 
virtual void _OnUndoRedoFinished (ElementRefP element, bool isUndo)
 Called after undo/redo has restored all elements involved in the transaction and after all undo/redo callbacks have been invoked. More...
 
virtual void _OnDeleted (ElementHandleP element)
 Called after an element is deleted from a model. More...
 
virtual void _OnAdded (ElementHandleP element)
 Called after an element is added to a model. More...
 
virtual void _OnAddedComplete (ElementHandleP element)
 Called after an element is added to a model. More...
 
virtual void _OnModified (ElementHandleP newElement, ElementHandleP oldElement, ChangeTrackAction action, bool *cantBeUndoneFlag)
 Called after an element is directly changed in MicroStation and the DgnModel holds the new state of the element. More...
 
virtual void _OnUndoRedoXAttributeChange (XAttributeHandleCR xAttr, ChangeTrackAction action, bool isUndo, ChangeTrackSource source)
 Called whenever an XAttribute is changed by either the Undo or Redo command in MicroStation. More...
 
virtual void _OnXAttributeChanged (XAttributeHandleCR xAttr, ChangeTrackAction action, bool *cantBeUndoneFlag)
 Called when an XAttribute has been added, removed, or modified on the element. More...
 
virtual PreActionStatus _OnAdd (EditElementHandleR)
 
virtual PreActionStatus _OnReplace (EditElementHandleR, ElementHandleCR)
 
virtual PreActionStatus _OnDelete (ElementHandleCR)
 
virtual PreActionStatus _OnRemoveHandler (ElementHandleCR)
 

Detailed Description

A grouped hole is a sub-type of cell.

A grouped hole cell must have a first child that is a closed curve with solid area type followed by at least one closed curve with hole area type. Displays fill using parity rules.

Remarks
Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib

Member Function Documentation

static DGNPLATFORM_EXPORT BentleyStatus CreateGroupedHoleElement ( EditElementHandleR  eeh,
EditElementHandleR  solidEeh,
ElementAgendaR  holes 
)
static

Create a new grouped hole cell from the supplied solid element and collection of hole elements.

Only closed curves are acceptable for the solid and hole loops.

Parameters
[out]eehThe new element.
[in]solidEehElement to use for solid loop.
[in]holesElements to use for hole loops, requires a minimum of one.
Returns
SUCCESS if a valid element is created and range was sucessfully calculated.
Note
solidEeh and hole agenda entries will be invalid after this call unless they represent persistent elements.
See also
IsValidGroupedHoleComponentType
static DGNPLATFORM_EXPORT bool IsGroupedHole ( ElementHandleCR  eh)
static

Check the supplied element to see if it represents a grouped hole.

Parameters
[in]ehThe element to check.
Returns
true if element is a grouped hole.
See also
IPlanarRegionQuery::HasHoles
static DGNPLATFORM_EXPORT bool IsValidGroupedHoleComponentType ( ElementHandleCR  eh)
static

Check the supplied element to determine if it is an acceptable type for inclusion in a grouped hole, either as a solid or hole loop.

Valid components are closed curves of the following types:

  • SHAPE_ELM
  • CMPLX_SHAPE_ELM
  • ELLIPSE_ELM
  • BSPLINE_CURVE_ELM
Parameters
[in]ehThe element to check.
Returns
true if element is valid candidate.

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

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