basetype.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 #if !defined(__midl) // During a MIDL compile, there's nothing herein that we care about.
13 #include <Mstn\MicroStation.r.h>
14 #include <dgnplatform\tcb\tcb.r.h>
15 
16 typedef _int64 Int64;
17 typedef unsigned _int64 uint64;
18 
19 typedef DPoint2d Dpoint2d;
20 typedef DPoint3d Dpoint3d;
21 
22 #define HPOINT_NORMAL 0
23 #define HPOINT_MASK_BREAK 0x00000001 /* LAST point in polygon or polyline is marked as a break */
24 #define HPOINT_MASK_POINT 0x00000002 /* This point is isolated. */
25 #define HPOINT_MASK_MAJOR_BREAK 0x00000008 /* End of major block (e.g. character) */
26 
27 /*----------------------------------------------------------------------+
28 | |
29 | Immediate Defines |
30 | |
31 +----------------------------------------------------------------------*/
32 /* B-Spline curve types */
33 #define BSCURVE_GENERAL 0
34 #define BSCURVE_LINE 1
35 #define BSCURVE_CIRCULAR_ARC 2
36 #define BSCURVE_CIRCLE 3
37 #define BSCURVE_ELLIPTICAL_ARC 4
38 #define BSCURVE_ELLIPSE 5
39 #define BSCURVE_PARABOLIC_ARC 6
40 #define BSCURVE_HYPERBOLIC_ARC 7
41 
42 /* B-Spline surface types */
43 #define BSSURF_GENERAL 0
44 #define BSSURF_PLANE 1
45 #define BSSURF_RIGHT_CYLINDER 2
46 #define BSSURF_CONE 3
47 #define BSSURF_SPHERE 4
48 #define BSSURF_TORUS 5
49 #define BSSURF_REVOLUTION 6
50 #define BSSURF_TAB_CYLINDER 7
51 #define BSSURF_RULED_SURFACE 8
52 
53 /* Constants */
54 #define BSSURF_U 0
55 #define BSSURF_V 1
56 
57 /* Miscellaneous Maxima */
58 #define MAX_POLES MAX_VERTICES
59 #define MAX_ORDER 26
60 #define MAX_KNOTS (MAX_POLES + 2*MAX_ORDER - 1)
61 #define MAX_BNDRY_PTS MAX_VERTICES
62 #define MAX_DATA_PTS MAX_VERTICES
63 
64 /* Tolerances */
65 #define KNOT_TOLERANCE_BASIS 1E-10
66 
67 /* Fit modes */
68 #define FIT_POLES 0
69 #define FIT_POINTS 1
70 #define FIT_LEASTSQUARES 2
71 #define FIT_CATMULLROM 3
72 
73 /* Offset cusp treatments */
74 #define OFFSET_JUMP_CUSP 0
75 #define OFFSET_CHAMFER_CUSP 1
76 #define OFFSET_POINT_CUSP 2
77 #define OFFSET_PARABOLA_CUSP 3
78 #define OFFSET_ARC_CUSP 4
79 
80 /* Continuity degree specifications */
81 #define POSITION_CONTINUITY 0
82 #define TANGENT_CONTINUITY 1
83 #define CURVATURE_CONTINUITY 2
84 #define DERIVATIVE_CONTINUITY 3
85 
86 /* Truncation specifications */
87 #define TRUNCATE_BOTH 0
88 #define TRUNCATE_NONE 1
89 #define TRUNCATE_SINGLE 2
90 
91 /* Iso display for silhouette curves */
92 #define SILHBND_U 0
93 #define SILHBND_V 1
94 #define SILHBND_NONE 2
95 #define SILHBND_BOTH 3
96 
97 /* Surface edge classification */
98 #define NO_EDGE 0x0000
99 #define U0_EDGE 0x0001
100 #define U1_EDGE 0x0002
101 #define V0_EDGE 0x0004
102 #define V1_EDGE 0x0008
103 #define ANY_EDGE 0x000F
104 
106  {
107  BSIRect range; /* The accumulating range. */
108  UChar valid; /* The initialization indicator. */
109  };
110 
112  {
113  double x;
114  double y;
115  double z;
116  double w;
117  };
118 
119 typedef Int32 ErrorCode; /* 0 means no error, see also mdlerrs.r.h */
120 
121 #ifndef _WCHAR_T_DEFINED
122 typedef unsigned short wchar_t; // This is for providing a definition for mdl tools like mcomp, rcomp, etc. That is all that it is for.
123 #define _WCHAR_T_DEFINED
124 #endif
125 
127 
128 /* --------------------------------------------------------------------------
129  Use PFuncInt/PFuncVoid to cast to "pointer to function returning int/void"
130  (the older typedefs Pfi/Pfv are deprecated).
131  -------------------------------------------------------------------------- */
132 typedef int (*PFuncInt)();
133 typedef int (*PFuncIntVarArgs)(...);
135 typedef int (*PFuncIntInt)(int);
136 typedef void (*PFuncVoid)();
137 
138 typedef struct dpoint3dlist
139  {
142  } DPoint3dList;
143 
144 /* #$-_PolygonLink_-$# */
145 typedef struct polygonLink PolygonLink;
146 
148  {
152  };
153 
154 
155 #ifdef DEFINE_EMBEDDEDARRAYS_IN_BASETYPE
156 typedef struct _embeddedDPoint2dArray EmbeddedDPoint2dArray;
157 typedef struct _embeddedDPoint3dArray EmbeddedDPoint3dArray;
158 typedef struct _embeddedFPoint2dArray EmbeddedFPoint2dArray;
159 typedef struct _embeddedFPoint3dArray EmbeddedFPoint3dArray;
160 typedef struct _embeddedDoubleArray EmbeddedDoubleArray;
161 typedef struct _embeddedIntArray EmbeddedIntArray;
162 typedef struct _embeddedInt64Array EmbeddedInt64Array;
163 #endif
164 
165 #endif // !defined(__midl)
166 
int(* PFuncInt)()
Definition: basetype.h:132
int(* PFuncIntVarArgs)(...)
Definition: basetype.h:133
void(* PFuncVoid)()
Definition: basetype.h:136
Definition: basetype.h:111
unsigned _int64 uint64
Definition: basetype.h:17
Int32 ErrorCode
Definition: basetype.h:119
Definition: basetype.h:138
DPoint2d Dpoint2d
Definition: basetype.h:19
DPoint3d Dpoint3d
Definition: basetype.h:20
int(* PFuncIntPointerVoid)(CallbackArgP)
Definition: basetype.h:134
uint32_t UInt32
Definition: Bentley.r.h:128
struct DPoint3d * DPoint3dP
Definition: msgeomstructs_typedefs.h:79
int(* PFuncIntInt)(int)
Definition: basetype.h:135
DPoint3dP points
Definition: basetype.h:141
int32_t Int32
Definition: Bentley.r.h:119
double x
Definition: basetype.h:113
BSIRect range
Definition: basetype.h:107
Definition: basetype.h:105
Int32 numPoints
Definition: basetype.h:140
double z
Definition: basetype.h:115
unsigned short wchar_t
Definition: basetype.h:122
struct dpoint3dlist DPoint3dList
double w
Definition: basetype.h:116
unsigned char UChar
Definition: Bentley.r.h:142
void * CallbackArgP
Definition: Bentley.h:235
_int64 Int64
Definition: basetype.h:16
double y
Definition: basetype.h:114
UChar valid
Definition: basetype.h:108
UInt32 ProcessID
Definition: basetype.h:126
Integer x,y rectangle coordinates for GUI: BSIRect.

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