Point Cloud Library (PCL)  1.14.1-dev
List of all members | Public Member Functions | Protected Member Functions
ON_Curve Class Referenceabstract

#include <pcl/surface/3rdparty/opennurbs/opennurbs_curve.h>

+ Inheritance diagram for ON_Curve:
+ Collaboration diagram for ON_Curve:

Public Member Functions

void DestroyRuntimeCache (bool bDelete=true)
 
 ON_Curve ()
 
 ON_Curve (const ON_Curve &)
 
ON_Curveoperator= (const ON_Curve &)
 
virtual ~ON_Curve ()
 
unsigned int SizeOf () const
 
bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
 
virtual ON_CurveDuplicateCurve () const
 
ON::object_type ObjectType () const
 
bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
ON_BOOL32 GetDomain (double *t0, double *t1) const
 
virtual ON_Interval Domain () const =0
 
bool SetDomain (ON_Interval domain)
 
virtual ON_BOOL32 SetDomain (double t0, double t1)
 
virtual ON_BOOL32 ChangeClosedCurveSeam (double t)
 
virtual bool ChangeDimension (int desired_dimension)
 
virtual int SpanCount () const =0
 
virtual ON_BOOL32 GetSpanVector (double *knots) const =0
 
virtual ON_BOOL32 GetSpanVectorIndex (double t, int side, int *span_vector_index, ON_Interval *span_domain) const
 
virtual int Degree () const =0
 
virtual ON_BOOL32 GetParameterTolerance (double t, double *tminus, double *tplus) const
 
virtual ON_BOOL32 IsLinear (double tolerance=ON_ZERO_TOLERANCE) const
 
virtual int IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
 
virtual ON_BOOL32 IsArc (const ON_Plane *plane=NULL, ON_Arc *arc=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsArcAt (double t, const ON_Plane *plane=0, ON_Arc *arc=0, double tolerance=ON_ZERO_TOLERANCE, double *t0=0, double *t1=0) const
 
virtual bool IsEllipse (const ON_Plane *plane=NULL, ON_Ellipse *ellipse=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
virtual ON_BOOL32 IsPlanar (ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
virtual ON_BOOL32 IsInPlane (const ON_Plane &test_plane, double tolerance=ON_ZERO_TOLERANCE) const =0
 
bool IsClosable (double tolerance, double min_abs_size=0.0, double min_rel_size=10.0) const
 
virtual ON_BOOL32 IsClosed () const
 
virtual ON_BOOL32 IsPeriodic () const
 
virtual bool GetNextDiscontinuity (ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
 
virtual bool IsContinuous (ON::continuity c, double t, int *hint=NULL, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
 
virtual ON_BOOL32 Reverse ()=0
 
virtual ON_BOOL32 SetStartPoint (ON_3dPoint start_point)
 
virtual ON_BOOL32 SetEndPoint (ON_3dPoint end_point)
 
ON_3dPoint PointAt (double t) const
 
ON_3dPoint PointAtStart () const
 
ON_3dPoint PointAtEnd () const
 
ON_3dVector DerivativeAt (double t) const
 
ON_3dVector TangentAt (double t) const
 
ON_3dVector CurvatureAt (double t) const
 
ON_BOOL32 FrameAt (double t, ON_Plane &plane) const
 
ON_BOOL32 EvPoint (double t, ON_3dPoint &point, int side=0, int *hint=0) const
 
ON_BOOL32 Ev1Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, int side=0, int *hint=0) const
 
ON_BOOL32 Ev2Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, ON_3dVector &second_derivative, int side=0, int *hint=0) const
 
ON_BOOL32 EvTangent (double t, ON_3dPoint &point, ON_3dVector &tangent, int side=0, int *hint=0) const
 
ON_BOOL32 EvCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, ON_3dVector &kappa, int side=0, int *hint=0) const
 
virtual ON_BOOL32 Evaluate (double t, int der_count, int v_stride, double *v, int side=0, int *hint=0) const =0
 
bool FirstSpanIsLinear (double min_length, double tolerance) const
 
bool LastSpanIsLinear (double min_length, double tolerance) const
 
bool FirstSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const
 
bool LastSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const
 
virtual ON_BOOL32 Trim (const ON_Interval &domain)
 
virtual bool Extend (const ON_Interval &domain)
 
virtual ON_BOOL32 Split (double t, ON_Curve *&left_side, ON_Curve *&right_side) const
 
virtual int GetNurbForm (ON_NurbsCurve &nurbs_curve, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
 
virtual int HasNurbForm () const
 
ON_NurbsCurveNurbsCurve (ON_NurbsCurve *pNurbsCurve=NULL, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
 
virtual ON_BOOL32 GetCurveParameterFromNurbFormParameter (double nurbs_t, double *curve_t) const
 
virtual ON_BOOL32 GetNurbFormParameterFromCurveParameter (double curve_t, double *nurbs_t) const
 
void DestroyCurveTree ()
 
- Public Member Functions inherited from ON_Geometry
 ON_Geometry ()
 
 ON_Geometry (const ON_Geometry &)
 
ON_Geometryoperator= (const ON_Geometry &)
 
virtual ~ON_Geometry ()
 
ON_BoundingBox BoundingBox () const
 
ON_BOOL32 GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
ON_BOOL32 GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, int bGrowBox=false) const
 
ON_BOOL32 Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Translate (const ON_3dVector &translation_vector)
 
ON_BOOL32 Scale (double scale_factor)
 
virtual int Dimension () const =0
 
virtual ON_BOOL32 GetBBox (double *boxmin, double *boxmax, int bGrowBox=false) const =0
 
virtual void ClearBoundingBox ()
 
virtual ON_BOOL32 Transform (const ON_Xform &xform)
 
virtual bool IsDeformable () const
 
virtual bool MakeDeformable ()
 
virtual ON_BOOL32 SwapCoordinates (int i, int j)
 
virtual ON_BOOL32 HasBrepForm () const
 
virtual ON_BrepBrepForm (ON_Brep *brep=NULL) const
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
- Public Member Functions inherited from ON_Object
bool CopyFrom (const ON_Object *src)
 
 ON_Object ()
 
 ON_Object (const ON_Object &)
 
ON_Objectoperator= (const ON_Object &)
 
virtual ~ON_Object ()
 
void EmergencyDestroy ()
 
virtual void MemoryRelocate ()
 
ON_BOOL32 IsKindOf (const ON_ClassId *pClassId) const
 
virtual ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const =0
 
virtual void Dump (ON_TextLog &) const
 
virtual ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
virtual ON_BOOL32 Write (ON_BinaryArchive &binary_archive) const
 
virtual ON_BOOL32 Read (ON_BinaryArchive &binary_archive)
 
virtual ON_UUID ModelObjectId () const
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
int SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace)
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int UserStringCount () const
 
ON_BOOL32 AttachUserData (ON_UserData *pUserData)
 
ON_BOOL32 DetachUserData (ON_UserData *pUserData)
 
ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
void PurgeUserData ()
 
ON_UserDataFirstUserData () const
 
void TransformUserData (const ON_Xform &xform)
 
void CopyUserData (const ON_Object &source_object)
 
void MoveUserData (ON_Object &source_object)
 

Protected Member Functions

bool ParameterSearch (double t, int &index, bool bEnableSnap, const ON_SimpleArray< double > &m_t, double RelTol=ON_SQRT_EPSILON) const
 

Detailed Description

Definition at line 88 of file opennurbs_curve.h.

Constructor & Destructor Documentation

◆ ON_Curve() [1/2]

ON_Curve::ON_Curve ( )

◆ ON_Curve() [2/2]

ON_Curve::ON_Curve ( const ON_Curve )

◆ ~ON_Curve()

virtual ON_Curve::~ON_Curve ( )
virtual

Member Function Documentation

◆ ChangeClosedCurveSeam()

virtual ON_BOOL32 ON_Curve::ChangeClosedCurveSeam ( double  t)
virtual

◆ ChangeDimension()

virtual bool ON_Curve::ChangeDimension ( int  desired_dimension)
virtual

◆ CurvatureAt()

ON_3dVector ON_Curve::CurvatureAt ( double  t) const

◆ Degree()

virtual int ON_Curve::Degree ( ) const
pure virtual

◆ DerivativeAt()

ON_3dVector ON_Curve::DerivativeAt ( double  t) const

◆ DestroyCurveTree()

void ON_Curve::DestroyCurveTree ( )

◆ DestroyRuntimeCache()

void ON_Curve::DestroyRuntimeCache ( bool  bDelete = true)
virtual

Reimplemented from ON_Object.

Reimplemented in ON_PolyEdgeSegment, ON_PolyEdgeCurve, ON_PolyCurve, and ON_CurveProxy.

◆ Domain()

virtual ON_Interval ON_Curve::Domain ( ) const
pure virtual

◆ DuplicateCurve()

virtual ON_Curve* ON_Curve::DuplicateCurve ( ) const
virtual

◆ Ev1Der()

ON_BOOL32 ON_Curve::Ev1Der ( double  t,
ON_3dPoint point,
ON_3dVector first_derivative,
int  side = 0,
int *  hint = 0 
) const

◆ Ev2Der()

ON_BOOL32 ON_Curve::Ev2Der ( double  t,
ON_3dPoint point,
ON_3dVector first_derivative,
ON_3dVector second_derivative,
int  side = 0,
int *  hint = 0 
) const

◆ Evaluate()

virtual ON_BOOL32 ON_Curve::Evaluate ( double  t,
int  der_count,
int  v_stride,
double *  v,
int  side = 0,
int *  hint = 0 
) const
pure virtual

◆ EvaluatePoint()

bool ON_Curve::EvaluatePoint ( const class ON_ObjRef objref,
ON_3dPoint P 
) const
virtual

Reimplemented from ON_Geometry.

Reimplemented in ON_PolyCurve.

◆ EvCurvature()

ON_BOOL32 ON_Curve::EvCurvature ( double  t,
ON_3dPoint point,
ON_3dVector tangent,
ON_3dVector kappa,
int  side = 0,
int *  hint = 0 
) const

◆ EvPoint()

ON_BOOL32 ON_Curve::EvPoint ( double  t,
ON_3dPoint point,
int  side = 0,
int *  hint = 0 
) const

◆ EvTangent()

ON_BOOL32 ON_Curve::EvTangent ( double  t,
ON_3dPoint point,
ON_3dVector tangent,
int  side = 0,
int *  hint = 0 
) const

◆ Extend()

virtual bool ON_Curve::Extend ( const ON_Interval domain)
virtual

◆ FirstSpanIsLinear() [1/2]

bool ON_Curve::FirstSpanIsLinear ( double  min_length,
double  tolerance 
) const

◆ FirstSpanIsLinear() [2/2]

bool ON_Curve::FirstSpanIsLinear ( double  min_length,
double  tolerance,
ON_Line span_line 
) const

◆ FrameAt()

ON_BOOL32 ON_Curve::FrameAt ( double  t,
ON_Plane plane 
) const

◆ GetCurveParameterFromNurbFormParameter()

virtual ON_BOOL32 ON_Curve::GetCurveParameterFromNurbFormParameter ( double  nurbs_t,
double *  curve_t 
) const
virtual

◆ GetDomain()

ON_BOOL32 ON_Curve::GetDomain ( double *  t0,
double *  t1 
) const

◆ GetNextDiscontinuity()

virtual bool ON_Curve::GetNextDiscontinuity ( ON::continuity  c,
double  t0,
double  t1,
double *  t,
int *  hint = NULL,
int *  dtype = NULL,
double  cos_angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
double  curvature_tolerance = ON_SQRT_EPSILON 
) const
virtual

◆ GetNurbForm()

virtual int ON_Curve::GetNurbForm ( ON_NurbsCurve nurbs_curve,
double  tolerance = 0.0,
const ON_Interval subdomain = NULL 
) const
virtual

◆ GetNurbFormParameterFromCurveParameter()

virtual ON_BOOL32 ON_Curve::GetNurbFormParameterFromCurveParameter ( double  curve_t,
double *  nurbs_t 
) const
virtual

◆ GetParameterTolerance()

virtual ON_BOOL32 ON_Curve::GetParameterTolerance ( double  t,
double *  tminus,
double *  tplus 
) const
virtual

◆ GetSpanVector()

virtual ON_BOOL32 ON_Curve::GetSpanVector ( double *  knots) const
pure virtual

◆ GetSpanVectorIndex()

virtual ON_BOOL32 ON_Curve::GetSpanVectorIndex ( double  t,
int  side,
int *  span_vector_index,
ON_Interval span_domain 
) const
virtual

◆ GetTightBoundingBox()

bool ON_Curve::GetTightBoundingBox ( ON_BoundingBox tight_bbox,
int  bGrowBox = false,
const ON_Xform xform = 0 
) const
virtual

Reimplemented from ON_Geometry.

Reimplemented in ON_PolylineCurve, ON_PolyCurve, and ON_LineCurve.

◆ HasNurbForm()

virtual int ON_Curve::HasNurbForm ( ) const
virtual

◆ IsArc()

virtual ON_BOOL32 ON_Curve::IsArc ( const ON_Plane plane = NULL,
ON_Arc arc = NULL,
double  tolerance = ON_ZERO_TOLERANCE 
) const
virtual

◆ IsArcAt()

bool ON_Curve::IsArcAt ( double  t,
const ON_Plane plane = 0,
ON_Arc arc = 0,
double  tolerance = ON_ZERO_TOLERANCE,
double *  t0 = 0,
double *  t1 = 0 
) const

◆ IsClosable()

bool ON_Curve::IsClosable ( double  tolerance,
double  min_abs_size = 0.0,
double  min_rel_size = 10.0 
) const

◆ IsClosed()

virtual ON_BOOL32 ON_Curve::IsClosed ( ) const
virtual

◆ IsContinuous()

virtual bool ON_Curve::IsContinuous ( ON::continuity  c,
double  t,
int *  hint = NULL,
double  point_tolerance = ON_ZERO_TOLERANCE,
double  d1_tolerance = ON_ZERO_TOLERANCE,
double  d2_tolerance = ON_ZERO_TOLERANCE,
double  cos_angle_tolerance = ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
double  curvature_tolerance = ON_SQRT_EPSILON 
) const
virtual

◆ IsEllipse()

virtual bool ON_Curve::IsEllipse ( const ON_Plane plane = NULL,
ON_Ellipse ellipse = NULL,
double  tolerance = ON_ZERO_TOLERANCE 
) const
virtual

◆ IsInPlane()

virtual ON_BOOL32 ON_Curve::IsInPlane ( const ON_Plane test_plane,
double  tolerance = ON_ZERO_TOLERANCE 
) const
pure virtual

◆ IsLinear()

virtual ON_BOOL32 ON_Curve::IsLinear ( double  tolerance = ON_ZERO_TOLERANCE) const
virtual

◆ IsPeriodic()

virtual ON_BOOL32 ON_Curve::IsPeriodic ( ) const
virtual

◆ IsPlanar()

virtual ON_BOOL32 ON_Curve::IsPlanar ( ON_Plane plane = NULL,
double  tolerance = ON_ZERO_TOLERANCE 
) const
virtual

◆ IsPolyline()

virtual int ON_Curve::IsPolyline ( ON_SimpleArray< ON_3dPoint > *  pline_points = NULL,
ON_SimpleArray< double > *  pline_t = NULL 
) const
virtual

◆ LastSpanIsLinear() [1/2]

bool ON_Curve::LastSpanIsLinear ( double  min_length,
double  tolerance 
) const

◆ LastSpanIsLinear() [2/2]

bool ON_Curve::LastSpanIsLinear ( double  min_length,
double  tolerance,
ON_Line span_line 
) const

◆ NurbsCurve()

ON_NurbsCurve* ON_Curve::NurbsCurve ( ON_NurbsCurve pNurbsCurve = NULL,
double  tolerance = 0.0,
const ON_Interval subdomain = NULL 
) const

◆ ObjectType()

ON::object_type ON_Curve::ObjectType ( ) const
virtual

Reimplemented from ON_Object.

◆ operator=()

ON_Curve& ON_Curve::operator= ( const ON_Curve )

◆ ParameterSearch()

bool ON_Curve::ParameterSearch ( double  t,
int &  index,
bool  bEnableSnap,
const ON_SimpleArray< double > &  m_t,
double  RelTol = ON_SQRT_EPSILON 
) const
protected

◆ PointAt()

ON_3dPoint ON_Curve::PointAt ( double  t) const

◆ PointAtEnd()

ON_3dPoint ON_Curve::PointAtEnd ( ) const

◆ PointAtStart()

ON_3dPoint ON_Curve::PointAtStart ( ) const

◆ Reverse()

virtual ON_BOOL32 ON_Curve::Reverse ( )
pure virtual

◆ SetDomain() [1/2]

virtual ON_BOOL32 ON_Curve::SetDomain ( double  t0,
double  t1 
)
virtual

◆ SetDomain() [2/2]

bool ON_Curve::SetDomain ( ON_Interval  domain)

◆ SetEndPoint()

virtual ON_BOOL32 ON_Curve::SetEndPoint ( ON_3dPoint  end_point)
virtual

◆ SetStartPoint()

virtual ON_BOOL32 ON_Curve::SetStartPoint ( ON_3dPoint  start_point)
virtual

◆ SizeOf()

unsigned int ON_Curve::SizeOf ( ) const
virtual

◆ SpanCount()

virtual int ON_Curve::SpanCount ( ) const
pure virtual

◆ Split()

virtual ON_BOOL32 ON_Curve::Split ( double  t,
ON_Curve *&  left_side,
ON_Curve *&  right_side 
) const
virtual

◆ TangentAt()

ON_3dVector ON_Curve::TangentAt ( double  t) const

◆ Trim()

virtual ON_BOOL32 ON_Curve::Trim ( const ON_Interval domain)
virtual

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