FenceManager.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
9 
14 
16 
17 /*=================================================================================**/
23 {
24 public:
25 
27  {
28  FENCE_NormalDraw = 0,
29  FENCE_InhibitDraw = 1,
30  FENCE_InhibitFill = 2,
31  };
32 
33 private:
34  virtual void MakeClassAbstract() = 0;
35 public:
36 public:
37 
38 DGNVIEW_EXPORT bool UseActiveFence ();
39 DGNVIEW_EXPORT bool IsFenceActive ();
40 DGNVIEW_EXPORT bool IsVoidMode ();
41 DGNVIEW_EXPORT bool IsOverlapMode ();
42 DGNVIEW_EXPORT bool IsClipMode ();
43 DGNVIEW_EXPORT bool IsDefinedByElem ();
44 DGNVIEW_EXPORT bool IsDefinedByPoints ();
45 
46 DGNVIEW_EXPORT void ClearFence ();
47 DGNVIEW_EXPORT void DisplayFence (ViewportP, TransformCP optTrans=0, int const* optTransparency=0);
48 DGNVIEW_EXPORT void SetInhibitFenceDisplay (FenceDisplayMode inhibit);
49 
50 DGNVIEW_EXPORT ViewportP GetFenceViewport ();
51 DGNVIEW_EXPORT ElementHandleCP GetFenceElem ();
52 DGNVIEW_EXPORT StatusInt GetFencePoints (bvector<DPoint3d>&);
53 
54 DGNVIEW_EXPORT StatusInt DefineByElement (ElementHandleP, ViewportP);
55 DGNVIEW_EXPORT StatusInt DefineByPoints (DPoint3dCP, int numPoints, ViewportP);
56 DGNVIEW_EXPORT StatusInt TransformFence (TransformCP);
57 
58 DGNVIEW_EXPORT StatusInt InitFromActiveFence (FenceParamsR, bool overlap, bool doClip, FenceClipMode allowClipFlag);
59 DGNVIEW_EXPORT StatusInt BuildAgenda (FenceParamsR, ElementAgendaR, DgnModelRefListP, bool modifyOrig, bool allowLocked, bool callAsynch);
60 
61 DGNVIEW_EXPORT FenceStretchFlags GetActiveFenceStretchFlags ();
62 DGNVIEW_EXPORT FenceClipFlags GetActiveFenceClipFlags ();
63 
64 DGNVIEW_EXPORT StatusInt StretchElement (FenceParamsR, EditElementHandleR, TransformCR, FenceStretchFlags);
65 DGNVIEW_EXPORT StatusInt ClipElement (FenceParamsR, ElementAgendaP inside, ElementAgendaP outside, ElementHandleCR, FenceClipFlags);
66 
67 DGNVIEW_EXPORT static FenceManagerR GetManager ();
68 
69 }; // FenceManager
70 
73 
FenceStretchFlags
Influences how handler should apply fence stretch.
Definition: DgnPlatform.h:1417
A readonly "handle" to an element.
Definition: ElementHandle.h:113
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
struct DPoint3d const * DPoint3dCP
Definition: msgeomstructs_typedefs.h:79
FenceClipFlags
Influences how handler should apply fence clip.
Definition: DgnPlatform.h:1429
A writeable "handle" to an MSElement.
Definition: ElementHandle.h:470
FenceClipMode
The fence clip mode controls element acceptance criteria.
Definition: FenceParams.h:19
Manages the actively displayed fence.
Definition: FenceManager.h:22
struct Transform const * TransformCP
Definition: msgeomstructs_typedefs.h:134
FenceDisplayMode
Definition: FenceManager.h:26
IManager * GetManager()
Return a pointer to the one and only relationship manager.
A bvector of EditElementHandle entries to be used for operating on groups of elements.
Definition: ElementAgenda.h:257
struct DgnPlatform::ElementHandle const * ElementHandleCP
Definition: DgnPlatform.h:260
*//* Bentley Systems
Definition: DgnModelRef.h:67
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
struct Transform const & TransformCR
Definition: msgeomstructs_typedefs.h:134
int StatusInt
Definition: Bentley.h:222
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
Class for finding elements that are inside or overlap a volume defined by an extrusion of a planar re...
Definition: FenceParams.h:32
Definition: DgnViewport.h:186

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