Rhino C++ API  7.21
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
ON_HLDPoint Class Reference

#include <opennurbs_plus_hiddenline.h>

Inheritance diagram for ON_HLDPoint:
ON_3dPoint

Public Types

enum  VISIBILITY : unsigned int { VISIBILITY::kUnset = 0, VISIBILITY::kVisible = 1, VISIBILITY::kHidden = 2, VISIBILITY::kDuplicate = 3 }
 The values of this type are a subset of values of ON_HLDCurve::VISIBILITY. More...
 

Public Member Functions

void Dump (ON_TextLog &) const
 for debugging More...
 
bool IsOnSectionCut () const
 True if this curve on the boundary of the visible region, as defined by the clipping planes. More...
 
- Public Member Functions inherited from ON_3dPoint
 ON_3dPoint ()=default
 x,y,z not initialized More...
 
 ON_3dPoint (const class ON_2fPoint &)
 from 2f point More...
 
 ON_3dPoint (const class ON_2fVector &)
 from 2f point More...
 
 ON_3dPoint (const class ON_3fPoint &)
 from 3f point More...
 
 ON_3dPoint (const class ON_3fVector &)
 from 3f point More...
 
 ON_3dPoint (const class ON_4fPoint &h)
 from 4f point- h.w must be non-zero More...
 
 ON_3dPoint (const double *)
 from double[3] array More...
 
 ON_3dPoint (const float *)
 from float[3] array More...
 
 ON_3dPoint (const ON_2dPoint &)
 from 2d point More...
 
 ON_3dPoint (const ON_2dVector &)
 from 2d vector More...
 
 ON_3dPoint (const ON_3dPoint &)=default
 
 ON_3dPoint (const ON_3dVector &)
 from 3d vector More...
 
 ON_3dPoint (const ON_4dPoint &h)
 from 4d point - h.w must be non-zero More...
 
 ON_3dPoint (double x, double y, double z)
 
 ~ON_3dPoint ()=default
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
double DistanceTo (const ON_3dPoint &) const
 
double DistanceToSquared (const ON_3dPoint &) const
 
double Fuzz (double tolerance=ON_ZERO_TOLERANCE) const
 tolerance to use when comparing 3d points More...
 
bool IsNan () const
 
bool IsNotZero () const
 
bool IsUnset () const
 
bool IsUnsetOrNan () const
 
bool IsValid () const
 
bool IsZero () const
 
double MaximumCoordinate () const
 absolute value of maximum coordinate More...
 
int MaximumCoordinateIndex () const
 
double MinimumCoordinate () const
 absolute value of minimum coordinate More...
 
int MinimumCoordinateIndex () const
 
 operator const double * () const
 
 operator double * ()
 (double*) conversion operators More...
 
bool operator!= (const ON_3dPoint &) const
 
double operator* (const ON_3dPoint &) const
 dot product for points acting as vectors More...
 
double operator* (const ON_3dVector &) const
 dot product for points acting as vectors More...
 
ON_3dPoint operator* (const ON_Xform &) const
 
ON_3dPoint operator* (double) const
 
ON_3dPoint operator* (float) const
 
ON_3dPoint operator* (int) const
 
ON_3dPointoperator*= (double)
 
ON_3dPoint operator+ (const ON_2dPoint &) const
 
ON_3dPoint operator+ (const ON_2dVector &) const
 
ON_3dPoint operator+ (const ON_2fPoint &) const
 
ON_3dPoint operator+ (const ON_2fVector &) const
 
ON_3dPoint operator+ (const ON_3dPoint &) const
 
ON_3dPoint operator+ (const ON_3dVector &) const
 
ON_3dPoint operator+ (const ON_3fPoint &) const
 
ON_3dPoint operator+ (const ON_3fVector &) const
 
ON_3dPointoperator+= (const ON_3dVector &)
 
ON_3dVector operator- (const ON_2dPoint &) const
 
ON_3dPoint operator- (const ON_2dVector &) const
 
ON_3dVector operator- (const ON_2fPoint &) const
 
ON_3dPoint operator- (const ON_2fVector &) const
 
ON_3dVector operator- (const ON_3dPoint &) const
 
ON_3dPoint operator- (const ON_3dVector &) const
 
ON_3dVector operator- (const ON_3fPoint &) const
 
ON_3dPoint operator- (const ON_3fVector &) const
 
ON_3dPointoperator-= (const ON_3dVector &)
 
ON_3dPoint operator/ (double) const
 
ON_3dPoint operator/ (float) const
 
ON_3dPoint operator/ (int) const
 
ON_3dPointoperator/= (double)
 
bool operator< (const ON_3dPoint &) const
 
bool operator<= (const ON_3dPoint &) const
 dictionary order comparisons More...
 
ON_3dPointoperator= (const class ON_2fPoint &)
 
ON_3dPointoperator= (const class ON_2fVector &)
 
ON_3dPointoperator= (const class ON_3fPoint &)
 
ON_3dPointoperator= (const class ON_3fVector &)
 
ON_3dPointoperator= (const class ON_4fPoint &)
 
ON_3dPointoperator= (const double *)
 point = double[3] support More...
 
ON_3dPointoperator= (const float *)
 point = float[3] support More...
 
ON_3dPointoperator= (const ON_2dPoint &)
 use implicit operator=(const ON_3dPoint&) More...
 
ON_3dPointoperator= (const ON_2dVector &)
 
ON_3dPointoperator= (const ON_3dPoint &)=default
 
ON_3dPointoperator= (const ON_3dVector &)
 
ON_3dPointoperator= (const ON_4dPoint &)
 
bool operator== (const ON_3dPoint &) const
 
bool operator> (const ON_3dPoint &) const
 
bool operator>= (const ON_3dPoint &) const
 
double & operator[] (int)
 index operators mimic double[3] behavior More...
 
double operator[] (int) const
 
double & operator[] (unsigned int)
 
double operator[] (unsigned int) const
 
void Rotate (double angle, const ON_3dVector &axis, const ON_3dPoint &center)
 
void Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis, const ON_3dPoint &center)
 
void Set (double x, double y, double z)
 set 3d point value More...
 
void Transform (const ON_Xform &)
 
void Zero ()
 set all coordinates to zero; More...
 

Public Attributes

int m_clipping_plane_index = -1
 
ON_COMPONENT_INDEX m_CompInd = ON_COMPONENT_INDEX::UnsetComponentIndex
 component of source object part that generated this curve. More...
 
int m_pi = -1
 Index of this point in ON_HiddenLineDrawing::m_Pnt. More...
 
const ON_HLD_Objectm_SourceObject = nullptr
 pointer into source object in ON_HiddenLineDrawing::m_Object. More...
 
VISIBILITY m_vis = VISIBILITY::kUnset
 
- Public Attributes inherited from ON_3dPoint
double x
 
double y
 
double z
 

Friends

class TL_HiddenLineDrawingImpl
 
class TL_HLDPointCloudObj
 
class TL_HLDPointObj
 

Additional Inherited Members

- Static Public Member Functions inherited from ON_3dPoint
static int Compare (const ON_3dPoint &lhs, const ON_3dPoint &rhs)
 
static const ON_3dPoint Midpoint (const ON_3dPoint &A, const ON_3dPoint &B)
 
- Static Public Attributes inherited from ON_3dPoint
static const ON_3dPoint NanPoint
 (ON_DBL_QNAN,ON_DBL_QNAN,ON_DBL_QNAN) More...
 
static const ON_3dPoint Origin
 (0.0,0.0,0.0) More...
 
static const ON_3dPoint UnsetPoint
 (ON_UNSET_VALUE,ON_UNSET_VALUE,ON_UNSET_VALUE) More...
 

Detailed Description

The results of HiddenLineDrawing calculation are a collection of TL_HLDCurves and ON_HLDPoints. An ON_HLDPoint is a point in HLDCoordinates, that is generated by a ON_Point Object or an ON_Point_Cloud.

Member Enumeration Documentation

◆ VISIBILITY

enum ON_HLDPoint::VISIBILITY : unsigned int
strong

The values of this type are a subset of values of ON_HLDCurve::VISIBILITY.

Enumerator
kUnset 
kVisible 
kHidden 
kDuplicate 

Member Function Documentation

◆ Dump()

void ON_HLDPoint::Dump ( ON_TextLog ) const

for debugging

◆ IsOnSectionCut()

bool ON_HLDPoint::IsOnSectionCut ( ) const

True if this curve on the boundary of the visible region, as defined by the clipping planes.

Friends And Related Function Documentation

◆ TL_HiddenLineDrawingImpl

friend class TL_HiddenLineDrawingImpl
friend

◆ TL_HLDPointCloudObj

friend class TL_HLDPointCloudObj
friend

◆ TL_HLDPointObj

friend class TL_HLDPointObj
friend

Member Data Documentation

◆ m_clipping_plane_index

int ON_HLDPoint::m_clipping_plane_index = -1

If point is on a section_cut then m_clipping_plane_index>=0 is the index into ON_HiddenLineDrawing::m_clipping_plane otherwise m_clipping_plane_index=-1

◆ m_CompInd

component of source object part that generated this curve.

◆ m_pi

int ON_HLDPoint::m_pi = -1

Index of this point in ON_HiddenLineDrawing::m_Pnt.

◆ m_SourceObject

const ON_HLD_Object* ON_HLDPoint::m_SourceObject = nullptr

pointer into source object in ON_HiddenLineDrawing::m_Object.

◆ m_vis

VISIBILITY ON_HLDPoint::m_vis = VISIBILITY::kUnset