QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_X_EVENT Class Reference

#include <opennurbs_x.h>

Public Types

enum  DIRECTION {
  no_x_dir = 0 , at_end_dir = 1 , from_above_dir = 2 , from_below_dir = 3 ,
  from_on_dir = 4 , to_above_dir = 5 , to_below_dir = 6 , to_on_dir = 7
}
 
enum  TYPE {
  no_x_event = 0 , ccx_point = 1 , ccx_overlap = 2 , csx_point = 3 ,
  csx_overlap = 4
}
 

Public Member Functions

void Dump (ON_TextLog &text_log) const
 
bool IsCCXEvent () const
 
bool IsCSXEvent () const
 
bool IsOverlapEvent () const
 
bool IsPointEvent () const
 
bool IsValid (ON_TextLog *text_log, double intersection_tolerance, double overlap_tolerance, const class ON_Curve *curveA, const class ON_Interval *curveA_domain, 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
 
 ON_X_EVENT ()
 

Static Public Member Functions

static int CleanList (double event_tolerance, double overlap_tolerance, int xevent_count, ON_X_EVENT *xevent)
 
static int Compare (const ON_X_EVENT *a, const ON_X_EVENT *b)
 
static void CopyEventPart (const ON_X_EVENT &src, int src_end, ON_X_EVENT &dst, int dst_end)
 
static double IntersectionTolerance (double intersection_tolerance)
 
static bool IsValidCurveCurveOverlap (ON_Interval curveA_domain, int sample_count, double overlap_tolerance, const class ON_CurveTreeNode *cnodeA, const class ON_CurveTreeNode *cnodeB, const ON_Interval *curveB_domain=0)
 
static bool IsValidCurvePlaneOverlap (ON_Interval curveA_domain, int sample_count, double endpoint_tolerance, double overlap_tolerance, const class ON_CurveTreeNode *cnodeA, const ON_PlaneEquation *plane_equation)
 
static bool IsValidCurveSurfaceOverlap (ON_Interval curveA_domain, int sample_count, double overlap_tolerance, const class ON_CurveTreeNode *cnodeA, const class ON_SurfaceTreeNode *snodeB, const ON_Interval *surfaceB_udomain=0, const ON_Interval *surfaceB_vdomain=0)
 
static bool IsValidList (int xevent_count, const ON_X_EVENT *xevent, ON_TextLog *text_log, double intersection_tolerance, double overlap_tolerance, const class ON_Curve *curveA, const class ON_Interval *curveA_domain, 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)
 
static double OverlapTolerance (double intersection_tolerance, double overlap_tolerance)
 

Public Attributes

ON_3dPoint m_A [2]
 
double m_a [2]
 
ON_3dPoint m_B [2]
 
double m_b [4]
 
const class ON_CurveTreeNode * m_cnodeA [2]
 
const class ON_CurveTreeNode * m_cnodeB [2]
 
DIRECTION m_dirA [2]
 
DIRECTION m_dirB [2]
 
double m_nodeA_t [2]
 
double m_nodeB_t [4]
 
const class ON_SurfaceTreeNode * m_snodeB [2]
 
TYPE m_type
 
ON_U m_user
 
unsigned int m_x_eventsn
 

Member Enumeration Documentation

◆ DIRECTION

Enumerator
no_x_dir 
at_end_dir 
from_above_dir 
from_below_dir 
from_on_dir 
to_above_dir 
to_below_dir 
to_on_dir 

◆ TYPE

Enumerator
no_x_event 
ccx_point 
ccx_overlap 
csx_point 
csx_overlap 

Constructor & Destructor Documentation

◆ ON_X_EVENT()

ON_X_EVENT::ON_X_EVENT ( )

Member Function Documentation

◆ CleanList()

int ON_X_EVENT::CleanList ( double event_tolerance,
double overlap_tolerance,
int xevent_count,
ON_X_EVENT * xevent )
static

◆ Compare()

int ON_X_EVENT::Compare ( const ON_X_EVENT * a,
const ON_X_EVENT * b )
static

◆ CopyEventPart()

void ON_X_EVENT::CopyEventPart ( const ON_X_EVENT & src,
int src_end,
ON_X_EVENT & dst,
int dst_end )
static

◆ Dump()

void ON_X_EVENT::Dump ( ON_TextLog & text_log) const

◆ IntersectionTolerance()

double ON_X_EVENT::IntersectionTolerance ( double intersection_tolerance)
static

◆ IsCCXEvent()

bool ON_X_EVENT::IsCCXEvent ( ) const

◆ IsCSXEvent()

bool ON_X_EVENT::IsCSXEvent ( ) const

◆ IsOverlapEvent()

bool ON_X_EVENT::IsOverlapEvent ( ) const

◆ IsPointEvent()

bool ON_X_EVENT::IsPointEvent ( ) const

◆ IsValid()

bool ON_X_EVENT::IsValid ( ON_TextLog * text_log,
double intersection_tolerance,
double overlap_tolerance,
const class ON_Curve * curveA,
const class ON_Interval * curveA_domain,
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

◆ IsValidCurveCurveOverlap()

bool ON_X_EVENT::IsValidCurveCurveOverlap ( ON_Interval curveA_domain,
int sample_count,
double overlap_tolerance,
const class ON_CurveTreeNode * cnodeA,
const class ON_CurveTreeNode * cnodeB,
const ON_Interval * curveB_domain = 0 )
static

◆ IsValidCurvePlaneOverlap()

bool ON_X_EVENT::IsValidCurvePlaneOverlap ( ON_Interval curveA_domain,
int sample_count,
double endpoint_tolerance,
double overlap_tolerance,
const class ON_CurveTreeNode * cnodeA,
const ON_PlaneEquation * plane_equation )
static

◆ IsValidCurveSurfaceOverlap()

bool ON_X_EVENT::IsValidCurveSurfaceOverlap ( ON_Interval curveA_domain,
int sample_count,
double overlap_tolerance,
const class ON_CurveTreeNode * cnodeA,
const class ON_SurfaceTreeNode * snodeB,
const ON_Interval * surfaceB_udomain = 0,
const ON_Interval * surfaceB_vdomain = 0 )
static

◆ IsValidList()

bool ON_X_EVENT::IsValidList ( int xevent_count,
const ON_X_EVENT * xevent,
ON_TextLog * text_log,
double intersection_tolerance,
double overlap_tolerance,
const class ON_Curve * curveA,
const class ON_Interval * curveA_domain,
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 )
static

◆ OverlapTolerance()

double ON_X_EVENT::OverlapTolerance ( double intersection_tolerance,
double overlap_tolerance )
static

Member Data Documentation

◆ m_A

ON_3dPoint ON_X_EVENT::m_A[2]

◆ m_a

double ON_X_EVENT::m_a[2]

◆ m_B

ON_3dPoint ON_X_EVENT::m_B[2]

◆ m_b

double ON_X_EVENT::m_b[4]

◆ m_cnodeA

const class ON_CurveTreeNode* ON_X_EVENT::m_cnodeA[2]

◆ m_cnodeB

const class ON_CurveTreeNode* ON_X_EVENT::m_cnodeB[2]

◆ m_dirA

DIRECTION ON_X_EVENT::m_dirA[2]

◆ m_dirB

DIRECTION ON_X_EVENT::m_dirB[2]

◆ m_nodeA_t

double ON_X_EVENT::m_nodeA_t[2]

◆ m_nodeB_t

double ON_X_EVENT::m_nodeB_t[4]

◆ m_snodeB

const class ON_SurfaceTreeNode* ON_X_EVENT::m_snodeB[2]

◆ m_type

TYPE ON_X_EVENT::m_type

◆ m_user

ON_U ON_X_EVENT::m_user

◆ m_x_eventsn

unsigned int ON_X_EVENT::m_x_eventsn

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