BRL-CAD

#include <intersect.h>

Public Types

enum  TYPE { no_px_event = 0 , ppx_point = 1 , pcx_point = 2 , psx_point = 3 }
 

Public Member Functions

 ON_PX_EVENT ()
 
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 Dump (ON_TextLog &text_log) const
 

Static Public Member Functions

static int Compare (const ON_PX_EVENT *a, const ON_PX_EVENT *b)
 

Data Fields

TYPE m_type
 
ON_3dPoint m_A
 
ON_3dPoint m_B
 
ON_2dPoint m_b
 
ON_3dPoint m_Mid
 
double m_radius
 

Detailed Description

The ON_PX_EVENT class is used to report point-point, point-curve and point-surface intersection events.

Definition at line 100 of file intersect.h.

Member Enumeration Documentation

◆ TYPE

enum TYPE
Enumerator
no_px_event 
ppx_point 

point-point intersection

pcx_point 

point-curve intersection

psx_point 

point-surface intersection

Definition at line 157 of file intersect.h.

Constructor & Destructor Documentation

◆ ON_PX_EVENT()

Default construction sets everything to zero.

Member Function Documentation

◆ Compare()

static int Compare ( const ON_PX_EVENT a,
const ON_PX_EVENT b 
)
static

Compares point intersection events and sorts them in the canonical order.

Return values
-1this < other
0this == other
+1this > other
Remarks
ON_PX_EVENT::Compare is used to sort intersection events into canonical order.

◆ IsValid()

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

Check point intersection event values to make sure they are valid.

Parameters
text_log[in] If not null and an error is found, then a description of the error is printed to text_log.
intersection_tolerance[in] 0.0 or value used in intersection calculation.
pointA[in] NULL or pointA passed to intersection calculation.
pointB[in] NULL or pointB passed to intersection calculation.
curveB[in] NULL or curveB passed to intersection calculation.
curveB_domain[in] NULL or curveB domain used in intersection calculation.
surfaceB[in] NULL or surfaceB passed to intersection calculation.
surfaceB_domain0[in] NULL or surfaceB "u" domain used in intersection calculation.
surfaceB_domain1[in] NULL or surfaceB "v" domain used in intersection calculation.
Returns
True if event is valid.

◆ Dump()

void Dump ( ON_TextLog &  text_log) const

Field Documentation

◆ m_type

TYPE m_type

Definition at line 164 of file intersect.h.

◆ m_A

ON_3dPoint m_A

Point A in 3D space

Definition at line 166 of file intersect.h.

◆ m_B

ON_3dPoint m_B

Point B in 3D space

Definition at line 167 of file intersect.h.

◆ m_b

ON_2dPoint m_b

Point B in 2D space for the curve/surface For a curve, m_b[1] == 0 For a point, m_b[0] == m_b[1] == 0

Definition at line 169 of file intersect.h.

◆ m_Mid

ON_3dPoint m_Mid

The mid-point of Point A and Point B

Definition at line 174 of file intersect.h.

◆ m_radius

double m_radius

To trace the uncertainty area

Definition at line 175 of file intersect.h.


The documentation for this class was generated from the following file: