#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] |