IViewDraw.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 "DgnFileIO/DgnElements.h"
11 #include "LineStyleResource.r.h"
12 #include "AreaPattern.h"
13 #include "ElementHandle.h"
14 #include <Bentley/RefCounted.h>
15 
16 
18 
19 /*=================================================================================**/
25 {
27  void Init()
28  {
29  memset (this, 0, sizeof(LineStyleParams));
30  this->rMatrix.form3d[0][0] = this->rMatrix.form3d[1][1] = this->rMatrix.form3d[2][2] =
31  this->scale = this->gapScale = this->dashScale = this->normal.z = 1.0;
32  }
33 
34 };
35 
37 
38 //=======================================================================================
41 // @bsiclass Bentley Systems
42 //=======================================================================================
43 struct ISprite;
44 struct IDgnOleDraw;
45 
46 enum class DrawExpense
47 {
48  Medium = 1,
49  High = 2,
50 };
51 
52 enum class FillDisplay
53 {
54  Never = 0,
55  ByView = 1,
56  Always = 2,
57  Blanking = 3,
58 };
59 
60 #define SCREENING_Full 0.0
61 #define SCREENING_None 100.0
62 
63 enum class LineJoin
64 {
65  None = 0,
66  Bevel = 1,
67  Miter = 2,
68  Round = 3,
69 };
70 
71 enum class LineCap
72 {
73  None = 0,
74  Flat = 1,
75  Square = 2,
76  Round = 3,
77  Triangle = 4,
78 };
79 
80 enum class RangeResult
81 {
82  Outside = -1,
83  Overlap = 0,
84  Inside = 1,
85 };
86 
87 enum class RasterFormat
88 {
89  RGBA = 0,
90  BGRA = 1,
91  RGB = 2,
92  BGR = 3,
93  Gray = 4,
94  Alpha = 5, // not valid for icons
95  RGBS = 6, // 4 band with alpha stencil (0 or 255 only)
96  BGRS = 7, // 4 band with alpha stencil (0 or 255 only)
97 };
98 
100 
101 //=======================================================================================
104 //=======================================================================================
106 {
107 private:
108  virtual void MakeClassAbstract() = 0;
109 public:
110 public:
111 
113 DGNPLATFORM_EXPORT static GradientSymbPtr Create ();
114 
117 
118 DGNPLATFORM_EXPORT int GetNKeys () const;
119 DGNPLATFORM_EXPORT GradientMode GetMode () const;
120 DGNPLATFORM_EXPORT UInt16 GetFlags () const;
121 DGNPLATFORM_EXPORT double GetShift () const;
122 DGNPLATFORM_EXPORT double GetTint () const;
123 DGNPLATFORM_EXPORT double GetAngle () const;
124 DGNPLATFORM_EXPORT void GetKey (RgbColorDef& color, double& value, int index) const;
125 
126 DGNPLATFORM_EXPORT void SetMode (GradientMode mode);
127 DGNPLATFORM_EXPORT void SetFlags (UInt16 flags);
128 DGNPLATFORM_EXPORT void SetAngle (double angle);
129 DGNPLATFORM_EXPORT void SetTint (double tint);
130 DGNPLATFORM_EXPORT void SetShift (double shift);
131 DGNPLATFORM_EXPORT void SetKeys (UInt16 nKeys, RgbColorDef const* colors, double const* values);
132 
133 }; // GradientSymb
134 
136 
137 //=======================================================================================
143 //=======================================================================================
145 {
146 public:
147 
150 
152 DGNPLATFORM_EXPORT uintptr_t GetId () const;
153 
156 DGNPLATFORM_EXPORT static QVAliasMaterialIdPtr Create (uintptr_t qvAliasMaterialId);
157 };
158 
160 
161 //=======================================================================================
162 // Base class for MaterialUVDetail
163 //=======================================================================================
165 {
166 private:
167  mutable UInt32 m_refCount;
168 
169 protected:
170  virtual ~MaterialUVDetailBase () {}
171  virtual void _Recycle () const = 0;
172  MaterialUVDetailBase () : m_refCount(0) {}
173 
174 public:
175  UInt32 AddRef () const {return ++m_refCount;}
176  virtual UInt32 Release () const
177  {
178  if (1 < m_refCount--)
179  return m_refCount;
180 
181  _Recycle();
182  return 0;
183  }
184 };
185 
186 //=======================================================================================
192 //=======================================================================================
194 {
195 private:
196 
198 
199 public:
200 
204 
207 DGNPLATFORM_EXPORT bool Equals (MaterialUVDetailCR rhs);
208 
210 DGNPLATFORM_EXPORT DPoint3dCR GetOrigin () const;
211 
213 DGNPLATFORM_EXPORT void SetOrigin (DPoint3dCR origin);
214 
216 DGNPLATFORM_EXPORT RotMatrixCR GetRMatrix () const;
217 
219 DGNPLATFORM_EXPORT void SetRMatrix (RotMatrixCR rMatrix);
220 
222 DGNPLATFORM_EXPORT DPoint3dCR GetSize () const;
223 
225 DGNPLATFORM_EXPORT void SetSize (DPoint3dCR size);
226 
228 DGNPLATFORM_EXPORT int GetMapMode () const;
229 
231 DGNPLATFORM_EXPORT void SetMapMode (int mapMode);
232 
234 DGNPLATFORM_EXPORT int GetProjectionVariant () const;
235 
237 DGNPLATFORM_EXPORT void SetProjectionVariant (int variant);
238 
240 DGNPLATFORM_EXPORT QVAliasMaterialIdCP GetQVAliasMaterialId () const;
241 
245 DGNPLATFORM_EXPORT void SetQVAliasMaterialId (QVAliasMaterialIdP qvId);
246 
248 DGNPLATFORM_EXPORT ElementHandleCR GetElementHandle () const;
249 
251 DGNPLATFORM_EXPORT void SetElementHandle (ElementHandleCR eh);
252 
254 DGNPLATFORM_EXPORT static MaterialUVDetailPtr Create ();
255 };
256 
257 //=======================================================================================
260 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
261 // @bsiclass Bentley Systems
262 //=======================================================================================
264 {
265 private:
266  virtual void MakeClassAbstract() = 0;
267 public:
268 public:
269 
272 
275 
277 DGNPLATFORM_EXPORT UInt32 GetLineColor () const;
278 
280 DGNPLATFORM_EXPORT UInt32 GetLineColorTBGR () const;
281 
283 DGNPLATFORM_EXPORT bool IsLineColorTBGR () const;
284 
286 DGNPLATFORM_EXPORT UInt32 GetFillColor () const;
287 
289 DGNPLATFORM_EXPORT UInt32 GetFillColorTBGR () const;
290 
292 DGNPLATFORM_EXPORT bool IsFillColorTBGR () const;
293 
295 DGNPLATFORM_EXPORT FillDisplay GetFillDisplay () const;
296 
298 DGNPLATFORM_EXPORT GradientSymbCP GetGradient () const;
299 
301 DGNPLATFORM_EXPORT Int32 GetLineStyle () const;
302 
304 DGNPLATFORM_EXPORT DgnModelRefP GetLineStyleModelRef () const;
305 
307 DGNPLATFORM_EXPORT LineStyleParamsCP GetLineStyleParams () const;
308 
310 DGNPLATFORM_EXPORT UInt32 GetWeight () const;
311 
313 DGNPLATFORM_EXPORT LevelId GetLevel () const;
314 
316 DGNPLATFORM_EXPORT DgnElementClass GetElementClass () const;
317 
319 DGNPLATFORM_EXPORT double GetTransparency () const;
320 
322 DGNPLATFORM_EXPORT MaterialCP GetMaterial () const;
323 
325 DGNPLATFORM_EXPORT Int32 GetElementDisplayPriority () const;
326 
328 DGNPLATFORM_EXPORT DVec3dCP GetThickness (bool& isCapped) const;
329 
331 DGNPLATFORM_EXPORT MaterialUVDetailCP GetMaterialUVDetail () const;
332 
333 }; // ElemDisplayParams
334 
335 //=======================================================================================
340 //=======================================================================================
342 {
343 private:
344  virtual void MakeClassAbstract() = 0;
345 public:
346 public:
347 
349 
350 DGNPLATFORM_EXPORT WCharCP GetName () const;
351 
352 DGNPLATFORM_EXPORT void GetPlaneAsMatrixRows (RotMatrixR) const;
353 DGNPLATFORM_EXPORT double GetScale () const;
354 DGNPLATFORM_EXPORT double GetDashScale () const;
355 DGNPLATFORM_EXPORT double GetGapScale () const;
356 DGNPLATFORM_EXPORT double GetOriginWidth () const;
357 DGNPLATFORM_EXPORT double GetEndWidth () const;
358 
359 DGNPLATFORM_EXPORT void SetPlaneAsMatrixRows (RotMatrixCP);
360 DGNPLATFORM_EXPORT void SetScale (double scale);
361 DGNPLATFORM_EXPORT void SetGapScale (double scale);
362 DGNPLATFORM_EXPORT void SetDashScale (double scale);
363 DGNPLATFORM_EXPORT void SetOriginWidth (double width);
364 DGNPLATFORM_EXPORT void SetEndWidth (double width);
365 
366 }; // LineStyleSymb
367 
368 //=======================================================================================
379 //=======================================================================================
381 {
382 private:
383  virtual void MakeClassAbstract() = 0;
384 public:
385 public:
387 
388 
391 
394 
396 DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetLineColorTBGR () const;
397 
399 DGNPLATFORM_EXPORT_DGNVIEW_INLINE int GetLineColorIndex () const;
400 
402 DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetFillColorTBGR () const;
403 
405 DGNPLATFORM_EXPORT_DGNVIEW_INLINE int GetFillColorIndex () const;
406 
408 DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetWidth () const;
409 
411 DGNPLATFORM_EXPORT_DGNVIEW_INLINE bool HasTrueWidth () const;
412 
415 DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetRasterPattern () const;
416 
418 DGNPLATFORM_EXPORT_DGNVIEW_INLINE Int32 GetRasterPatternIndex () const;
419 
421 DGNPLATFORM_EXPORT_DGNVIEW_INLINE bool IsFilled () const;
422 
424 DGNPLATFORM_EXPORT_DGNVIEW_INLINE bool IsBlankingRegion () const;
425 
427 DGNPLATFORM_EXPORT_DGNVIEW_INLINE LineStyleSymbCR GetLineStyleSymb () const;
428 
430 DGNPLATFORM_EXPORT_DGNVIEW_INLINE GradientSymbCP GetGradientSymb () const;
431 
433 DGNPLATFORM_EXPORT_DGNVIEW_INLINE MaterialCP GetMaterial () const;
434 
436 DGNPLATFORM_EXPORT_DGNVIEW_INLINE MaterialUVDetailCP GetMaterialUVDetail () const;
437 
439 DGNPLATFORM_EXPORT_DGNVIEW_INLINE PatternParamsCP GetPatternParams () const;
440 
442 
444 
445 
449 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetLineColorTBGR (UInt32 lineColor);
450 
455 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedLineColorTBGR (int index, UInt32 lineColor);
456 
460 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetFillColorTBGR (UInt32 fillColor);
461 
466 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedFillColorTBGR (int index, UInt32 fillColor);
467 
471 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIsFilled (bool filled);
472 
474 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIsBlankingRegion (bool blanking);
475 
480 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetWidth (UInt32 rasterWidth);
481 
486 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetRasterPattern (UInt32 rasterPat);
487 
493 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedRasterPattern (Int32 index, UInt32 rasterPat);
494 
497 
499 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetMaterial (MaterialCP, ViewContextP seedContext = NULL);
500 
502 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetMaterialUVDetail (MaterialUVDetailP detail);
503 
505 DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetPatternParams (PatternParamsPtr& patternParams);
506 
508 }; // ElemMatSymb
509 
510 //=======================================================================================
512 //=======================================================================================
514 {
518  MATSYMB_OVERRIDE_FillColor = (1<<2) | (1<<31),
525 };
526 
527 //=======================================================================================
531 //=======================================================================================
533 {
534 private:
535  virtual void MakeClassAbstract() = 0;
536 public:
537 public:
538 
540 
541  DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetFlags () const;
542  DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetLineColorTBGR () const;
543  DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetFillColorTBGR () const;
544  DGNPLATFORM_EXPORT_DGNVIEW_INLINE int GetLineColorIndex () const;
545  DGNPLATFORM_EXPORT_DGNVIEW_INLINE int GetFillColorIndex () const;
546  DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetWidth () const;
547  DGNPLATFORM_EXPORT_DGNVIEW_INLINE UInt32 GetRasterPattern () const;
548  DGNPLATFORM_EXPORT_DGNVIEW_INLINE Int32 GetRasterPatternIndex () const;
549  DGNPLATFORM_EXPORT_DGNVIEW_INLINE MaterialCP GetMaterial () const;
550 
551  DGNPLATFORM_EXPORT_DGNVIEW_INLINE MaterialUVDetailCP GetMaterialUVDetail () const;
552  DGNPLATFORM_EXPORT_DGNVIEW_INLINE PatternParamsCP GetPatternParams () const;
553 
554  DGNPLATFORM_EXPORT void Clear ();
555  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetFlags (UInt32 flags);
556  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetLineColorTBGR (UInt32 lineColor);
557  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetFillColorTBGR (UInt32 fillColor);
558  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedLineColorTBGR (int index, UInt32 lineColor);
559  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedFillColorTBGR (int index, UInt32 fillColor);
560  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetTransparentLineColor (UInt32 transparency);
561  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetTransparentFillColor (UInt32 transparency);
562  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetWidth (UInt32 rasterWidth);
563  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetRasterPattern (UInt32 rasterPat);
564  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetIndexedRasterPattern (Int32 index, UInt32 rasterPat);
566  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetMaterialUVDetail (MaterialUVDetailP detail);
567  DGNPLATFORM_EXPORT_DGNVIEW_INLINE void SetPatternParams (PatternParamsPtr& patternParams);
568  DGNPLATFORM_EXPORT void SetLineStyle (Int32 styleNo, DgnModelRefR modelRef, DgnModelRefR styleModelRef, LineStyleParamsCP lStyleParams, ViewContextR context, DPoint3dCP startTangent, DPoint3dCP endTangent);
569 
570 }; // OvrMatSymb
571 
572 //=======================================================================================
573 // @bsiclass Bentley Systems
574 //=======================================================================================
576 {
578  {
579  IPointCloudDrawParams_InitialVersion = 1
580  };
581 
582  // If IsThreadBound returns false, implement AddRef and Release using InterlockedIncrement
583  // InterlockedDecrement
584  virtual UInt32 AddRef () = 0;
585  virtual UInt32 Release () = 0;
586  virtual bool IsThreadBound () = 0;
587  virtual VersionNumber GetVersion () { return IPointCloudDrawParams_InitialVersion; }
588  virtual bool GetRange (DPoint3dP range) = 0;
589 
590  // Added to points returned by GetPoints or GetFPoints
591  virtual bool GetOrigin (DPoint3dP origin) = 0;
592 
593  virtual RgbColorDef const * GetRgbColors () = 0;
594 
595  virtual UInt32 GetNumPoints () = 0;
596  virtual DPoint3dCP GetDPoints () = 0;
597  virtual FPoint3dCP GetFPoints () = 0;
598 };
599 
600 
601 //=======================================================================================
617 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
618 // @bsiclass Bentley Systems
619 //=======================================================================================
620 struct IDrawGeom
621 {
622 private:
623  virtual void MakeClassAbstract() = 0;
624 public:
625 public:
626 
633 DGNPLATFORM_EXPORT ViewFlagsCP GetDrawViewFlags ();
634 
637 DGNPLATFORM_EXPORT void SetDrawViewFlags (ViewFlagsCP);
638 
644 DGNPLATFORM_EXPORT void ActivateMatSymb (ElemMatSymbCP matSymb);
645 
650 DGNPLATFORM_EXPORT void ActivateOverrideMatSymb (OvrMatSymbCP ovrMatSymb);
651 
658 DGNPLATFORM_EXPORT void DrawLineString3d (int numPoints, DPoint3dCP points, DPoint3dCP range);
659 
667 DGNPLATFORM_EXPORT void DrawLineString2d (int numPoints, DPoint2dCP points, double zDepth, DPoint2dCP range);
668 
675 DGNPLATFORM_EXPORT void DrawPointString3d (int numPoints, DPoint3dCP points, DPoint3dCP range);
676 
684 DGNPLATFORM_EXPORT void DrawPointString2d (int numPoints, DPoint2dCP points, double zDepth, DPoint2dCP range);
685 
694 DGNPLATFORM_EXPORT void DrawShape3d (int numPoints, DPoint3dCP points, bool filled, DPoint3dCP range);
695 
705 DGNPLATFORM_EXPORT void DrawShape2d (int numPoints, DPoint2dCP points, bool filled, double zDepth, DPoint2dCP range);
706 
714 DGNPLATFORM_EXPORT void DrawArc3d (DEllipse3dCR ellipse, bool isEllipse, bool filled, DPoint3dCP range);
715 
724 DGNPLATFORM_EXPORT void DrawArc2d (DEllipse3dCR ellipse, bool isEllipse, bool filled, double zDepth, DPoint2dCP range);
725 
728 DGNPLATFORM_EXPORT void DrawBSplineCurve (MSBsplineCurveCR curve, bool filled);
729 
733 DGNPLATFORM_EXPORT void DrawBSplineCurve2d (MSBsplineCurveCR curve, bool filled, double zDepth);
734 
737 DGNPLATFORM_EXPORT void DrawCurveVector (CurveVectorCR curves, bool isFilled);
738 
742 DGNPLATFORM_EXPORT void DrawCurveVector2d (CurveVectorCR curves, bool isFilled, double zDepth);
743 
747 DGNPLATFORM_EXPORT void DrawSolidPrimitive (ISolidPrimitiveCR primitive);
748 
751 DGNPLATFORM_EXPORT void DrawBSplineSurface (MSBsplineSurfaceCR);
752 
756 DGNPLATFORM_EXPORT void DrawPolyface (PolyfaceQueryCR meshData, bool filled = false);
757 
761 DGNPLATFORM_EXPORT StatusInt DrawBody (ISolidKernelEntityCR, IFaceMaterialAttachmentsCP attachments = NULL, double pixelSize = 0.0);
762 
767 DGNPLATFORM_EXPORT void DrawTextString (TextStringCR text, double* zDepth = NULL);
768 
770 DGNPLATFORM_EXPORT void DrawTorus (DPoint3dCR center, DVec3dCR vectorX, DVec3dCR vectorY, double majorRadius, double minorRadius, double sweepAngle, bool capped);
771 
773 DGNPLATFORM_EXPORT void DrawCone (DPoint3dCR centerA, DPoint3dCR centerB, double radiusA, double radiusB, bool capped);
774 
776 DGNPLATFORM_EXPORT void DrawSphere (DPoint3dCR center, RotMatrixCR axes, double radius);
777 
779 DGNPLATFORM_EXPORT void DrawBox (DVec3dCR primary, DVec3dCR secondary, DPoint3dCR basePoint, DPoint3dCR topPoint, double baseWidth, double baseLength, double topWidth, double topLength, bool capped);
780 
781 
782 
783 }; // IDrawGeom
784 
785 //=======================================================================================
787 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
788 // @bsiclass Bentley Systems
789 //=======================================================================================
791 {
792 private:
793  virtual void MakeClassAbstract() = 0;
794 public:
795 public:
796 
802 DGNPLATFORM_EXPORT void SetToViewCoords (bool yesNo);
803 
810 DGNPLATFORM_EXPORT void SetSymbology (UInt32 lineColorTBGR, UInt32 fillColorTBGR, int lineWidth, UInt32 linePattern);
811 
821 DGNPLATFORM_EXPORT void DrawGrid (bool doIsoGrid, bool drawDots, DPoint3dCR gridOrigin, DVec3dCR xVector, DVec3dCR yVector, UInt32 gridsPerRef, Point2dCR repetitions);
822 
832 DGNPLATFORM_EXPORT bool DrawSprite (ISprite* sprite, DPoint3dCP location, DPoint3dCP xVec, int transparency);
833 
837 DGNPLATFORM_EXPORT void DrawTiledRaster (ITiledRaster* tiledRaster);
838 
841 DGNPLATFORM_EXPORT void DrawRaster2d (DPoint2d const points[4], int pitch, int numTexelsX, int numTexelsY, int enableAlpha, int format, byte const* texels, double zDepth, DPoint2dCP range);
842 
845 DGNPLATFORM_EXPORT void DrawRaster (DPoint3d const points[4], int pitch, int numTexelsX, int numTexelsY, int enableAlpha, int format, byte const* texels, DPoint3dCP range);
846 
850 DGNPLATFORM_EXPORT void DrawPointCloud (IPointCloudDrawParams* drawParams);
851 
854 DGNPLATFORM_EXPORT void DrawQvElem3d (QvElem* qvElem, int subElemIndex = 0);
855 
858 DGNPLATFORM_EXPORT void DrawQvElem2d (QvElem* qvElem, double zDepth, int subElemIndex = 0);
859 
862 DGNPLATFORM_EXPORT void PushRenderOverrides (ViewFlags, CookedDisplayStyleCP = NULL);
863 
866 DGNPLATFORM_EXPORT void PopRenderOverrides ();
867 
868 }; // IViewDraw
869 
870 //=======================================================================================
873 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
874 // @bsiclass Bentley Systems
875 //=======================================================================================
877 {
878 private:
879  virtual void MakeClassAbstract() = 0;
880 public:
881 public:
882 
884 DGNPLATFORM_EXPORT void BeginCacheElement (bool is3d, QvCache*, ViewFlagsCP, uintptr_t elementId = 0);
885 
887 DGNPLATFORM_EXPORT QvElem* EndCacheElement ();
888 
893 DGNPLATFORM_EXPORT void PushTransform (TransformCR trans);
894 
898 DGNPLATFORM_EXPORT void PopTransform ();
899 
900 
901 }; // ICachedDraw
902 
904 
906 
struct DVec3d const * DVec3dCP
Definition: msgeomstructs_typedefs.h:89
struct RotMatrix const * RotMatrixCP
Definition: msgeomstructs_typedefs.h:135
3x3 matrix commonly used for pure rotations, but in general may also have scales and non-perpendicula...
Definition: rotmatrix.h:21
struct PolyfaceQuery const & PolyfaceQueryCR
Definition: msgeomstructs_typedefs.h:178
struct DgnPlatform::OvrMatSymb const & OvrMatSymbCR
Definition: DgnPlatform.h:416
GradientMode
Definition: DgnPlatform.r.h:494
A Sprite, corresponding to a native Window manager icon.
Definition: ISprite.h:53
Always fill/always behind other geometry. Only applicable to geometry within a single QvElem...
struct DgnPlatform::LineStyleSymb const & LineStyleSymbCR
Definition: DgnPlatform.h:361
void Init()
Initialize LineStyleParamsResource members.
Definition: IViewDraw.h:27
Definition: ViewContext.h:358
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
struct DPoint3d const * DPoint3dCP
Definition: msgeomstructs_typedefs.h:79
struct DgnPlatform::LineStyleParams const * LineStyleParamsCP
Definition: DgnPlatform.h:360
#define DGNPLATFORM_EXPORT_DGNVIEW_INLINE
Definition: DgnPlatform/ExportMacros.h:61
override render material
Definition: IViewDraw.h:524
struct DgnPlatform::ElemDisplayParams const & ElemDisplayParamsCR
Definition: DgnPlatform.h:255
Locate interiors of regions, surfaces, and solids even in wireframe and even with fill display off...
RefCountedPtr< struct MaterialUVDetail > MaterialUVDetailPtr
Definition: IViewDraw.h:159
FillDisplay
< Whether an element should be drawn with its internal area filled or not
Definition: IViewDraw.h:52
struct DgnPlatform::OvrMatSymb const * OvrMatSymbCP
Definition: DgnPlatform.h:416
RefCountedPtr< struct QVAliasMaterialId > QVAliasMaterialIdPtr
Definition: IViewDraw.h:135
UInt32 LevelId
Definition: DgnPlatformBaseType.r.h:85
struct DgnPlatform::IFaceMaterialAttachments const * IFaceMaterialAttachmentsCP
Definition: DgnPlatform.h:333
uint16_t UInt16
Definition: Bentley.r.h:118
DgnCore implements this interface to provide the display system for Viewports.
Definition: IViewDraw.h:790
struct DgnPlatform::GradientSymb const & GradientSymbCR
Definition: DgnPlatform.h:271
struct _fPoint3d const * FPoint3dCP
Definition: msgeomstructs_typedefs.h:129
virtual VersionNumber GetVersion()
Get version number.
Definition: IViewDraw.h:587
RasterFormat
Definition: IViewDraw.h:87
LineCap
Definition: IViewDraw.h:71
struct DgnPlatform::ElemMatSymb const * ElemMatSymbCP
Definition: DgnPlatform.h:257
struct CurveVector const & CurveVectorCR
Definition: msgeomstructs_typedefs.h:172
struct RotMatrix const & RotMatrixCR
Definition: msgeomstructs_typedefs.h:135
DgnCore implements this class to draw geometry using a symbology/material that is different from the ...
Definition: IViewDraw.h:532
Begin/End announcements around cached drawing sequences.
Definition: IViewDraw.h:876
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
struct DgnPlatform::ElemMatSymb const & ElemMatSymbCR
Definition: DgnPlatform.h:257
wchar_t const * WCharCP
Definition: Bentley.h:224
virtual ~MaterialUVDetailBase()
Definition: IViewDraw.h:170
override style
Definition: IViewDraw.h:521
DgnCore implements this class for setting/getting the Material and Symbology (ElemMatSymb) used to dr...
Definition: IViewDraw.h:380
struct DgnPlatform::QVAliasMaterialId const * QVAliasMaterialIdCP
Definition: DgnPlatform.h:431
uint32_t UInt32
Definition: Bentley.r.h:128
RangeResult
Definition: IViewDraw.h:80
#define NULL
Definition: Bentley.h:157
bstdmap & operator=(const bstdmap &__rhs)
Definition: stdcxx/bstdmap.h:170
override fill color, override blanking fill with bg color
Definition: IViewDraw.h:518
DgnCore implements this interface to provide methods that draw geometry in either cached or non-cache...
Definition: IViewDraw.h:620
no overrides
Definition: IViewDraw.h:515
struct MSBsplineSurface const & MSBsplineSurfaceCR
Definition: msgeomstructs_typedefs.h:159
Locate interiors according to view attributes for fill display and render mode. (Default) ...
struct DgnPlatform::ISolidKernelEntity const & ISolidKernelEntityCR
Definition: DgnPlatform.h:331
override true width
Definition: IViewDraw.h:522
struct MSBsplineCurve const & MSBsplineCurveCR
Definition: msgeomstructs_typedefs.h:139
struct DgnPlatform::MaterialUVDetail const & MaterialUVDetailCR
Definition: DgnPlatform.h:399
LineJoin
Definition: IViewDraw.h:63
struct DgnPlatform::Material const * MaterialCP
Definition: DgnPlatform.h:391
virtual UInt32 Release() const
Definition: IViewDraw.h:176
override raster width
Definition: IViewDraw.h:520
3d point coordinates.
Definition: dpoint3d.h:19
The flags that control view information.
Definition: DgnPlatform.r.h:427
#define CLRPUBLIC
Definition: DgnPlatform/ExportMacros.h:12
Parameters defining a line style.
Definition: IViewDraw.h:24
struct DgnPlatform::GradientSymb const * GradientSymbCP
Definition: DgnPlatform.h:271
If one of the uv mapping modes, Directional Drape, Cubic, Spherical or Cylindrical is to be used for ...
Definition: IViewDraw.h:144
A DgnModelRef provides access to a model in a Bentley::DgnPlatform::DgnFile.
Definition: DgnModelRef.h:172
int32_t Int32
Definition: Bentley.r.h:119
A shared pointer template for reference-counted objects.
Definition: RefCounted.h:119
UInt32 AddRef() const
Definition: IViewDraw.h:175
Definition: LineStyleResource.r.h:96
OvrMatSymbFlags
OvrMatSymb flags that determine which overrides are active.
Definition: IViewDraw.h:513
unsigned char byte
Definition: Bentley.r.h:144
override outline color
Definition: IViewDraw.h:516
struct DgnPlatform::TextString const & TextStringCR
Definition: DgnPlatform.h:460
struct ISolidPrimitive const & ISolidPrimitiveCR
Definition: msgeomstructs_typedefs.h:185
#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
Concrete class that can be used to implement the reference-counting pattern.
Definition: RefCounted.h:109
struct DgnPlatform::CookedDisplayStyle const * CookedDisplayStyleCP
Definition: DgnPlatform.h:180
struct DgnPlatform::ViewFlags const * ViewFlagsCP
Definition: DgnPlatform.h:471
This structure holds all of the information about an element specifying the "displayable parameters" ...
Definition: IViewDraw.h:263
Definition: MicroStation.r.h:422
MaterialUVDetailBase()
Definition: IViewDraw.h:172
RefCountedPtr< GradientSymb > GradientSymbPtr
Definition: IViewDraw.h:99
struct DEllipse3d const & DEllipse3dCR
Definition: msgeomstructs_typedefs.h:114
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
DgnElementClass
Definition: DgnPlatform.r.h:1351
Cache it unless at risk of exhausting virtual address.
struct DgnPlatform::ElementHandle const & ElementHandleCR
Definition: DgnPlatform.h:260
Interface to be adopted by a class the implements the reference-counting pattern. ...
Definition: RefCounted.h:34
struct DVec3d const & DVec3dCR
Definition: msgeomstructs_typedefs.h:89
struct DgnPlatform::PatternParams const * PatternParamsCP
Definition: DgnPlatform.h:418
Parameters defining a gradient fill.
Definition: IViewDraw.h:105
struct DPoint2d const * DPoint2dCP
Definition: msgeomstructs_typedefs.h:78
override extended symbology
Definition: IViewDraw.h:523
DrawExpense
Definition: IViewDraw.h:46
size_type size() const
Definition: stdcxx/bstdmap.h:214
override outline color transparency
Definition: IViewDraw.h:517
Definition: DgnPlatform.r.h:339
struct DgnPlatform::MaterialUVDetail const * MaterialUVDetailCP
Definition: DgnPlatform.h:399
override fill color transparency
Definition: IViewDraw.h:519
Materials which use uv mapping modes Directional Drape, Cubic, Spherical and Cylindrical require addi...
Definition: IViewDraw.h:193
2d point coordinates.
Definition: dpoint2d.h:23
This structure contains options (modifications) that can be applied to existing line styles to change...
Definition: IViewDraw.h:341
bool operator==(const BentleyAllocator< _Ty > &, const BentleyAllocator< _Other > &)
Definition: BentleyAllocator.h:146

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