QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_BezierCurve Class Reference

#include <opennurbs_bezier.h>

Public Member Functions

ON_BoundingBox BoundingBox () const
 
bool ChangeDimension (int desired_dimension)
 
bool ChangeWeights (int i0, double w0, int i1, double w1)
 
double ControlPolygonLength () const
 
bool Create (int dim, ON_BOOL32 bIsRational, int order)
 
ON_3dVector CurvatureAt (double t) const
 
double * CV (int cv_index) const
 
int CVCount () const
 
int CVSize () const
 
ON::point_style CVStyle () const
 
int Degree () const
 
ON_3dVector DerivativeAt (double t) const
 
void Destroy ()
 
int Dimension () const
 
ON_Interval Domain () const
 
void Dump (ON_TextLog &) const
 
void EmergencyDestroy ()
 
bool Ev1Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative) const
 
bool Ev2Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, ON_3dVector &second_derivative) const
 
bool Evaluate (double t, int der_count, int v_stride, double *v) const
 
bool EvCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, ON_3dVector &kappa) const
 
bool EvPoint (double t, ON_3dPoint &point) const
 
bool EvTangent (double t, ON_3dPoint &point, ON_3dVector &tangent) const
 
bool GetBBox (double *box_min, double *box_max, int bGrowBox=false) const
 
bool GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
bool GetClosestPoint (ON_3dPoint P, double *t, double maximum_distance=0.0, const ON_Interval *sub_domain=0) const
 
bool GetCV (int cv_index, ON::point_style pointstyle, double *cv) const
 
bool GetCV (int cv_index, ON_3dPoint &point) const
 
bool GetCV (int cv_index, ON_4dPoint &point) const
 
bool GetLocalClosestPoint (ON_3dPoint P, double seed_parameter, double *t, const ON_Interval *sub_domain=0) const
 
bool GetLocalCurveIntersection (const ON_BezierCurve *other_bezcrv, double this_seed_t, double other_seed_t, double *this_t, double *other_t, const ON_Interval *this_domain=0, const ON_Interval *other_domain=0) const
 
bool GetLocalSurfaceIntersection (const ON_BezierSurface *bezsrf, double seed_t, double seed_u, double seed_v, double *t, double *u, double *v, const ON_Interval *tdomain=0, const ON_Interval *udomain=0, const ON_Interval *vdomain=0) const
 
bool GetNurbForm (ON_NurbsCurve &nurbs_curve) const
 
bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
bool IncreaseDegree (int desired_degree)
 
int IntersectCurve (const ON_BezierCurve *bezierB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *bezierA_domain=0, const ON_Interval *bezierB_domain=0) const
 
int IntersectSelf (ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0) const
 
int IntersectSurface (const ON_BezierSurface *bezsrfB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *bezierA_domain=0, const ON_Interval *bezsrfB_udomain=0, const ON_Interval *bezsrfB_vdomain=0) const
 
bool IsRational () const
 
bool IsValid () const
 
bool Loft (const ON_3dPointArray &points)
 
bool Loft (int pt_dim, int pt_count, int pt_stride, const double *pt, int t_stride, const double *t)
 
bool MakeNonRational ()
 
bool MakeRational ()
 
bool Morph (const ON_SpaceMorph &morph)
 
 ON_BezierCurve ()
 
 ON_BezierCurve (const ON_2dPointArray &)
 
 ON_BezierCurve (const ON_3dPointArray &)
 
 ON_BezierCurve (const ON_4dPointArray &)
 
 ON_BezierCurve (const ON_BezierCurve &)
 
 ON_BezierCurve (const ON_PolynomialCurve &)
 
 ON_BezierCurve (int dim, ON_BOOL32 bIsRational, int order)
 
ON_BezierCurveoperator= (const ON_2dPointArray &)
 
ON_BezierCurveoperator= (const ON_3dPointArray &)
 
ON_BezierCurveoperator= (const ON_4dPointArray &)
 
ON_BezierCurveoperator= (const ON_BezierCurve &)
 
ON_BezierCurveoperator= (const ON_PolynomialCurve &)
 
int Order () const
 
ON_3dPoint PointAt (double t) const
 
bool Reparameterize (double c)
 
ON_DEPRECATED bool Reparametrize (double)
 
bool ReserveCVCapacity (int desired_cv_capacity)
 
bool Reverse ()
 
bool Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
bool Scale (double scale_factor)
 
bool ScaleConrolPoints (int i, double w)
 
bool SetCV (int cv_index, const ON_3dPoint &point)
 
bool SetCV (int cv_index, const ON_4dPoint &point)
 
bool SetCV (int cv_index, ON::point_style pointstyle, const double *cv)
 
bool SetWeight (int cv_index, double weight)
 
bool Split (double t, ON_BezierCurve &left_side, ON_BezierCurve &right_side) const
 
ON_3dVector TangentAt (double t) const
 
bool Transform (const ON_Xform &xform)
 
bool Translate (const ON_3dVector &translation_vector)
 
bool Trim (const ON_Interval &interval)
 
double Weight (int cv_index) const
 
bool ZeroCVs ()
 
 ~ON_BezierCurve ()
 

Public Attributes

double * m_cv
 
int m_cv_capacity
 
int m_cv_stride
 
int m_dim
 
int m_is_rat
 
int m_order
 

Constructor & Destructor Documentation

◆ ON_BezierCurve() [1/7]

ON_BezierCurve::ON_BezierCurve ( )

◆ ON_BezierCurve() [2/7]

ON_BezierCurve::ON_BezierCurve ( int dim,
ON_BOOL32 bIsRational,
int order )

◆ ~ON_BezierCurve()

ON_BezierCurve::~ON_BezierCurve ( )

◆ ON_BezierCurve() [3/7]

ON_BezierCurve::ON_BezierCurve ( const ON_BezierCurve & src)

◆ ON_BezierCurve() [4/7]

ON_BezierCurve::ON_BezierCurve ( const ON_PolynomialCurve & src)

◆ ON_BezierCurve() [5/7]

ON_BezierCurve::ON_BezierCurve ( const ON_2dPointArray & cv)

◆ ON_BezierCurve() [6/7]

ON_BezierCurve::ON_BezierCurve ( const ON_3dPointArray & cv)

◆ ON_BezierCurve() [7/7]

ON_BezierCurve::ON_BezierCurve ( const ON_4dPointArray & cv)

Member Function Documentation

◆ BoundingBox()

ON_BoundingBox ON_BezierCurve::BoundingBox ( ) const

◆ ChangeDimension()

bool ON_BezierCurve::ChangeDimension ( int desired_dimension)

◆ ChangeWeights()

bool ON_BezierCurve::ChangeWeights ( int i0,
double w0,
int i1,
double w1 )

◆ ControlPolygonLength()

double ON_BezierCurve::ControlPolygonLength ( ) const

◆ Create()

bool ON_BezierCurve::Create ( int dim,
ON_BOOL32 bIsRational,
int order )

◆ CurvatureAt()

ON_3dVector ON_BezierCurve::CurvatureAt ( double t) const

◆ CV()

double * ON_BezierCurve::CV ( int cv_index) const

◆ CVCount()

int ON_BezierCurve::CVCount ( ) const

◆ CVSize()

int ON_BezierCurve::CVSize ( ) const

◆ CVStyle()

ON::point_style ON_BezierCurve::CVStyle ( ) const

◆ Degree()

int ON_BezierCurve::Degree ( ) const

◆ DerivativeAt()

ON_3dVector ON_BezierCurve::DerivativeAt ( double t) const

◆ Destroy()

void ON_BezierCurve::Destroy ( )

◆ Dimension()

int ON_BezierCurve::Dimension ( ) const

◆ Domain()

ON_Interval ON_BezierCurve::Domain ( ) const

◆ Dump()

void ON_BezierCurve::Dump ( ON_TextLog & dump) const

◆ EmergencyDestroy()

void ON_BezierCurve::EmergencyDestroy ( )

◆ Ev1Der()

bool ON_BezierCurve::Ev1Der ( double t,
ON_3dPoint & point,
ON_3dVector & first_derivative ) const

◆ Ev2Der()

bool ON_BezierCurve::Ev2Der ( double t,
ON_3dPoint & point,
ON_3dVector & first_derivative,
ON_3dVector & second_derivative ) const

◆ Evaluate()

bool ON_BezierCurve::Evaluate ( double t,
int der_count,
int v_stride,
double * v ) const

◆ EvCurvature()

bool ON_BezierCurve::EvCurvature ( double t,
ON_3dPoint & point,
ON_3dVector & tangent,
ON_3dVector & kappa ) const

◆ EvPoint()

bool ON_BezierCurve::EvPoint ( double t,
ON_3dPoint & point ) const

◆ EvTangent()

bool ON_BezierCurve::EvTangent ( double t,
ON_3dPoint & point,
ON_3dVector & tangent ) const

◆ GetBBox()

bool ON_BezierCurve::GetBBox ( double * box_min,
double * box_max,
int bGrowBox = false ) const

◆ GetBoundingBox()

bool ON_BezierCurve::GetBoundingBox ( ON_BoundingBox & bbox,
int bGrowBox = false ) const

◆ GetClosestPoint()

bool ON_BezierCurve::GetClosestPoint ( ON_3dPoint P,
double * t,
double maximum_distance = 0.0,
const ON_Interval * sub_domain = 0 ) const

◆ GetCV() [1/3]

bool ON_BezierCurve::GetCV ( int cv_index,
ON::point_style pointstyle,
double * cv ) const

◆ GetCV() [2/3]

bool ON_BezierCurve::GetCV ( int cv_index,
ON_3dPoint & point ) const

◆ GetCV() [3/3]

bool ON_BezierCurve::GetCV ( int cv_index,
ON_4dPoint & point ) const

◆ GetLocalClosestPoint()

bool ON_BezierCurve::GetLocalClosestPoint ( ON_3dPoint P,
double seed_parameter,
double * t,
const ON_Interval * sub_domain = 0 ) const

◆ GetLocalCurveIntersection()

bool ON_BezierCurve::GetLocalCurveIntersection ( const ON_BezierCurve * other_bezcrv,
double this_seed_t,
double other_seed_t,
double * this_t,
double * other_t,
const ON_Interval * this_domain = 0,
const ON_Interval * other_domain = 0 ) const

◆ GetLocalSurfaceIntersection()

bool ON_BezierCurve::GetLocalSurfaceIntersection ( const ON_BezierSurface * bezsrf,
double seed_t,
double seed_u,
double seed_v,
double * t,
double * u,
double * v,
const ON_Interval * tdomain = 0,
const ON_Interval * udomain = 0,
const ON_Interval * vdomain = 0 ) const

◆ GetNurbForm()

bool ON_BezierCurve::GetNurbForm ( ON_NurbsCurve & nurbs_curve) const

◆ GetTightBoundingBox()

bool ON_BezierCurve::GetTightBoundingBox ( ON_BoundingBox & tight_bbox,
int bGrowBox = false,
const ON_Xform * xform = 0 ) const

◆ IncreaseDegree()

bool ON_BezierCurve::IncreaseDegree ( int desired_degree)

◆ IntersectCurve()

int ON_BezierCurve::IntersectCurve ( const ON_BezierCurve * bezierB,
ON_SimpleArray< ON_X_EVENT > & x,
double intersection_tolerance = 0.0,
double overlap_tolerance = 0.0,
const ON_Interval * bezierA_domain = 0,
const ON_Interval * bezierB_domain = 0 ) const

◆ IntersectSelf()

int ON_BezierCurve::IntersectSelf ( ON_SimpleArray< ON_X_EVENT > & x,
double intersection_tolerance = 0.0 ) const

◆ IntersectSurface()

int ON_BezierCurve::IntersectSurface ( const ON_BezierSurface * bezsrfB,
ON_SimpleArray< ON_X_EVENT > & x,
double intersection_tolerance = 0.0,
double overlap_tolerance = 0.0,
const ON_Interval * bezierA_domain = 0,
const ON_Interval * bezsrfB_udomain = 0,
const ON_Interval * bezsrfB_vdomain = 0 ) const

◆ IsRational()

bool ON_BezierCurve::IsRational ( ) const

◆ IsValid()

bool ON_BezierCurve::IsValid ( ) const

◆ Loft() [1/2]

bool ON_BezierCurve::Loft ( const ON_3dPointArray & points)

◆ Loft() [2/2]

bool ON_BezierCurve::Loft ( int pt_dim,
int pt_count,
int pt_stride,
const double * pt,
int t_stride,
const double * t )

◆ MakeNonRational()

bool ON_BezierCurve::MakeNonRational ( )

◆ MakeRational()

bool ON_BezierCurve::MakeRational ( )

◆ Morph()

bool ON_BezierCurve::Morph ( const ON_SpaceMorph & morph)

◆ operator=() [1/5]

ON_BezierCurve & ON_BezierCurve::operator= ( const ON_2dPointArray & cv)

◆ operator=() [2/5]

ON_BezierCurve & ON_BezierCurve::operator= ( const ON_3dPointArray & cv)

◆ operator=() [3/5]

ON_BezierCurve & ON_BezierCurve::operator= ( const ON_4dPointArray & cv)

◆ operator=() [4/5]

ON_BezierCurve & ON_BezierCurve::operator= ( const ON_BezierCurve & src)

◆ operator=() [5/5]

ON_BezierCurve & ON_BezierCurve::operator= ( const ON_PolynomialCurve & src)

◆ Order()

int ON_BezierCurve::Order ( ) const

◆ PointAt()

ON_3dPoint ON_BezierCurve::PointAt ( double t) const

◆ Reparameterize()

bool ON_BezierCurve::Reparameterize ( double c)

◆ Reparametrize()

bool ON_BezierCurve::Reparametrize ( double c)

◆ ReserveCVCapacity()

bool ON_BezierCurve::ReserveCVCapacity ( int desired_cv_capacity)

◆ Reverse()

bool ON_BezierCurve::Reverse ( )

◆ Rotate() [1/2]

bool ON_BezierCurve::Rotate ( double rotation_angle,
const ON_3dVector & rotation_axis,
const ON_3dPoint & rotation_center )

◆ Rotate() [2/2]

bool ON_BezierCurve::Rotate ( double sin_angle,
double cos_angle,
const ON_3dVector & rotation_axis,
const ON_3dPoint & rotation_center )

◆ Scale()

bool ON_BezierCurve::Scale ( double scale_factor)

◆ ScaleConrolPoints()

bool ON_BezierCurve::ScaleConrolPoints ( int i,
double w )

◆ SetCV() [1/3]

bool ON_BezierCurve::SetCV ( int cv_index,
const ON_3dPoint & point )

◆ SetCV() [2/3]

bool ON_BezierCurve::SetCV ( int cv_index,
const ON_4dPoint & point )

◆ SetCV() [3/3]

bool ON_BezierCurve::SetCV ( int cv_index,
ON::point_style pointstyle,
const double * cv )

◆ SetWeight()

bool ON_BezierCurve::SetWeight ( int cv_index,
double weight )

◆ Split()

bool ON_BezierCurve::Split ( double t,
ON_BezierCurve & left_side,
ON_BezierCurve & right_side ) const

◆ TangentAt()

ON_3dVector ON_BezierCurve::TangentAt ( double t) const

◆ Transform()

bool ON_BezierCurve::Transform ( const ON_Xform & xform)

◆ Translate()

bool ON_BezierCurve::Translate ( const ON_3dVector & translation_vector)

◆ Trim()

bool ON_BezierCurve::Trim ( const ON_Interval & interval)

◆ Weight()

double ON_BezierCurve::Weight ( int cv_index) const

◆ ZeroCVs()

bool ON_BezierCurve::ZeroCVs ( )

Member Data Documentation

◆ m_cv

double* ON_BezierCurve::m_cv

◆ m_cv_capacity

int ON_BezierCurve::m_cv_capacity

◆ m_cv_stride

int ON_BezierCurve::m_cv_stride

◆ m_dim

int ON_BezierCurve::m_dim

◆ m_is_rat

int ON_BezierCurve::m_is_rat

◆ m_order

int ON_BezierCurve::m_order

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