#include <opennurbs_bezier.h>
Public Member Functions | |
| ON_BezierSurface () | |
| ON_BezierSurface (int dim, bool is_rat, int order0, int order1) | |
| ON_BezierSurface (const ON_BezierSurface &) | |
| ON_BezierSurface (const ON_PolynomialSurface &) | |
| ~ON_BezierSurface () | |
| ON_BoundingBox | BoundingBox () const | 
| bool | Create (int dim, bool is_rat, int order0, int order1) | 
| double * | CV (int cv_index0, int cv_index1) const | 
| Expert user function to get a pointer to control vertex memory. If you are not an expert user, please use ON_BezierSurface::GetCV( ON_3dPoint& ) or ON_BezierSurface::GetCV( ON_4dPoint& ).  More... | |
| int | CVSize () const | 
| ON::point_style | CVStyle () const | 
| Returns the style of control vertices in the m_cv array.  More... | |
| int | Degree (int) const | 
| void | Destroy () | 
| int | Dimension () const | 
| ON_Interval | Domain (int) const | 
| void | Dump (ON_TextLog &) const | 
| void | EmergencyDestroy () | 
| bool | Evaluate (double, double, int, int, double *) const | 
| bool | GetBBox (double *, double *, bool bGrowBox=false) const | 
| bool | GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox) const | 
| bool | GetCV (int, int, ON::point_style, double *) const | 
| bool | GetCV (int, int, ON_3dPoint &) const | 
| bool | GetCV (int, int, ON_4dPoint &) const | 
| int | GetNurbForm (ON_NurbsSurface &) const | 
| bool | GetSurfaceSize (double *width, double *height) const | 
| Get an estimate of the size of the rectangle that would be created if the 3d surface where flattened into a rectangle.  More... | |
| ON_BezierCurve * | IsoCurve (int dir, double c, ON_BezierCurve *iso=nullptr) const | 
| returns the isocurve.  More... | |
| bool | IsRational () const | 
| bool | IsSingular (int) const | 
| bool | IsValid () const | 
| bool | Loft (const ON_ClassArray< ON_BezierCurve > &curve_list) | 
| Loft a bezier surface through a list of bezier curves.  More... | |
| bool | Loft (int count, const ON_BezierCurve *const *curve_list) | 
| Loft a bezier surface through a list of bezier curves.  More... | |
| bool | MakeNonRational () | 
| bool | MakeRational () | 
| ON_BezierSurface & | operator= (const ON_BezierSurface &) | 
| ON_BezierSurface & | operator= (const ON_PolynomialSurface &) | 
| int | Order (int) const | 
| ON_3dPoint | PointAt (double s, double t) const | 
| bool | ReserveCVCapacity (int) | 
| Tools for managing CV and knot memory.  More... | |
| bool | Reverse (int) | 
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) | 
| Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).  More... | |
| bool | Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) | 
| Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).  More... | |
| bool | Scale (double scale_factor) | 
| Scales the bezier surface by the specified facotor. The scale is centered at the origin.  More... | |
| bool | SetCV (int, int, ON::point_style, const double *) | 
| bool | SetCV (int, int, const ON_3dPoint &) | 
| bool | SetCV (int, int, const ON_4dPoint &) | 
| bool | SetWeight (int, int, double) | 
| bool | Split (int, double, ON_BezierSurface &, ON_BezierSurface &) const | 
| bool | Transform (const ON_Xform &) | 
| bool | Translate (const ON_3dVector &translation_vector) | 
| Translates the bezier surface along the specified vector.  More... | |
| bool | Transpose () | 
| bool | Trim (int dir, const ON_Interval &domain) | 
| double | Weight (int, int) const | 
| bool | ZeroCVs () | 
Public Attributes | |
| double * | m_cv | 
| int | m_cv_capacity | 
| int | m_cv_stride [2] | 
| int | m_dim | 
| Implementation.  More... | |
| int | m_is_rat | 
| int | m_order [2] | 
| ON_BezierSurface::ON_BezierSurface | ( | ) | 
| ON_BezierSurface::ON_BezierSurface | ( | int | dim, | 
| bool | is_rat, | ||
| int | order0, | ||
| int | order1 | ||
| ) | 
| ON_BezierSurface::~ON_BezierSurface | ( | ) | 
| ON_BezierSurface::ON_BezierSurface | ( | const ON_BezierSurface & | ) | 
| ON_BezierSurface::ON_BezierSurface | ( | const ON_PolynomialSurface & | ) | 
| ON_BoundingBox ON_BezierSurface::BoundingBox | ( | ) | const | 
| bool ON_BezierSurface::Create | ( | int | dim, | 
| bool | is_rat, | ||
| int | order0, | ||
| int | order1 | ||
| ) | 
| double* ON_BezierSurface::CV | ( | int | cv_index0, | 
| int | cv_index1 | ||
| ) | const | 
Expert user function to get a pointer to control vertex memory. If you are not an expert user, please use ON_BezierSurface::GetCV( ON_3dPoint& ) or ON_BezierSurface::GetCV( ON_4dPoint& ).
| cv_index0 | [in] (0 <= cv_index0 < m_order[0]) | 
| cv_index1 | [in] (0 <= cv_index1 < m_order[1]) | 
If the Bezier surface is rational, the format of the returned array is a homogeneos rational point with length m_dim+1. If the Bezier surface is not rational, the format of the returned array is a nonrational euclidean point with length m_dim. See Also ON_BezierSurface::CVStyle ON_BezierSurface::GetCV ON_BezierSurface::Weight
| int ON_BezierSurface::CVSize | ( | ) | const | 
| ON::point_style ON_BezierSurface::CVStyle | ( | ) | const | 
Returns the style of control vertices in the m_cv array.
| int ON_BezierSurface::Degree | ( | int | ) | const | 
| void ON_BezierSurface::Destroy | ( | ) | 
| int ON_BezierSurface::Dimension | ( | ) | const | 
| ON_Interval ON_BezierSurface::Domain | ( | int | ) | const | 
| void ON_BezierSurface::Dump | ( | ON_TextLog & | ) | const | 
| void ON_BezierSurface::EmergencyDestroy | ( | ) | 
| bool ON_BezierSurface::Evaluate | ( | double | , | 
| double | , | ||
| int | , | ||
| int | , | ||
| double * | |||
| ) | const | 
| bool ON_BezierSurface::GetBBox | ( | double * | , | 
| double * | , | ||
| bool | bGrowBox = false  | 
        ||
| ) | const | 
| bool ON_BezierSurface::GetBoundingBox | ( | ON_BoundingBox & | bbox, | 
| int | bGrowBox | ||
| ) | const | 
| bool ON_BezierSurface::GetCV | ( | int | , | 
| int | , | ||
| ON::point_style | , | ||
| double * | |||
| ) | const | 
| bool ON_BezierSurface::GetCV | ( | int | , | 
| int | , | ||
| ON_3dPoint & | |||
| ) | const | 
| bool ON_BezierSurface::GetCV | ( | int | , | 
| int | , | ||
| ON_4dPoint & | |||
| ) | const | 
| int ON_BezierSurface::GetNurbForm | ( | ON_NurbsSurface & | ) | const | 
| bool ON_BezierSurface::GetSurfaceSize | ( | double * | width, | 
| double * | height | ||
| ) | const | 
Get an estimate of the size of the rectangle that would be created if the 3d surface where flattened into a rectangle.
| width | [out] (corresponds to the first surface parameter) | 
| height | [out] (corresponds to the first surface parameter) | 
| ON_BezierCurve* ON_BezierSurface::IsoCurve | ( | int | dir, | 
| double | c, | ||
| ON_BezierCurve * | iso = nullptr  | 
        ||
| ) | const | 
returns the isocurve.
| bool ON_BezierSurface::IsRational | ( | ) | const | 
| bool ON_BezierSurface::IsSingular | ( | int | ) | const | 
| bool ON_BezierSurface::IsValid | ( | ) | const | 
| bool ON_BezierSurface::Loft | ( | const ON_ClassArray< ON_BezierCurve > & | curve_list | ) | 
Loft a bezier surface through a list of bezier curves.
| curve_list | [in] list of curves that have the same degree. | 
| bool ON_BezierSurface::Loft | ( | int | count, | 
| const ON_BezierCurve *const * | curve_list | ||
| ) | 
Loft a bezier surface through a list of bezier curves.
| curve_count | [in] number of curves in curve_list | 
| curve_list | [in] array of pointers to curves that have the same degree. | 
| bool ON_BezierSurface::MakeNonRational | ( | ) | 
| bool ON_BezierSurface::MakeRational | ( | ) | 
| ON_BezierSurface& ON_BezierSurface::operator= | ( | const ON_BezierSurface & | ) | 
| ON_BezierSurface& ON_BezierSurface::operator= | ( | const ON_PolynomialSurface & | ) | 
| int ON_BezierSurface::Order | ( | int | ) | const | 
| ON_3dPoint ON_BezierSurface::PointAt | ( | double | s, | 
| double | t | ||
| ) | const | 
| bool ON_BezierSurface::ReserveCVCapacity | ( | int | ) | 
Tools for managing CV and knot memory.
| bool ON_BezierSurface::Reverse | ( | int | ) | 
| bool ON_BezierSurface::Rotate | ( | double | sin_angle, | 
| double | cos_angle, | ||
| const ON_3dVector & | rotation_axis, | ||
| const ON_3dPoint & | rotation_center | ||
| ) | 
Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
| sin_angle | [in] sine of rotation angle | 
| cos_angle | [in] sine of rotation angle | 
| rotation_axis | [in] direction of the axis of rotation | 
| rotation_center | [in] point on the axis of rotation | 
Uses ON_BezierSurface::Transform() function to calculate the result.
| bool ON_BezierSurface::Rotate | ( | double | rotation_angle, | 
| const ON_3dVector & | rotation_axis, | ||
| const ON_3dPoint & | rotation_center | ||
| ) | 
Rotates the bezier surface about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
| rotation_angle | [in] angle of rotation in radians | 
| rotation_axis | [in] direction of the axis of rotation | 
| rotation_center | [in] point on the axis of rotation | 
Uses ON_BezierSurface::Transform() function to calculate the result.
| bool ON_BezierSurface::Scale | ( | double | scale_factor | ) | 
Scales the bezier surface by the specified facotor. The scale is centered at the origin.
| scale_factor | [in] scale factor | 
Uses ON_BezierSurface::Transform() function to calculate the result.
| bool ON_BezierSurface::SetCV | ( | int | , | 
| int | , | ||
| ON::point_style | , | ||
| const double * | |||
| ) | 
| bool ON_BezierSurface::SetCV | ( | int | , | 
| int | , | ||
| const ON_3dPoint & | |||
| ) | 
| bool ON_BezierSurface::SetCV | ( | int | , | 
| int | , | ||
| const ON_4dPoint & | |||
| ) | 
| bool ON_BezierSurface::SetWeight | ( | int | , | 
| int | , | ||
| double | |||
| ) | 
| bool ON_BezierSurface::Split | ( | int | , | 
| double | , | ||
| ON_BezierSurface & | , | ||
| ON_BezierSurface & | |||
| ) | const | 
| bool ON_BezierSurface::Transform | ( | const ON_Xform & | ) | 
| bool ON_BezierSurface::Translate | ( | const ON_3dVector & | translation_vector | ) | 
Translates the bezier surface along the specified vector.
| translation_vector | [in] translation vector | 
Uses ON_BezierSurface::Transform() function to calculate the result.
| bool ON_BezierSurface::Transpose | ( | ) | 
| bool ON_BezierSurface::Trim | ( | int | dir, | 
| const ON_Interval & | domain | ||
| ) | 
| double ON_BezierSurface::Weight | ( | int | , | 
| int | |||
| ) | const | 
| bool ON_BezierSurface::ZeroCVs | ( | ) | 
| double* ON_BezierSurface::m_cv | 
| int ON_BezierSurface::m_cv_capacity | 
| int ON_BezierSurface::m_cv_stride[2] | 
| int ON_BezierSurface::m_dim | 
Implementation.
| int ON_BezierSurface::m_is_rat | 
| int ON_BezierSurface::m_order[2] |