DisplayHandler.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 
10 #include "DgnPlatform.h"
11 #include "DgnFileIO/DgnElements.h"
12 #include "DgnECInstance.h"
13 
14 #include <map>
15 #include "Handler.h"
16 #include "ElementHandle.h"
17 
19 
22 
23 /*=================================================================================**/
30 struct DisplayHandler : public Handler
31 {
34 private:
35  virtual void MakeClassAbstract() = 0;
36 public:
37 
38 public:
39 
49 DGNPLATFORM_EXPORT void GetPathDescription (ElementHandleCR el, WStringR string, DisplayPathCP path, WCharCP levelStr, WCharCP modelStr, WCharCP groupStr, WCharCP delimiterStr);
50 
66 DGNPLATFORM_EXPORT void GetTransformOrigin (ElementHandleCR el, DPoint3dR origin);
67 
73 DGNPLATFORM_EXPORT void GetSnapOrigin (ElementHandleCR el, DPoint3dR origin);
74 
79 DGNPLATFORM_EXPORT void GetOrientation (ElementHandleCR el, RotMatrixR orientation);
80 
84 DGNPLATFORM_EXPORT bool GetBasisTransform (ElementHandleCR eh, TransformR transform);
85 
89 DGNPLATFORM_EXPORT bool GetBasisRange (ElementHandleCR eh, DRange3dR range);
90 
93 DGNPLATFORM_EXPORT void SetBasisRange (EditElementHandleR eh, DRange3dCR range);
94 
97 DGNPLATFORM_EXPORT void SetBasisTransform (EditElementHandleR eh, TransformCR transform);
98 
101 DGNPLATFORM_EXPORT static void InitializeBasis (EditElementHandleR eh, TransformCR transform, DRange3dCP range);
102 
108 DGNPLATFORM_EXPORT bool IsRenderable (ElementHandleCR el);
109 
116 DGNPLATFORM_EXPORT bool IsPlanar (ElementHandleCR el, DVec3dP normal, DPoint3dP point, DVec3dCP inputDefaultNormal);
117 
126 DGNPLATFORM_EXPORT bool IsVisible (ElementHandleCR el, ViewContextR context, bool testRange, bool testLevel, bool testClass);
127 
135 
136 
137 };
138 
139 
141 
143 
144 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
struct DVec3d const * DVec3dCP
Definition: msgeomstructs_typedefs.h:89
3x3 matrix commonly used for pure rotations, but in general may also have scales and non-perpendicula...
Definition: rotmatrix.h:21
Definition: ViewContext.h:358
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
#define ELEMENTHANDLER_DECLARE_MEMBERS(__classname__, __exporter__)
Definition: Handler.h:86
A writeable "handle" to an MSElement.
Definition: ElementHandle.h:470
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
wchar_t const * WCharCP
Definition: Bentley.h:224
struct DgnPlatform::DisplayPath const * DisplayPathCP
Definition: DgnPlatform.h:236
Base class for handlers that control the display of graphic (visible) elements.
Definition: DisplayHandler.h:30
3d point coordinates.
Definition: dpoint3d.h:19
struct DRange3d const & DRange3dCR
Definition: msgeomstructs_typedefs.h:108
A bvector of EditElementHandle entries to be used for operating on groups of elements.
Definition: ElementAgenda.h:257
#define DEFINE_T_SUPER(B)
Definition: Bentley.h:167
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
struct Transform const & TransformCR
Definition: msgeomstructs_typedefs.h:134
struct DRange3d const * DRange3dCP
Definition: msgeomstructs_typedefs.h:108
int StatusInt
Definition: Bentley.h:222
3x4 matrix for defining coordinate frames and affine transformations.
Definition: transform.h:22
struct DgnPlatform::DropGeometry const & DropGeometryCR
Definition: DgnPlatform.h:249
Handler defines the standard queries and operations available on all elements, whether graphical or n...
Definition: Handler.h:159
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
Vector with x,y,z components.
Definition: dvec3d.h:110
A 3d low and high corner pair for range boxes.
Definition: drange3d.h:20
A string class that has many of the same capabilities as std::string, plus additional functions such ...
Definition: WString.h:51

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