ElementGeometry.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 "SolidKernel.h"
12 
14 
15 // =======================================================================================
17 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
18 // @bsiclass Bentley Systems
19 // =======================================================================================
21 {
22 private:
23  virtual void MakeClassAbstract() = 0;
24 public:
25 public:
26 
32 
34 DGNPLATFORM_EXPORT static CurveVectorPtr ElementToCurveVector (ElementHandleCR eh);
35 
40 DGNPLATFORM_EXPORT static BentleyStatus ElementToCurveVectors (ElementHandleCR eh, bvector<CurveVectorPtr>& curves);
41 };
42 
43 // =======================================================================================
45 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
46 // @bsiclass Bentley Systems
47 // =======================================================================================
49 {
50 private:
51  virtual void MakeClassAbstract() = 0;
52 public:
53 public:
54 
60 };
61 
62 // =======================================================================================
64 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
65 // @bsiclass Bentley Systems
66 // =======================================================================================
68 {
69 private:
70  virtual void MakeClassAbstract() = 0;
71 public:
72 public:
73 
78 DGNPLATFORM_EXPORT BentleyStatus GetBsplineSurface (ElementHandleCR source, MSBsplineSurfacePtr& surface);
79 };
80 
81 // =======================================================================================
83 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
84 // @bsiclass Bentley Systems
85 // =======================================================================================
87 {
88 private:
89  virtual void MakeClassAbstract() = 0;
90 public:
91 public:
92 
98 };
99 
100 // =======================================================================================
102 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
103 // @bsiclass Bentley Systems
104 // =======================================================================================
106 {
107 private:
108  virtual void MakeClassAbstract() = 0;
109 public:
110 public:
111 
116 DGNPLATFORM_EXPORT BentleyStatus GetSolidPrimitive (ElementHandleCR source, ISolidPrimitivePtr& primitive);
117 
122 DGNPLATFORM_EXPORT static ISolidPrimitivePtr ElementToSolidPrimitive (ElementHandleCR eh, bool simplify = true);
123 };
124 
125 // =======================================================================================
127 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
128 // @bsiclass Bentley Systems
129 // =======================================================================================
131 {
132 private:
133  virtual void MakeClassAbstract() = 0;
134 public:
135 public:
136 
141 DGNPLATFORM_EXPORT BentleyStatus SetSolidPrimitive (EditElementHandleR eeh, ISolidPrimitiveCR primitive);
142 };
143 
144 // =======================================================================================
146 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
147 // @bsiclass Bentley Systems
148 // =======================================================================================
150 {
151 private:
152  virtual void MakeClassAbstract() = 0;
153 public:
154 public:
155 
160 DGNPLATFORM_EXPORT BentleyStatus GetMeshData (ElementHandleCR source, PolyfaceHeaderPtr& meshData);
161 
162 };
163 
164 // =======================================================================================
166 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
167 // @bsiclass Bentley Systems
168 // =======================================================================================
170 {
171 private:
172  virtual void MakeClassAbstract() = 0;
173 public:
174 public:
175 
181 };
182 
183 // =======================================================================================
186 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
187 // @bsiclass Bentley Systems
188 // =======================================================================================
190 {
191 private:
192  virtual void MakeClassAbstract() = 0;
193 public:
194 public:
195 
201 DGNPLATFORM_EXPORT BentleyStatus GetBRepDataEntity (ElementHandleCR source, ISolidKernelEntityPtr& entity, bool useCache = false);
202 
206 DGNPLATFORM_EXPORT static double GetSolidKernelToUORScale (DgnModelP dgnCache);
207 };
208 
209 // =======================================================================================
211 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
212 // @bsiclass Bentley Systems
213 // =======================================================================================
215 {
216 private:
217  virtual void MakeClassAbstract() = 0;
218 public:
219 public:
220 
226 };
227 
229 
230 // =======================================================================================
236 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
237 // @bsiclass Bentley Systems
238 // =======================================================================================
240 {
241 private:
242  virtual void MakeClassAbstract() = 0;
243 public:
244 public:
245 
249 DGNPLATFORM_EXPORT bool IsNormalCell (ElementHandleCR eh);
250 
254 DGNPLATFORM_EXPORT bool IsSharedCell (ElementHandleCR eh);
255 
259 DGNPLATFORM_EXPORT bool IsSharedCellDefinition (ElementHandleCR eh);
260 
269 DGNPLATFORM_EXPORT bool IsPointCell (ElementHandleCR eh);
270 
275 DGNPLATFORM_EXPORT bool IsAnnotation (ElementHandleCR eh);
276 
282 DGNPLATFORM_EXPORT bool IsAnonymous (ElementHandleCR eh);
283 
290 
298 DGNPLATFORM_EXPORT BentleyStatus ExtractName (WCharP cellName, int bufferSize, ElementHandleCR eh);
299 
310 DGNPLATFORM_EXPORT BentleyStatus ExtractDescription (WCharP descr, int bufferSize, ElementHandleCR eh);
311 };
312 
313 // =======================================================================================
316 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
317 // @bsiclass Bentley Systems
318 // =======================================================================================
320 {
321 private:
322  virtual void MakeClassAbstract() = 0;
323 public:
324 public:
325 
331 DGNPLATFORM_EXPORT bool GetMlineScaleOption (ElementHandleCR eh);
332 
340 DGNPLATFORM_EXPORT bool GetDimScaleOption (ElementHandleCR eh);
341 
347 DGNPLATFORM_EXPORT bool GetDimRotationOption (ElementHandleCR eh);
348 
354 DGNPLATFORM_EXPORT ElementRefP GetDefinition (ElementHandleCR eh, DgnFileR dgnFile);
355 
363 DGNPLATFORM_EXPORT BentleyStatus GetDefinitionId (ElementHandleCR eh, ElementId& elemID);
364 
369 DGNPLATFORM_EXPORT SCOverride const* GetSharedCellOverrides (ElementHandleCR eh);
370 
377 DGNPLATFORM_EXPORT static ElementRefP FindDefinitionByName (WCharCP name, DgnFileR dgnFile);
378 };
379 
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
wchar_t * WCharP
Definition: Bentley.h:225
Modify an element that represents a mesh.
Definition: ElementGeometry.h:169
A writeable "handle" to an MSElement.
Definition: ElementHandle.h:470
Query an element for a geometric representation that is a surface/solid primitive.
Definition: ElementGeometry.h:105
struct CurveVector const & CurveVectorCR
Definition: msgeomstructs_typedefs.h:172
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
A DgnFile is an in-memory representation of a physical file, regardless of its format.
Definition: DgnFile.h:308
wchar_t const * WCharCP
Definition: Bentley.h:224
Modify an element that represents an open or closed path.
Definition: ElementGeometry.h:48
Query an element for a geometric representation that is a bspline surface.
Definition: ElementGeometry.h:67
struct MSBsplineSurface const & MSBsplineSurfaceCR
Definition: msgeomstructs_typedefs.h:159
A DgnModel represents a DgnModel in memory.
Definition: DgnModel.h:236
ISolidKernelEntity represents a boundary representation body (BRep).
Definition: SolidKernel.h:27
#define CLRPUBLIC
Definition: DgnPlatform/ExportMacros.h:12
BentleyStatus
Definition: Bentley.h:208
Interface that provides direct and efficient access to element data.
Definition: ElementRefBase.h:120
struct ISolidPrimitive const & ISolidPrimitiveCR
Definition: msgeomstructs_typedefs.h:185
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
UInt64 ElementId
Definition: DgnPlatformBaseType.r.h:83
Query an element for a geometric representation that uses a solid modeling kernel.
Definition: ElementGeometry.h:189
Modify an element that represents a bspline surface.
Definition: ElementGeometry.h:86
Query an element for a geometric representation that is a polyface mesh.
Definition: ElementGeometry.h:149
Query an element for information specific to shared cells.
Definition: ElementGeometry.h:319
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
#define EXPORT_VTABLE_ATTRIBUTE
Definition: Bentley.h:67
"Read only" facet interface.
Definition: Polyface.h:574
Vector with x,y,z components.
Definition: dvec3d.h:110
Query an element if it is a public collection of other elements.
Definition: ElementGeometry.h:239
Modify an element that represents a solid modeling kernel surface or solid.
Definition: ElementGeometry.h:214
Query an element for a geometric representation that is an open or closed curve path.
Definition: ElementGeometry.h:20
Modify an element that represents a surface/solid primitive.
Definition: ElementGeometry.h:130

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