Rhino C++ API  9.0
Public Member Functions | Public Attributes | List of all members
ON_SurfaceTreeBezier Class Reference

#include <opennurbs_plus.h>

Inheritance diagram for ON_SurfaceTreeBezier:
ON_BezierSurface

Public Member Functions

 ON_SurfaceTreeBezier ()
 
 ON_SurfaceTreeBezier (const ON_BezierSurface &bezier_surface)
 
bool IsFartherThan (double d, const ON_3dPoint &P) const
 
bool IsFartherThan (double d, const ON_BoundingBox &bbox) const
 
bool IsFartherThan (double d, const ON_CurveTreeBezier &other) const
 
bool IsFartherThan (double d, const ON_SurfaceTreeBezier &other) const
 
double MaximumDistanceTo (const class ON_SurfaceTreeBezier &stbez) const
 
double MaximumDistanceTo (const ON_CurveTreeBezier &other) const
 
double MaximumDistanceTo (ON_3dPoint P) const
 
double MaximumDistanceTo (ON_BoundingBox bbox) const
 
double MinimumDistanceTo (const class ON_SurfaceTreeBezier &stbez) const
 
double MinimumDistanceTo (const ON_CurveTreeBezier &other) const
 
double MinimumDistanceTo (ON_3dPoint P) const
 
double MinimumDistanceTo (ON_BoundingBox bbox) const
 
bool SetBezier (const ON_BezierSurface &bezier_surface)
 
bool SetLeafBox ()
 
- Public Member Functions inherited from ON_BezierSurface
 ON_BezierSurface ()
 
 ON_BezierSurface (const ON_BezierSurface &)
 
 ON_BezierSurface (const ON_PolynomialSurface &)
 
 ON_BezierSurface (int dim, bool is_rat, int order0, int order1)
 
 ~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
 
int CVSize () const
 
ON::point_style CVStyle () const
 
int Degree (int) const
 
void Destroy ()
 
int Dimension () const
 
ON_Interval Domain (int) const
 
void Dump (ON_TextLog &) const
 for debugging More...
 
void EmergencyDestroy ()
 call if memory used by ON_NurbsCurve becomes invalid More...
 
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 GetClosestPoint (ON_3dPoint P, double *s, double *t, double maximum_distance=0.0, const ON_Interval *sub_domain0=0, const ON_Interval *sub_domain1=0) const
 
bool GetCV (int, int, ON::point_style, double *) const
 
bool GetCV (int, int, ON_3dPoint &) const
 
bool GetCV (int, int, ON_4dPoint &) const
 
bool GetLocalClosestPoint (ON_3dPoint P, double s_seed, double t_seed, double *s, double *t, const ON_Interval *sub_domain0=0, const ON_Interval *sub_domain1=0) const
 
int GetNurbForm (ON_NurbsSurface &) const
 
bool GetSurfaceSize (double *width, double *height) const
 
ON_BezierCurveIsoCurve (int dir, double c, ON_BezierCurve *iso=nullptr) const
 returns the isocurve.
More...
 
bool IsRational () const
 true if NURBS curve is rational More...
 
bool IsSingular (int) const
 
bool IsValid () const
 
bool Loft (const ON_ClassArray< ON_BezierCurve > &curve_list)
 
bool Loft (int count, const ON_BezierCurve *const *curve_list)
 
bool MakeNonRational ()
 
bool MakeRational ()
 
bool Morph (const ON_SpaceMorph &morph)
 
bool NormalAt (double u, double v, ON_3dPoint &p, ON_3dVector &normal) const
 
ON_BezierSurfaceoperator= (const ON_BezierSurface &)
 
ON_BezierSurfaceoperator= (const ON_PolynomialSurface &)
 
int Order (int) const
 = IsRational() ? Dim()+1 : Dim() More...
 
ON_3dPoint PointAt (double s, double t) const
 
bool ReserveCVCapacity (int)
 Tools for managing CV and knot memory. More...
 
bool Reverse (int)
 reverse parameterizatrion More...
 
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 SetCV (int, int, const ON_3dPoint &)
 
bool SetCV (int, int, const ON_4dPoint &)
 
bool SetCV (int, int, ON::point_style, const double *)
 
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)
 
bool Transpose ()
 transpose surface parameterization (swap "s" and "t") More...
 
bool Trim (int dir, const ON_Interval &domain)
 
double Weight (int, int) const
 
bool ZeroCVs ()
 zeros control vertices and, if rational, sets weights to 1 More...
 

Public Attributes

ON_SurfaceLeafBox m_leafbox
 
- Public Attributes inherited from ON_BezierSurface
double * m_cv
 
int m_cv_capacity
 if 0, then destructor does not free m_cv More...
 
int m_cv_stride [2]
 
int m_dim
 Implementation. More...
 
int m_is_rat
 0 = no, 1 = yes More...
 
int m_order [2]
 order = degree+1 >= 2 More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ON_BezierSurface
static ON_BezierSurfaceInterpolateGrid (const double *point_grid, int dim, int point_count0, int point_count1, size_t point_stride0, size_t point_stride1, ON_BezierSurface *dest)
 Interpolate arectangular grid of points so that bez(i/(point_count0 - 1), i/(point_count1 - 1))) = point_grid[i][j]. The returned bezier has order (point_count0,point_count1). Be aware that interpolation of irregular grids can create surfaces with extreme oscillations. More...
 
static ON_BezierSurfaceInterpolateGrid (const ON_3dPoint *point_grid, int point_count0, int point_count1, size_t point_stride0, size_t point_stride1, ON_BezierSurface *dest)
 Interpolate arectangular grid of 3d points so that bez(i/(point_count0 - 1), i/(point_count1 - 1))) = point_grid[i][j] More...
 
static bool MatchTangency (ON_SimpleArray< ON_BezierSurface * > &BezArray, ON_3dPoint P, ON_3dVector N, double *pMaxAngleDeviation)