27 #ifndef BREP_DEFINES_H
28 #define BREP_DEFINES_H
44 #if defined(__GNUC__) && !defined(__clang__)
45 # pragma GCC diagnostic push
47 #if defined(__clang__)
48 # pragma clang diagnostic push
50 #if defined(__GNUC__) && !defined(__clang__)
55 # pragma GCC system_header
58 # pragma GCC diagnostic ignored "-Wclass-memaccess"
59 # pragma GCC diagnostic ignored "-Wunknown-pragmas"
60 # pragma GCC diagnostic ignored "-Wcomment"
61 # pragma GCC diagnostic ignored "-Wignored-qualifiers"
62 # pragma GCC diagnostic ignored "-Woverloaded-virtual"
65 #if defined(__clang__)
66 # pragma clang diagnostic ignored "-Wunknown-pragmas"
67 # pragma clang diagnostic ignored "-Wignored-qualifiers"
68 # pragma clang diagnostic ignored "-Woverloaded-virtual"
69 # pragma clang diagnostic ignored "-Wshadow"
73 #define ON_NO_WINDOWS 1
75 #include "opennurbs.h"
77 #if defined(__GNUC__) && !defined(__clang__)
78 # pragma GCC diagnostic pop
80 #if defined(__clang__)
81 # pragma clang diagnostic pop
95 # if defined(BREP_DLL_EXPORTS) && defined(BREP_DLL_IMPORTS)
96 # error "Only BREP_DLL_EXPORTS or BREP_DLL_IMPORTS can be defined, not both."
97 # elif defined(BREP_DLL_EXPORTS)
98 # define BREP_EXPORT COMPILER_DLLEXPORT
99 # elif defined(BREP_DLL_IMPORTS)
100 # define BREP_EXPORT COMPILER_DLLIMPORT
111 typedef struct _on_brep_placeholder {
117 #define BREP_MAX_ITERATIONS 100
120 #define BREP_INTERSECTION_ROOT_EPSILON 1e-6
123 #define BREP_INTERSECTION_ROOT_SETTLE 1e-2
128 #define BREP_GRAZING_DOT_TOL 0.000017453
134 #define BREP_MAX_FT_DEPTH 8
135 #define BREP_MAX_LN_DEPTH 20
137 #define SIGN(x) ((x) >= 0 ? 1 : -1)
140 #define BREP_SURFACE_FLATNESS 0.85
141 #define BREP_SURFACE_STRAIGHTNESS 0.75
144 #define BREP_MAX_FCP_ITERATIONS 50
147 #define BREP_FCP_ROOT_EPSILON 1e-5
152 #define BREP_BB_CRV_PNT_CNT 10
154 #define BREP_CURVE_FLATNESS 0.95
157 #define BREP_SURF_SUB_FACTOR 1
158 #define BREP_TRIM_SUB_FACTOR 1
169 #define BREP_EDGE_MISS_TOLERANCE 5e-3
171 #define BREP_SAME_POINT_TOLERANCE 1e-6
174 #define BREP_UV_DIST_FUZZ 0.000001
177 #define ON_PRINT4(p) "[" << (p)[0] << ", " << (p)[1] << ", " << (p)[2] << ", " << (p)[3] << "]"
178 #define ON_PRINT3(p) "(" << (p)[0] << ", " << (p)[1] << ", " << (p)[2] << ")"
179 #define ON_PRINT2(p) "(" << (p)[0] << ", " << (p)[1] << ")"
180 #define PT(p) ON_PRINT3(p)
181 #define PT2(p) ON_PRINT2(p)
182 #define IVAL(_ival) "[" << (_ival).m_t[0] << ", " << (_ival).m_t[1] << "]"
Header file for the BRL-CAD common definitions.
BrepTrimPoint * other_face_trim_pnt
fundamental vector, matrix, quaternion math macros