Point Cloud Library (PCL)  1.7.0
Public Member Functions | Static Public Member Functions | Public Attributes
ON_NurbsCurve Class Reference

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

+ Inheritance diagram for ON_NurbsCurve:

List of all members.

Public Member Functions

 ON_NurbsCurve ()
 ON_NurbsCurve (const ON_NurbsCurve &)
 ON_NurbsCurve (const ON_BezierCurve &bezier_curve)
 ON_NurbsCurve (int dimension, ON_BOOL32 bIsRational, int order, int cv_count)
unsigned int SizeOf () const
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
bool IsDuplicate (const ON_NurbsCurve &other, bool bIgnoreParameterization, double tolerance=ON_ZERO_TOLERANCE) const
void Initialize (void)
bool Create (int dimension, ON_BOOL32 bIsRational, int order, int cv_count)
bool CreateClampedUniformNurbs (int dimension, int order, int point_count, const ON_3dPoint *point, double knot_delta=1.0)
bool CreatePeriodicUniformNurbs (int dimension, int order, int point_count, const ON_3dPoint *point, double knot_delta=1.0)
void Destroy ()
virtual ~ON_NurbsCurve ()
void EmergencyDestroy ()
ON_NurbsCurveoperator= (const ON_NurbsCurve &src)
ON_NurbsCurveoperator= (const ON_BezierCurve &bezier_curve)
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
void Dump (ON_TextLog &dump) const
ON_BOOL32 Write (ON_BinaryArchive &binary_archive) const
ON_BOOL32 Read (ON_BinaryArchive &binary_archive)
int Dimension () const
ON_BOOL32 GetBBox (double *boxmin, double *boxmax, int bGrowBox=false) const
ON_BOOL32 Transform (const ON_Xform &xform)
bool IsDeformable () const
bool MakeDeformable ()
ON_BOOL32 SwapCoordinates (int i, int j)
ON_Interval Domain () const
ON_BOOL32 SetDomain (double t0, double t1)
ON_BOOL32 ChangeClosedCurveSeam (double t)
int SpanCount () const
ON_BOOL32 GetSpanVector (double *knot_values) const
 (m_knot[m_order-2],...,m_knot[m_cv_count-1)
int Degree () const
ON_BOOL32 GetParameterTolerance (double t, double *tminus, double *tplus) const
ON_BOOL32 IsLinear (double tolerance=ON_ZERO_TOLERANCE) const
int IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
ON_BOOL32 IsArc (const ON_Plane *plane=NULL, ON_Arc *arc=NULL, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 IsPlanar (ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 IsInPlane (const ON_Plane &test_plane, double tolerance=ON_ZERO_TOLERANCE) const
ON_BOOL32 IsClosed () const
ON_BOOL32 IsPeriodic () const
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
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
ON_BOOL32 SetStartPoint (ON_3dPoint start_point)
ON_BOOL32 SetEndPoint (ON_3dPoint end_point)
ON_BOOL32 Reverse ()
ON_BOOL32 Evaluate (double, int, int, double *, int=0, int *=0) const
bool SpanIsLinear (int span_index, double min_length, double tolerance) const
bool SpanIsLinear (int span_index, double min_length, double tolerance, ON_Line *line) const
bool RepairBadKnots (double knot_tolerance=0.0, bool bRepair=true)
ON_BOOL32 Trim (const ON_Interval &)
bool Extend (const ON_Interval &domain)
ON_BOOL32 Split (double split_param, ON_Curve *&left_result, ON_Curve *&right_result) const
int GetNurbForm (ON_NurbsCurve &nurbsform, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
int HasNurbForm () const
ON_BOOL32 GetCurveParameterFromNurbFormParameter (double nurbs_t, double *curve_t) const
ON_BOOL32 GetNurbFormParameterFromCurveParameter (double curve_t, double *nurbs_t) const
bool IsRational (void) const
int CVSize (void) const
int Order (void) const
int CVCount (void) const
int KnotCount (void) const
double * CV (int cv_index) const
ON::point_style CVStyle () const
double Weight (int) const
ON_BOOL32 SetWeight (int, double)
ON_BOOL32 SetCV (int, ON::point_style, const double *)
ON_BOOL32 SetCV (int, const ON_3dPoint &)
ON_BOOL32 SetCV (int, const ON_4dPoint &)
ON_BOOL32 GetCV (int, ON::point_style, double *) const
ON_BOOL32 GetCV (int, ON_3dPoint &) const
ON_BOOL32 GetCV (int, ON_4dPoint &) const
bool SetKnot (int knot_index, double knot_value)
double Knot (int knot_index) const
int KnotMultiplicity (int knot_index) const
const double * Knot () const
bool MakeClampedUniformKnotVector (double delta=1.0)
bool MakePeriodicUniformKnotVector (double delta=1.0)
bool IsClamped (int=2) const
double SuperfluousKnot (int) const
double GrevilleAbcissa (int) const
bool GetGrevilleAbcissae (double *) const
bool ZeroCVs ()
bool ClampEnd (int end)
bool InsertKnot (double knot_value, int knot_multiplicity)
bool MakeRational ()
bool MakeNonRational ()
bool IncreaseDegree (int desired_degree)
bool ChangeDimension (int desired_dimension)
bool Append (const ON_NurbsCurve &)
bool ReserveCVCapacity (int)
bool ReserveKnotCapacity (int)
double ControlPolygonLength () const
bool ConvertSpanToBezier (int, ON_BezierCurve &) const
bool SpanIsSingular (int span_index) const
bool IsSingular () const
bool RemoveSpan (int span_index)
int RemoveSingularSpans ()
bool HasBezierSpans () const
bool MakePiecewiseBezier (bool bSetEndWeightsToOne=false)
bool ChangeEndWeights (double w0, double w1)
bool Reparameterize (double c)

Static Public Member Functions

static ON_NurbsCurveNew ()
static ON_NurbsCurveNew (const ON_NurbsCurve &nurbs_curve)
static ON_NurbsCurveNew (const ON_BezierCurve &bezier_curve)
static ON_NurbsCurveNew (int dimension, ON_BOOL32 bIsRational, int order, int cv_count)

Public Attributes

int m_dim
int m_is_rat
int m_order
int m_cv_count
int m_knot_capacity
double * m_knot
int m_cv_stride
int m_cv_capacity
double * m_cv

Detailed Description

Definition at line 29 of file opennurbs_nurbscurve.h.


Constructor & Destructor Documentation

ON_NurbsCurve::ON_NurbsCurve ( const ON_BezierCurve bezier_curve)
ON_NurbsCurve::ON_NurbsCurve ( int  dimension,
ON_BOOL32  bIsRational,
int  order,
int  cv_count 
)
virtual ON_NurbsCurve::~ON_NurbsCurve ( ) [virtual]

Member Function Documentation

ON_BOOL32 ON_NurbsCurve::ChangeClosedCurveSeam ( double  t) [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::ChangeDimension ( int  desired_dimension) [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::ChangeEndWeights ( double  w0,
double  w1 
)
bool ON_NurbsCurve::ClampEnd ( int  end)
bool ON_NurbsCurve::ConvertSpanToBezier ( int  ,
ON_BezierCurve  
) const
bool ON_NurbsCurve::Create ( int  dimension,
ON_BOOL32  bIsRational,
int  order,
int  cv_count 
)
bool ON_NurbsCurve::CreateClampedUniformNurbs ( int  dimension,
int  order,
int  point_count,
const ON_3dPoint point,
double  knot_delta = 1.0 
)
bool ON_NurbsCurve::CreatePeriodicUniformNurbs ( int  dimension,
int  order,
int  point_count,
const ON_3dPoint point,
double  knot_delta = 1.0 
)
double* ON_NurbsCurve::CV ( int  cv_index) const
int ON_NurbsCurve::CVCount ( void  ) const
int ON_NurbsCurve::CVSize ( void  ) const
ON::point_style ON_NurbsCurve::CVStyle ( ) const
ON__UINT32 ON_NurbsCurve::DataCRC ( ON__UINT32  current_remainder) const [virtual]

Reimplemented from ON_Object.

int ON_NurbsCurve::Degree ( ) const [virtual]

Implements ON_Curve.

int ON_NurbsCurve::Dimension ( ) const [virtual]

Implements ON_Geometry.

ON_Interval ON_NurbsCurve::Domain ( ) const [virtual]

Implements ON_Curve.

void ON_NurbsCurve::Dump ( ON_TextLog dump) const [virtual]

Reimplemented from ON_Object.

Reimplemented from ON_Object.

ON_BOOL32 ON_NurbsCurve::Evaluate ( double  ,
int  ,
int  ,
double *  ,
int  = 0,
int *  = 0 
) const [virtual]

Implements ON_Curve.

bool ON_NurbsCurve::Extend ( const ON_Interval domain) [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::GetBBox ( double *  boxmin,
double *  boxmax,
int  bGrowBox = false 
) const [virtual]

Implements ON_Geometry.

ON_BOOL32 ON_NurbsCurve::GetCurveParameterFromNurbFormParameter ( double  nurbs_t,
double *  curve_t 
) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::GetCV ( int  ,
ON::point_style  ,
double *   
) const
ON_BOOL32 ON_NurbsCurve::GetCV ( int  ,
ON_3dPoint  
) const
ON_BOOL32 ON_NurbsCurve::GetCV ( int  ,
ON_4dPoint  
) const
bool ON_NurbsCurve::GetGrevilleAbcissae ( double *  ) const
bool ON_NurbsCurve::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]

Reimplemented from ON_Curve.

int ON_NurbsCurve::GetNurbForm ( ON_NurbsCurve nurbsform,
double  tolerance = 0.0,
const ON_Interval subdomain = NULL 
) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::GetNurbFormParameterFromCurveParameter ( double  curve_t,
double *  nurbs_t 
) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::GetParameterTolerance ( double  t,
double *  tminus,
double *  tplus 
) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::GetSpanVector ( double *  knot_values) const [virtual]

(m_knot[m_order-2],...,m_knot[m_cv_count-1)

Implements ON_Curve.

double ON_NurbsCurve::GrevilleAbcissa ( int  ) const
int ON_NurbsCurve::HasNurbForm ( ) const [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::IncreaseDegree ( int  desired_degree)
void ON_NurbsCurve::Initialize ( void  )
bool ON_NurbsCurve::InsertKnot ( double  knot_value,
int  knot_multiplicity 
)
ON_BOOL32 ON_NurbsCurve::IsArc ( const ON_Plane plane = NULL,
ON_Arc arc = NULL,
double  tolerance = ON_ZERO_TOLERANCE 
) const [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::IsClamped ( int  = 2) const
ON_BOOL32 ON_NurbsCurve::IsClosed ( ) const [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::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]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::IsDeformable ( ) const [virtual]

Reimplemented from ON_Geometry.

bool ON_NurbsCurve::IsDuplicate ( const ON_NurbsCurve other,
bool  bIgnoreParameterization,
double  tolerance = ON_ZERO_TOLERANCE 
) const
ON_BOOL32 ON_NurbsCurve::IsInPlane ( const ON_Plane test_plane,
double  tolerance = ON_ZERO_TOLERANCE 
) const [virtual]

Implements ON_Curve.

ON_BOOL32 ON_NurbsCurve::IsLinear ( double  tolerance = ON_ZERO_TOLERANCE) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::IsPeriodic ( ) const [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::IsPlanar ( ON_Plane plane = NULL,
double  tolerance = ON_ZERO_TOLERANCE 
) const [virtual]

Reimplemented from ON_Curve.

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

Reimplemented from ON_Curve.

bool ON_NurbsCurve::IsRational ( void  ) const
bool ON_NurbsCurve::IsSingular ( ) const
ON_BOOL32 ON_NurbsCurve::IsValid ( ON_TextLog text_log = NULL) const [virtual]

Implements ON_Object.

double ON_NurbsCurve::Knot ( int  knot_index) const
const double* ON_NurbsCurve::Knot ( ) const
int ON_NurbsCurve::KnotCount ( void  ) const
int ON_NurbsCurve::KnotMultiplicity ( int  knot_index) const
bool ON_NurbsCurve::MakeClampedUniformKnotVector ( double  delta = 1.0)
bool ON_NurbsCurve::MakeDeformable ( ) [virtual]

Reimplemented from ON_Geometry.

bool ON_NurbsCurve::MakePeriodicUniformKnotVector ( double  delta = 1.0)
bool ON_NurbsCurve::MakePiecewiseBezier ( bool  bSetEndWeightsToOne = false)
static ON_NurbsCurve* ON_NurbsCurve::New ( ) [static]
static ON_NurbsCurve* ON_NurbsCurve::New ( const ON_NurbsCurve nurbs_curve) [static]
static ON_NurbsCurve* ON_NurbsCurve::New ( const ON_BezierCurve bezier_curve) [static]
static ON_NurbsCurve* ON_NurbsCurve::New ( int  dimension,
ON_BOOL32  bIsRational,
int  order,
int  cv_count 
) [static]
ON_NurbsCurve& ON_NurbsCurve::operator= ( const ON_NurbsCurve src)
ON_NurbsCurve& ON_NurbsCurve::operator= ( const ON_BezierCurve bezier_curve)
int ON_NurbsCurve::Order ( void  ) const
ON_BOOL32 ON_NurbsCurve::Read ( ON_BinaryArchive binary_archive) [virtual]

Reimplemented from ON_Object.

bool ON_NurbsCurve::RemoveSpan ( int  span_index)
bool ON_NurbsCurve::RepairBadKnots ( double  knot_tolerance = 0.0,
bool  bRepair = true 
)
bool ON_NurbsCurve::Reparameterize ( double  c)
ON_BOOL32 ON_NurbsCurve::Reverse ( ) [virtual]

Implements ON_Curve.

ON_BOOL32 ON_NurbsCurve::SetCV ( int  ,
ON::point_style  ,
const double *   
)
ON_BOOL32 ON_NurbsCurve::SetCV ( int  ,
const ON_3dPoint  
)
ON_BOOL32 ON_NurbsCurve::SetCV ( int  ,
const ON_4dPoint  
)
ON_BOOL32 ON_NurbsCurve::SetDomain ( double  t0,
double  t1 
) [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::SetEndPoint ( ON_3dPoint  end_point) [virtual]

Reimplemented from ON_Curve.

bool ON_NurbsCurve::SetKnot ( int  knot_index,
double  knot_value 
)
ON_BOOL32 ON_NurbsCurve::SetStartPoint ( ON_3dPoint  start_point) [virtual]

Reimplemented from ON_Curve.

ON_BOOL32 ON_NurbsCurve::SetWeight ( int  ,
double   
)
unsigned int ON_NurbsCurve::SizeOf ( ) const [virtual]

Reimplemented from ON_Curve.

int ON_NurbsCurve::SpanCount ( ) const [virtual]

Implements ON_Curve.

bool ON_NurbsCurve::SpanIsLinear ( int  span_index,
double  min_length,
double  tolerance 
) const
bool ON_NurbsCurve::SpanIsLinear ( int  span_index,
double  min_length,
double  tolerance,
ON_Line line 
) const
bool ON_NurbsCurve::SpanIsSingular ( int  span_index) const
ON_BOOL32 ON_NurbsCurve::Split ( double  split_param,
ON_Curve *&  left_result,
ON_Curve *&  right_result 
) const [virtual]

Reimplemented from ON_Curve.

double ON_NurbsCurve::SuperfluousKnot ( int  ) const
ON_BOOL32 ON_NurbsCurve::SwapCoordinates ( int  i,
int  j 
) [virtual]

Reimplemented from ON_Geometry.

ON_BOOL32 ON_NurbsCurve::Transform ( const ON_Xform xform) [virtual]

Reimplemented from ON_Geometry.

ON_BOOL32 ON_NurbsCurve::Trim ( const ON_Interval ) [virtual]

Reimplemented from ON_Curve.

double ON_NurbsCurve::Weight ( int  ) const
ON_BOOL32 ON_NurbsCurve::Write ( ON_BinaryArchive binary_archive) const [virtual]

Reimplemented from ON_Object.


Member Data Documentation

Definition at line 1155 of file opennurbs_nurbscurve.h.

Definition at line 1146 of file opennurbs_nurbscurve.h.

Definition at line 1123 of file opennurbs_nurbscurve.h.

Definition at line 1143 of file opennurbs_nurbscurve.h.

Definition at line 1114 of file opennurbs_nurbscurve.h.

Definition at line 1116 of file opennurbs_nurbscurve.h.

Definition at line 1138 of file opennurbs_nurbscurve.h.

Definition at line 1127 of file opennurbs_nurbscurve.h.

Definition at line 1121 of file opennurbs_nurbscurve.h.


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