25#ifndef BREP_INTERSECT_H
26#define BREP_INTERSECT_H
41extern BREP_EXPORT
void
52 ON_BoundingBox m_node;
66 bool IsPointIn(
const ON_3dPoint &pt,
double tolerance = 0.0);
67 bool Intersect(
const Subcurve &other,
double tolerance = 0.0, ON_BoundingBox *intersection = NULL)
const;
77 ON_BoundingBox m_node;
92 bool IsPointIn(
const ON_3dPoint &pt,
double tolerance = 0.0);
93 bool Intersect(
const Subcurve &curve,
double tolerance = 0.0, ON_BoundingBox *intersection = NULL)
const;
94 bool Intersect(
const Subsurface &surf,
double tolerance = 0.0, ON_BoundingBox *intersection = NULL)
const;
146 double intersection_tolerance,
147 const class ON_3dPoint *pointA,
148 const class ON_3dPoint *pointB,
149 const class ON_Curve *curveB,
150 const class ON_Interval *curveB_domain,
151 const class ON_Surface *surfaceB,
152 const class ON_Interval *surfaceB_domain0,
153 const class ON_Interval *surfaceB_domain1)
const;
155 void Dump(ON_TextLog &text_log)
const;
190extern BREP_EXPORT
bool
192 const ON_3dPoint &pointB,
193 ON_ClassArray<ON_PX_EVENT> &
x,
194 double tolerance = 0.0);
210extern BREP_EXPORT
bool
212 const ON_Curve &curveB,
213 ON_ClassArray<ON_PX_EVENT> &
x,
214 double tolerance = 0.0,
215 const ON_Interval *curveB_domain = 0,
236extern BREP_EXPORT
bool
238 const ON_Surface &surfaceB,
239 ON_ClassArray<ON_PX_EVENT> &
x,
240 double tolerance = 0.0,
241 const ON_Interval *surfaceB_udomain = 0,
242 const ON_Interval *surfaceB_vdomain = 0,
272extern BREP_EXPORT
int
274 const ON_Curve *curveB,
275 ON_SimpleArray<ON_X_EVENT> &
x,
276 double intersection_tolerance = 0.0,
277 double overlap_tolerance = 0.0,
278 const ON_Interval *curveA_domain = 0,
279 const ON_Interval *curveB_domain = 0,
318extern BREP_EXPORT
int
320 const ON_Surface *surfaceB,
321 ON_SimpleArray<ON_X_EVENT> &
x,
322 double intersection_tolerance = 0.0,
323 double overlap_tolerance = 0.0,
324 const ON_Interval *curveA_domain = 0,
325 const ON_Interval *surfaceB_udomain = 0,
326 const ON_Interval *surfaceB_vdomain = 0,
327 ON_CurveArray *overlap2d = 0,
363extern BREP_EXPORT
int
365 const ON_Surface *surfB,
366 ON_ClassArray<ON_SSX_EVENT> &
x,
367 double intersection_tolerance = 0.0,
368 double overlap_tolerance = 0.0,
369 double fitting_tolerance = 0.0,
370 const ON_Interval *surfaceA_udomain = 0,
371 const ON_Interval *surfaceA_vdomain = 0,
372 const ON_Interval *surfaceB_udomain = 0,
373 const ON_Interval *surfaceB_vdomain = 0,
static int Compare(const ON_PX_EVENT *a, const ON_PX_EVENT *b)
void Dump(ON_TextLog &text_log) const
bool IsValid(ON_TextLog *text_log, double intersection_tolerance, const class ON_3dPoint *pointA, const class ON_3dPoint *pointB, const class ON_Curve *curveB, const class ON_Interval *curveB_domain, const class ON_Surface *surfaceB, const class ON_Interval *surfaceB_domain0, const class ON_Interval *surfaceB_domain1) const
void SetBBox(const ON_BoundingBox &bbox)
bool IsPointIn(const ON_3dPoint &pt, double tolerance=0.0)
void GetBBox(ON_3dPoint &min, ON_3dPoint &max)
Subcurve(const Subcurve &_scurve)
bool Intersect(const Subcurve &other, double tolerance=0.0, ON_BoundingBox *intersection=NULL) const
Subcurve(ON_Curve *curve)
bool Intersect(const Subsurface &surf, double tolerance=0.0, ON_BoundingBox *intersection=NULL) const
Subsurface * m_children[4]
Subsurface(const Subsurface &_ssurf)
void SetBBox(const ON_BoundingBox &bbox)
bool IsPointIn(const ON_3dPoint &pt, double tolerance=0.0)
void GetBBox(ON_3dPoint &min, ON_3dPoint &max)
Subsurface(ON_Surface *surf)
bool Intersect(const Subcurve &curve, double tolerance=0.0, ON_BoundingBox *intersection=NULL) const
Header file for the BRL-CAD common definitions.
bool ON_Intersect(const ON_3dPoint &pointA, const ON_3dPoint &pointB, ON_ClassArray< ON_PX_EVENT > &x, double tolerance=0.0)
void DumpSSXEvent(ON_SSX_EVENT &x, ON_TextLog &text_log)
void int char int int double * min