Rhino C++ API  7.21
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ON_SubDComponentPoint Class Reference

#include <opennurbs_subd.h>

Public Member Functions

 ON_SubDComponentPoint ()=default
 
 ON_SubDComponentPoint (const ON_SubDComponentPoint &)=default
 
 ~ON_SubDComponentPoint ()=default
 
ON_SubDComponentPointoperator= (const ON_SubDComponentPoint &)=default
 

Static Public Member Functions

static const ON_SubDComponentPoint BestPickPoint (ON_PickType pick_type, double vertex_depth_bias, double edge_depth_bias, const ON_SubDComponentPoint &A, const ON_SubDComponentPoint &B)
 
static int CompareComponentAndDirection (const ON_SubDComponentPoint *a, const ON_SubDComponentPoint *b)
 

Public Attributes

ON_SubDComponentPtr m_component_ptr = ON_SubDComponentPtr::Null
 m_component_ptr will be face, edge or vertex More...
 
ON_PickPoint m_pick_point = ON_PickPoint::Unset
 

Static Public Attributes

static const ON_SubDComponentPoint Unset
 

Detailed Description

ON_SubDComponentPoint

Used in selection tests to return a point and parameters on a component.

Constructor & Destructor Documentation

◆ ON_SubDComponentPoint() [1/2]

ON_SubDComponentPoint::ON_SubDComponentPoint ( )
default

◆ ~ON_SubDComponentPoint()

ON_SubDComponentPoint::~ON_SubDComponentPoint ( )
default

◆ ON_SubDComponentPoint() [2/2]

ON_SubDComponentPoint::ON_SubDComponentPoint ( const ON_SubDComponentPoint )
default

Member Function Documentation

◆ BestPickPoint()

static const ON_SubDComponentPoint ON_SubDComponentPoint::BestPickPoint ( ON_PickType  pick_type,
double  vertex_depth_bias,
double  edge_depth_bias,
const ON_SubDComponentPoint A,
const ON_SubDComponentPoint B 
)
static

Description: Compare the pick events to determine the component the user was most likely aiming at.

Parameters: pick_type - [in] When pick_type is ON_PickType::PointPick, several biases may be applied to favor vertices and edges.

vertex_depth_bias - [in] When in doubt pass 0.0. A positive value increases vertex bias in some situations; otherwise vertex_depth_bias is ignored. When pick_type is ON_PickType::PointPick and either an edge and a vertex of that edge or a face and a vertex of that face are being compared, then then vertex_depth_bias is added to the vertex hit depth before comparing depths. When the pick is happening in a perspective view, it is important to choose a vertex_depth_bias appropriate for the depth in the view frustum.

edge_depth_bias - [in] When in doubt pass 0.0. A positive value increases edge bias in some situations; otherwise vertex_depth_bias is ignored. When pick_type is ON_PickType::PointPick and a face and an edge of that face are being compared, then then edge_depth_bias is added to the edge hit depth before comparing depths. When the pick is happening in a perspective view, it is important to choose an edge_depth_bias appropriate for the depth in the view frustum.

A - [in] B - [in] Returns: A pick point for the component the user was most likely aiming at with distance and depth settings that will lead to conistent improvment if more than two points are being compared.

◆ CompareComponentAndDirection()

static int ON_SubDComponentPoint::CompareComponentAndDirection ( const ON_SubDComponentPoint a,
const ON_SubDComponentPoint b 
)
static

Description: Dictionary compare of component type, component pointer, and component direction (partial). This function is useful for sorting arrays of ON_SubDComponentPoint values remove duplicates.

◆ operator=()

ON_SubDComponentPoint& ON_SubDComponentPoint::operator= ( const ON_SubDComponentPoint )
default

Member Data Documentation

◆ m_component_ptr

ON_SubDComponentPtr ON_SubDComponentPoint::m_component_ptr = ON_SubDComponentPtr::Null

m_component_ptr will be face, edge or vertex

◆ m_pick_point

ON_PickPoint ON_SubDComponentPoint::m_pick_point = ON_PickPoint::Unset

subfragment corner. unsigned int m_face_corner_index = ON_UNSET_UINT_INDEX; Otherwise the point is on the control net at the specified level. unsigned int m_level_index = ON_UNSET_UINT_INDEX;

◆ Unset

const ON_SubDComponentPoint ON_SubDComponentPoint::Unset
static