Rhino C++ API  8.6
Public Types | Public Member Functions | Public Attributes | List of all members
ON_CMX_EVENT Class Reference

#include <opennurbs_plus.h>

Public Types

enum  TYPE { no_cmx_event = 0, cmx_point = 1, cmx_overlap = 2 }
 C++ default destructor, copy constructor, and operator= work fine. More...
 

Public Member Functions

 ON_CMX_EVENT ()
 

Public Attributes

ON_CURVE_POINT m_C [2]
 intersection points on curve More...
 
ON_MESH_POINT m_M [2]
 corresponding intersection points on mesh More...
 
unsigned int m_sn
 Each intersection event is assigned a runtime serial number. More...
 
TYPE m_type
 

Detailed Description

TODO Maybe we need an ON_MMX_EVENT that has a intersection type associated with it. ON_MMX_POINT m_M[2] where m_M[0] = m_M[1] if it is a transverse intersection and m_M[0] != m_M[1] if it is an overlap intersection.

Member Enumeration Documentation

◆ TYPE

C++ default destructor, copy constructor, and operator= work fine.

Enumerator
no_cmx_event 
cmx_point 

Two valid event types for curve-mesh intersections.

curve-mesh transverse intersection point

cmx_overlap 

curve-mesh intersection overlap

Constructor & Destructor Documentation

◆ ON_CMX_EVENT()

ON_CMX_EVENT::ON_CMX_EVENT ( )

Member Data Documentation

◆ m_C

ON_CURVE_POINT ON_CMX_EVENT::m_C[2]

intersection points on curve

◆ m_M

ON_MESH_POINT ON_CMX_EVENT::m_M[2]

corresponding intersection points on mesh

◆ m_sn

unsigned int ON_CMX_EVENT::m_sn

Each intersection event is assigned a runtime serial number.

◆ m_type

TYPE ON_CMX_EVENT::m_type

The m_type field determines how the values in the other fields are interpreted.

cmx_point events: C[0] = C[1] intersection point on curve M[0] = M[1] = intersection point on mesh

cmx_overlap events: C[0],C[1] = overlap end points on curve, C[0].m_t < C[1].m_t M[0],M[1] = overlap endpoints on mesh