HitPath.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 
11 #include "DisplayPath.h"
12 #include "IViewDraw.h"
13 #include "ViewContext.h"
14 #include "DimensionStyleProps.r.h"
15 #include <Bentley/bvector.h>
16 #include "ISprite.h"
17 
19 
20 
21 
22 //=======================================================================================
24 //=======================================================================================
25 enum class HitPriority
26 {
27  Highest = 0,
28  Vertex = 300,
29  Origin = 400,
30  CellOrigin = 400,
31  Edge = 400,
32  Compound = 500,
33  TestBox = 550,
34  Interior = 600,
35 };
36 
37 
38 //=======================================================================================
40 //=======================================================================================
41 enum class HitSource
42 {
43  None = 0,
44  FromUser = 1,
45  MotionLocate = 2,
46  AccuSnap = 3,
47  TentativeSnap = 4,
48  DataPoint = 5,
49  Application = 6,
50  EditAction = 7,
51  EditActionSS = 8,
52 };
53 
54 //=======================================================================================
58 //=======================================================================================
59 enum class HitGeomType
60 {
61  None = 0,
62  Point = 1,
63  Segment = 2,
64  Curve = 3,
65  Arc = 4,
66  Surface = 5,
67 };
68 
69 struct IViewHandlerHitInfo;
70 
71 //=======================================================================================
72 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
73 // @bsiclass Bentley Systems
74 //=======================================================================================
76 {
77 private:
78  virtual void MakeClassAbstract() = 0;
79 public:
80 
81 }; // SelectionPath
82 
83 //=======================================================================================
84 // @remark Required library : DgnPlatform<ApiNumber>.lib i.e. DgnPlatform5.lib
85 // @bsiclass Bentley Systems
86 //=======================================================================================
88 {
89 private:
90  virtual void MakeClassAbstract() = 0;
91 public:
92 public:
93 
99  DGNPLATFORM_EXPORT StatusInt GetLinearParameters (DSegment3dP hitSeg, int* vertex, int* segmentNumber) const;
100 
108  DGNPLATFORM_EXPORT StatusInt GetMultilineParameters (DSegment3dP hitSeg, int* vertex, int* segmentNumber, int* lineNumber, int* capNumber,int* patIndex) const;
109 
114  DGNPLATFORM_EXPORT StatusInt GetBSplineParameters (double* u, double* v) const;
115 
123  DGNPLATFORM_EXPORT StatusInt GetDimensionParameters (UInt32* partName, int* pointNo, UInt32* segment, DimensionPartType* partType, DimensionPartSubType* partSubType) const;
124 
125 }; // HitPath
126 
127 
#define END_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:69
HitSource
The procedure that generated this Hit.
Definition: HitPath.h:41
Definition: HitPath.h:87
HitGeomType
The type of geometry that was being tested to generate this Hit.
Definition: HitPath.h:59
Definition: AccuSnap.h:115
#define DGNPLATFORM_EXPORT
Definition: DgnPlatform/ExportMacros.h:58
Definition: DisplayPath.h:38
uint32_t UInt32
Definition: Bentley.r.h:128
HitPriority
Lower numbers are "better" (more important) Hits than ones with higher numbers.
Definition: HitPath.h:25
DimensionPartType
Definition: DimensionStyleProps.r.h:1659
Definition: TextTableHandler.h:212
The whole curve (segment)
#define BEGIN_BENTLEY_DGNPLATFORM_NAMESPACE
Definition: DgnPlatformBaseType.r.h:68
int StatusInt
Definition: Bentley.h:222
Definition: HitPath.h:75
Start and end points of a line segment.
Definition: dsegment3d.h:16
DimensionPartSubType
Definition: DimensionStyleProps.r.h:1675

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