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

#include <opennurbs_nurbssurface.h>

Inheritance diagram for ON_NurbsSurface:
ON_Surface ON_Geometry ON_Object

Public Member Functions

bool ChangeDimension (int desired_dimension)
 
ON_BOOL32 ChangeSurfaceSeam (int dir, double t)
 
bool ClampEnd (int dir, int end)
 
bool CollapseSide (int side, ON_3dPoint point=ON_unset_point)
 
double ControlPolygonLength (int dir) const
 
ON_BOOL32 ConvertSpanToBezier (int span_index0, int span_index1, ON_BezierSurface &bezier_surface) const
 
ON_BOOL32 Create (int dim, ON_BOOL32 is_rat, int order0, int order1, int cv_count0, int cv_count1)
 
int CreateConeSurface (ON_3dPoint apex_point, const ON_Curve &curve, const ON_Interval *curve_domain=NULL)
 
ON_MeshCreateMesh (const ON_MeshParameters &mp, ON_Mesh *mesh=NULL) const
 
virtual int CreateRuledSurface (const ON_Curve &curveA, const ON_Curve &curveB, const ON_Interval *curveA_domain=NULL, const ON_Interval *curveB_domain=NULL)
 
double * CV (int i, int j) const
 
int CVCount (int) const
 
int CVCount (void) const
 
int CVSize (void) const
 
ON::point_style CVStyle () const
 
ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
int Degree (int) const
 
void Destroy ()
 
int Dimension () const
 
ON_Interval Domain (int) const
 
void Dump (ON_TextLog &) const
 
void EmergencyDestroy ()
 
ON_BOOL32 Evaluate (double, double, int, int, double *, int=0, int *=0) const
 
bool Extend (int dir, const ON_Interval &domain)
 
ON_BOOL32 GetBBox (double *, double *, ON_BOOL32=false) const
 
ON_BOOL32 GetCV (int i, int j, ON::point_style, double *cv) const
 
ON_BOOL32 GetCV (int i, int j, ON_3dPoint &cv) const
 
ON_BOOL32 GetCV (int i, int j, ON_4dPoint &cv) const
 
bool GetGrevilleAbcissae (int dir, double *g) const
 
bool GetNextDiscontinuity (int dir, ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
int GetNurbForm (ON_NurbsSurface &, double=0.0) const
 
ON_BOOL32 GetParameterTolerance (int, double, double *, double *) const
 
ON_BOOL32 GetSpanVector (int, double *) const
 
ON_BOOL32 GetSurfaceSize (double *width, double *height) const
 
double GrevilleAbcissa (int dir, int cv_index) const
 
bool IncreaseDegree (int dir, int desired_degree)
 
void Initialize (void)
 
bool InsertKnot (int dir, double knot_value, int knot_multiplicity=1)
 
bool IsClamped (int dir, int end=2) const
 
ON_BOOL32 IsClosed (int) const
 
bool IsContinuous (ON::continuity c, double s, 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=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
bool IsDeformable () const
 
bool IsDuplicate (const ON_NurbsSurface &other, bool bIgnoreParameterization, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsMorphable () const
 
ON_CurveIsoCurve (int dir, double c) const
 
ON_BOOL32 IsPeriodic (int) const
 
ON_BOOL32 IsPlanar (ON_Plane *plane=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsRational (void) const
 
ON_BOOL32 IsSingular (int) const
 
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
 
const double * Knot (int dir) const
 
double Knot (int dir, int knot_index) const
 
int KnotCount (int dir) const
 
int KnotMultiplicity (int dir, int knot_index) const
 
bool MakeClampedUniformKnotVector (int dir, double delta=1.0)
 
bool MakeDeformable ()
 
bool MakeNonRational ()
 
bool MakePeriodicUniformKnotVector (int dir, double delta=1.0)
 
bool MakeRational ()
 
bool Morph (const ON_SpaceMorph &morph)
 
ON_SurfaceOffset (double offset_distance, double tolerance, double *max_deviation=NULL) const
 
 ON_NurbsSurface ()
 
 ON_NurbsSurface (const ON_BezierSurface &bezier_surface)
 
 ON_NurbsSurface (const ON_NurbsSurface &nurbs_surface)
 
 ON_NurbsSurface (int dimension, ON_BOOL32 bIsRational, int order0, int order1, int cv_count0, int cv_count1)
 
ON_NurbsSurfaceoperator= (const ON_BezierSurface &bezier_surface)
 
ON_NurbsSurfaceoperator= (const ON_NurbsSurface &)
 
int Order (int) const
 
ON_BOOL32 Read (ON_BinaryArchive &)
 
ON_BOOL32 ReserveCVCapacity (int cv_array_capacity)
 
ON_BOOL32 ReserveKnotCapacity (int dir, int knot_array_capacity)
 
ON_BOOL32 Reverse (int)
 
bool SetClampedGrevilleKnotVector (int dir, int g_stride, const double *g)
 
ON_BOOL32 SetCV (int i, int j, const ON_3dPoint &cv)
 
ON_BOOL32 SetCV (int i, int j, const ON_4dPoint &cv)
 
ON_BOOL32 SetCV (int i, int j, ON::point_style, const double *cv)
 
ON_BOOL32 SetCVColumn (int col_index, const ON_3dPoint &cv)
 
ON_BOOL32 SetCVColumn (int col_index, int v_stride, const double *v)
 
ON_BOOL32 SetCVRow (int row_index, const ON_3dPoint &cv)
 
ON_BOOL32 SetCVRow (int row_index, int v_stride, const double *v)
 
ON_BOOL32 SetDomain (int dir, double t0, double t1)
 
int SetKnot (int dir, int knot_index, double knot_value)
 
bool SetPeriodicGrevilleKnotVector (int dir, int g_stride, const double *g)
 
ON_BOOL32 SetWeight (int i, int j, double weight)
 
unsigned int SizeOf () const
 
int SpanCount (int) const
 
ON_BOOL32 Split (int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
 
double SuperfluousKnot (int dir, int end) const
 
ON_BOOL32 SwapCoordinates (int, int)
 
ON_BOOL32 TensorProduct (const ON_NurbsCurve &, const ON_NurbsCurve &, ON_TensorProduct &)
 
ON_BOOL32 Transform (const ON_Xform &)
 
ON_BOOL32 Transpose ()
 
ON_BOOL32 Trim (int dir, const ON_Interval &domain)
 
double Weight (int i, int j) const
 
ON_BOOL32 Write (ON_BinaryArchive &) const
 
bool ZeroCVs ()
 
virtual ~ON_NurbsSurface ()
 
- Public Member Functions inherited from ON_Surface
bool AreaMassProperties (ON_MassProperties &mp, bool bArea=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
ON_BrepBrepForm (ON_Brep *brep=NULL) const
 
virtual ON_SurfaceTree * CreateSurfaceTree () const
 
void DestroyRuntimeCache (bool bDelete=true)
 
void DestroySurfaceTree ()
 
virtual ON_SurfaceDuplicateSurface () const
 
ON_BOOL32 Ev1Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, int quadrant=0, int *hint=0) const
 
ON_BOOL32 Ev2Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &duu, ON_3dVector &duv, ON_3dVector &dvv, int quadrant=0, int *hint=0) const
 
bool EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &normal, int=0, int *=0) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
ON_BOOL32 EvNormal (double u, double v, ON_3dVector &normal, int quadrant=0, int *hint=0) const
 
ON_BOOL32 EvPoint (double u, double v, ON_3dPoint &point, int quadrant=0, int *hint=0) const
 
ON_BOOL32 FrameAt (double u, double v, ON_Plane &frame) const
 
virtual bool GetClosestPoint (const ON_3dPoint &P, double *s, double *t, double maximum_distance=0.0, const ON_Interval *sdomain=0, const ON_Interval *tdomain=0) const
 
ON_BOOL32 GetDomain (int dir, double *t0, double *t1) const
 
virtual ON_BOOL32 GetLocalClosestPoint (const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=NULL, const ON_Interval *=NULL) const
 
virtual bool GetNurbFormParameterFromSurfaceParameter (double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
 
virtual ON_BOOL32 GetSpanVectorIndex (int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const
 
virtual bool GetSurfaceParameterFromNurbFormParameter (double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
 
ON_BOOL32 HasBrepForm () const
 
virtual int HasNurbForm () const
 
int IntersectSurface (const ON_Surface *surfaceB, ON_ClassArray< ON_SSX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, double fitting_tolerance=0.0, const ON_Interval *surfaceA_udomain=0, const ON_Interval *surfaceA_vdomain=0, const ON_Interval *surfaceB_udomain=0, const ON_Interval *surfaceB_vdomain=0) const
 
int IsAtSeam (double s, double t) const
 
bool IsAtSingularity (double s, double t, bool bExact=true) const
 
bool IsCone (ON_Cone *cone=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsCylinder (ON_Cylinder *cylinder=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
virtual ISO IsIsoparametric (const ON_BoundingBox &bbox) const
 
virtual ISO IsIsoparametric (const ON_Curve &curve, const ON_Interval *curve_domain=NULL) const
 
bool IsSolid () const
 
bool IsSphere (ON_Sphere *sphere=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsTorus (ON_Torus *torus=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
ON_3dVector NormalAt (double, double) const
 
ON_NurbsSurfaceNurbsSurface (ON_NurbsSurface *pNurbsSurface=NULL, double tolerance=0.0, const ON_Interval *s_subdomain=NULL, const ON_Interval *t_subdomain=NULL) const
 
ON::object_type ObjectType () const
 
 ON_Surface ()
 
 ON_Surface (const ON_Surface &)
 
ON_Surfaceoperator= (const ON_Surface &)
 
ON_3dPoint PointAt (double, double) const
 
virtual ON_CurvePullback (const ON_Curve &curve_3d, double tolerance, const ON_Interval *curve_3d_subdomain=NULL, ON_3dPoint start_uv=ON_UNSET_POINT, ON_3dPoint end_uv=ON_UNSET_POINT) const
 
virtual ON_CurvePushup (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain=NULL) const
 
bool SetDomain (int dir, ON_Interval domain)
 
unsigned int SizeOf () const
 
const ON_SurfaceTree * SurfaceTree () const
 
bool VolumeMassProperties (ON_MassProperties &mp, bool bVolume=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, ON_3dPoint base_point=ON_UNSET_POINT, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
virtual ~ON_Surface ()
 
- Public Member Functions inherited from ON_Geometry
ON_BoundingBox BoundingBox () const
 
virtual void ClearBoundingBox ()
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
ON_BOOL32 GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, int bGrowBox=false) const
 
ON_BOOL32 GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
virtual bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
 ON_Geometry ()
 
 ON_Geometry (const ON_Geometry &)
 
ON_Geometryoperator= (const ON_Geometry &)
 
ON_BOOL32 Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Scale (double scale_factor)
 
ON_BOOL32 Translate (const ON_3dVector &translation_vector)
 
virtual ~ON_Geometry ()
 
- Public Member Functions inherited from ON_Object
ON_BOOL32 AttachUserData (ON_UserData *pUserData)
 
bool CopyFrom (const ON_Object *src)
 
void CopyUserData (const ON_Object &source_object)
 
ON_BOOL32 DetachUserData (ON_UserData *pUserData)
 
ON_UserDataFirstUserData () const
 
ON_UserDataGetUserData (const ON_UUID &userdata_uuid) const
 
bool GetUserString (const wchar_t *key, ON_wString &string_value) const
 
int GetUserStringKeys (ON_ClassArray< ON_wString > &user_string_keys) const
 
int GetUserStrings (ON_ClassArray< ON_UserString > &user_strings) const
 
ON_BOOL32 IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
 ON_Object ()
 
 ON_Object (const ON_Object &)
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
void TransformUserData (const ON_Xform &xform)
 
virtual ~ON_Object ()
 

Static Public Member Functions

static ON_NurbsSurfaceNew ()
 
static ON_NurbsSurfaceNew (const ON_BezierSurface &bezier_surface)
 
static ON_NurbsSurfaceNew (const ON_NurbsSurface &nurbs_surface)
 
static ON_NurbsSurfaceNew (int dimension, ON_BOOL32 bIsRational, int order0, int order1, int cv_count0, int cv_count1)
 
- Static Public Member Functions inherited from ON_Surface
static class ON_NurbsSurfaceCreateCubicLoft (int curve_count, const ON_Curve *const *curve_list, double k, int is_closed=0, ON::cubic_loft_end_condition start_shape=ON::cubic_loft_ec_quadratic, ON::cubic_loft_end_condition end_shape=ON::cubic_loft_ec_quadratic, class ON_NurbsSurface *nurbs_surface=0)
 

Public Attributes

double * m_cv
 
int m_cv_capacity
 
int m_cv_count [2]
 
int m_cv_stride [2]
 
int m_dim
 
int m_is_rat
 
double * m_knot [2]
 
int m_knot_capacity [2]
 
int m_order [2]
 
- Public Attributes inherited from ON_Object
ON_MEMORY_POOLm_mempool
 

Private Member Functions

 ON_OBJECT_DECLARE (ON_NurbsSurface)
 

Additional Inherited Members

- Public Types inherited from ON_Surface
enum  ISO {
  not_iso = 0 , x_iso = 1 , y_iso = 2 , W_iso = 3 ,
  S_iso = 4 , E_iso = 5 , N_iso = 6 , iso_count = 7
}
 
- Protected Member Functions inherited from ON_Surface
ON_CurvePullbackCurveProxy (const ON_CurveProxy &curveproxy_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv) const
 
ON_CurvePullbackPolyCurve (const ON_PolyCurve &polycurve_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv) const
 
ON_CurvePushupCurveProxy (const ON_CurveProxy &curveproxy_2d, double tolerance, const ON_Interval *curve_2d_subdomain) const
 
ON_CurvePushupPolyCurve (const ON_PolyCurve &polycurve_2d, double tolerance, const ON_Interval *curve_2d_subdomain) const
 
- Protected Attributes inherited from ON_Surface
ON_SurfaceTree * m_stree
 

Constructor & Destructor Documentation

◆ ON_NurbsSurface() [1/4]

ON_NurbsSurface::ON_NurbsSurface ( )

◆ ON_NurbsSurface() [2/4]

ON_NurbsSurface::ON_NurbsSurface ( const ON_NurbsSurface & nurbs_surface)

◆ ON_NurbsSurface() [3/4]

ON_NurbsSurface::ON_NurbsSurface ( const ON_BezierSurface & bezier_surface)

◆ ON_NurbsSurface() [4/4]

ON_NurbsSurface::ON_NurbsSurface ( int dimension,
ON_BOOL32 bIsRational,
int order0,
int order1,
int cv_count0,
int cv_count1 )

◆ ~ON_NurbsSurface()

ON_NurbsSurface::~ON_NurbsSurface ( )
virtual

Member Function Documentation

◆ ChangeDimension()

bool ON_NurbsSurface::ChangeDimension ( int desired_dimension)

◆ ChangeSurfaceSeam()

ON_BOOL32 ON_NurbsSurface::ChangeSurfaceSeam ( int dir,
double t )

◆ ClampEnd()

bool ON_NurbsSurface::ClampEnd ( int dir,
int end )

◆ CollapseSide()

bool ON_NurbsSurface::CollapseSide ( int side,
ON_3dPoint point = ON_unset_point )

◆ ControlPolygonLength()

double ON_NurbsSurface::ControlPolygonLength ( int dir) const

◆ ConvertSpanToBezier()

ON_BOOL32 ON_NurbsSurface::ConvertSpanToBezier ( int span_index0,
int span_index1,
ON_BezierSurface & bezier_surface ) const

◆ Create()

ON_BOOL32 ON_NurbsSurface::Create ( int dim,
ON_BOOL32 is_rat,
int order0,
int order1,
int cv_count0,
int cv_count1 )

◆ CreateConeSurface()

int ON_NurbsSurface::CreateConeSurface ( ON_3dPoint apex_point,
const ON_Curve & curve,
const ON_Interval * curve_domain = NULL )

◆ CreateMesh()

ON_Mesh * ON_NurbsSurface::CreateMesh ( const ON_MeshParameters & mp,
ON_Mesh * mesh = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ CreateRuledSurface()

int ON_NurbsSurface::CreateRuledSurface ( const ON_Curve & curveA,
const ON_Curve & curveB,
const ON_Interval * curveA_domain = NULL,
const ON_Interval * curveB_domain = NULL )
virtual

◆ CV()

double * ON_NurbsSurface::CV ( int i,
int j ) const

◆ CVCount() [1/2]

int ON_NurbsSurface::CVCount ( int dir) const

◆ CVCount() [2/2]

int ON_NurbsSurface::CVCount ( void ) const

◆ CVSize()

int ON_NurbsSurface::CVSize ( void ) const

◆ CVStyle()

ON::point_style ON_NurbsSurface::CVStyle ( ) const

◆ DataCRC()

ON__UINT32 ON_NurbsSurface::DataCRC ( ON__UINT32 current_remainder) const
virtual

Reimplemented from ON_Object.

◆ Degree()

int ON_NurbsSurface::Degree ( int dir) const
virtual

Implements ON_Surface.

◆ Destroy()

void ON_NurbsSurface::Destroy ( )

◆ Dimension()

int ON_NurbsSurface::Dimension ( ) const
virtual

Implements ON_Geometry.

◆ Domain()

ON_Interval ON_NurbsSurface::Domain ( int dir) const
virtual

Implements ON_Surface.

◆ Dump()

void ON_NurbsSurface::Dump ( ON_TextLog & dump) const
virtual

Reimplemented from ON_Object.

◆ EmergencyDestroy()

void ON_NurbsSurface::EmergencyDestroy ( )

◆ Evaluate()

ON_BOOL32 ON_NurbsSurface::Evaluate ( double ,
double ,
int ,
int ,
double * ,
int = 0,
int * = 0 ) const
virtual

Implements ON_Surface.

◆ Extend()

bool ON_NurbsSurface::Extend ( int dir,
const ON_Interval & domain )
virtual

Reimplemented from ON_Surface.

◆ GetBBox()

ON_BOOL32 ON_NurbsSurface::GetBBox ( double * boxmin,
double * boxmax,
ON_BOOL32 bGrowBox = false ) const
virtual

Implements ON_Geometry.

◆ GetCV() [1/3]

ON_BOOL32 ON_NurbsSurface::GetCV ( int i,
int j,
ON::point_style style,
double * cv ) const

◆ GetCV() [2/3]

ON_BOOL32 ON_NurbsSurface::GetCV ( int i,
int j,
ON_3dPoint & cv ) const

◆ GetCV() [3/3]

ON_BOOL32 ON_NurbsSurface::GetCV ( int i,
int j,
ON_4dPoint & cv ) const

◆ GetGrevilleAbcissae()

bool ON_NurbsSurface::GetGrevilleAbcissae ( int dir,
double * g ) const

◆ GetNextDiscontinuity()

bool ON_NurbsSurface::GetNextDiscontinuity ( int dir,
ON::continuity c,
double t0,
double t1,
double * t,
int * hint = NULL,
int * dtype = NULL,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Surface.

◆ GetNurbForm()

int ON_NurbsSurface::GetNurbForm ( ON_NurbsSurface & srf,
double = 0.0 ) const
virtual

Reimplemented from ON_Surface.

◆ GetParameterTolerance()

ON_BOOL32 ON_NurbsSurface::GetParameterTolerance ( int dir,
double t,
double * tminus,
double * tplus ) const
virtual

Reimplemented from ON_Surface.

◆ GetSpanVector()

ON_BOOL32 ON_NurbsSurface::GetSpanVector ( int dir,
double * s ) const
virtual

Implements ON_Surface.

◆ GetSurfaceSize()

ON_BOOL32 ON_NurbsSurface::GetSurfaceSize ( double * width,
double * height ) const
virtual

Reimplemented from ON_Surface.

◆ GrevilleAbcissa()

double ON_NurbsSurface::GrevilleAbcissa ( int dir,
int cv_index ) const

◆ IncreaseDegree()

bool ON_NurbsSurface::IncreaseDegree ( int dir,
int desired_degree )

◆ Initialize()

void ON_NurbsSurface::Initialize ( void )

◆ InsertKnot()

bool ON_NurbsSurface::InsertKnot ( int dir,
double knot_value,
int knot_multiplicity = 1 )

◆ IsClamped()

bool ON_NurbsSurface::IsClamped ( int dir,
int end = 2 ) const

◆ IsClosed()

ON_BOOL32 ON_NurbsSurface::IsClosed ( int dir) const
virtual

Reimplemented from ON_Surface.

◆ IsContinuous()

bool ON_NurbsSurface::IsContinuous ( ON::continuity c,
double s,
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 = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Surface.

◆ IsDeformable()

bool ON_NurbsSurface::IsDeformable ( ) const
virtual

Reimplemented from ON_Geometry.

◆ IsDuplicate()

bool ON_NurbsSurface::IsDuplicate ( const ON_NurbsSurface & other,
bool bIgnoreParameterization,
double tolerance = ON_ZERO_TOLERANCE ) const

◆ IsMorphable()

bool ON_NurbsSurface::IsMorphable ( ) const
virtual

Reimplemented from ON_Geometry.

◆ IsoCurve()

ON_Curve * ON_NurbsSurface::IsoCurve ( int dir,
double c ) const
virtual

Reimplemented from ON_Surface.

◆ IsPeriodic()

ON_BOOL32 ON_NurbsSurface::IsPeriodic ( int dir) const
virtual

Reimplemented from ON_Surface.

◆ IsPlanar()

ON_BOOL32 ON_NurbsSurface::IsPlanar ( ON_Plane * plane = NULL,
double tolerance = ON_ZERO_TOLERANCE ) const
virtual

Reimplemented from ON_Surface.

◆ IsRational()

bool ON_NurbsSurface::IsRational ( void ) const

◆ IsSingular()

ON_BOOL32 ON_NurbsSurface::IsSingular ( int side) const
virtual

Reimplemented from ON_Surface.

◆ IsValid()

ON_BOOL32 ON_NurbsSurface::IsValid ( ON_TextLog * text_log = NULL) const
virtual

Implements ON_Object.

◆ Knot() [1/2]

const double * ON_NurbsSurface::Knot ( int dir) const

◆ Knot() [2/2]

double ON_NurbsSurface::Knot ( int dir,
int knot_index ) const

◆ KnotCount()

int ON_NurbsSurface::KnotCount ( int dir) const

◆ KnotMultiplicity()

int ON_NurbsSurface::KnotMultiplicity ( int dir,
int knot_index ) const

◆ MakeClampedUniformKnotVector()

bool ON_NurbsSurface::MakeClampedUniformKnotVector ( int dir,
double delta = 1.0 )

◆ MakeDeformable()

bool ON_NurbsSurface::MakeDeformable ( )
virtual

Reimplemented from ON_Geometry.

◆ MakeNonRational()

bool ON_NurbsSurface::MakeNonRational ( )

◆ MakePeriodicUniformKnotVector()

bool ON_NurbsSurface::MakePeriodicUniformKnotVector ( int dir,
double delta = 1.0 )

◆ MakeRational()

bool ON_NurbsSurface::MakeRational ( )

◆ Morph()

bool ON_NurbsSurface::Morph ( const ON_SpaceMorph & morph)
virtual

Reimplemented from ON_Geometry.

◆ New() [1/4]

ON_NurbsSurface * ON_NurbsSurface::New ( )
static

◆ New() [2/4]

ON_NurbsSurface * ON_NurbsSurface::New ( const ON_BezierSurface & bezier_surface)
static

◆ New() [3/4]

ON_NurbsSurface * ON_NurbsSurface::New ( const ON_NurbsSurface & nurbs_surface)
static

◆ New() [4/4]

ON_NurbsSurface * ON_NurbsSurface::New ( int dimension,
ON_BOOL32 bIsRational,
int order0,
int order1,
int cv_count0,
int cv_count1 )
static

◆ Offset()

ON_Surface * ON_NurbsSurface::Offset ( double offset_distance,
double tolerance,
double * max_deviation = NULL ) const
virtual

Reimplemented from ON_Surface.

◆ ON_OBJECT_DECLARE()

ON_NurbsSurface::ON_OBJECT_DECLARE ( ON_NurbsSurface )
private

◆ operator=() [1/2]

ON_NurbsSurface & ON_NurbsSurface::operator= ( const ON_BezierSurface & bezier_surface)

◆ operator=() [2/2]

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

◆ Order()

int ON_NurbsSurface::Order ( int dir) const

◆ Read()

ON_BOOL32 ON_NurbsSurface::Read ( ON_BinaryArchive & file)
virtual

Reimplemented from ON_Object.

◆ ReserveCVCapacity()

ON_BOOL32 ON_NurbsSurface::ReserveCVCapacity ( int cv_array_capacity)

◆ ReserveKnotCapacity()

ON_BOOL32 ON_NurbsSurface::ReserveKnotCapacity ( int dir,
int knot_array_capacity )

◆ Reverse()

ON_BOOL32 ON_NurbsSurface::Reverse ( int dir)
virtual

Implements ON_Surface.

◆ SetClampedGrevilleKnotVector()

bool ON_NurbsSurface::SetClampedGrevilleKnotVector ( int dir,
int g_stride,
const double * g )

◆ SetCV() [1/3]

ON_BOOL32 ON_NurbsSurface::SetCV ( int i,
int j,
const ON_3dPoint & cv )

◆ SetCV() [2/3]

ON_BOOL32 ON_NurbsSurface::SetCV ( int i,
int j,
const ON_4dPoint & cv )

◆ SetCV() [3/3]

ON_BOOL32 ON_NurbsSurface::SetCV ( int i,
int j,
ON::point_style style,
const double * cv )

◆ SetCVColumn() [1/2]

ON_BOOL32 ON_NurbsSurface::SetCVColumn ( int col_index,
const ON_3dPoint & cv )

◆ SetCVColumn() [2/2]

ON_BOOL32 ON_NurbsSurface::SetCVColumn ( int col_index,
int v_stride,
const double * v )

◆ SetCVRow() [1/2]

ON_BOOL32 ON_NurbsSurface::SetCVRow ( int row_index,
const ON_3dPoint & cv )

◆ SetCVRow() [2/2]

ON_BOOL32 ON_NurbsSurface::SetCVRow ( int row_index,
int v_stride,
const double * v )

◆ SetDomain()

ON_BOOL32 ON_NurbsSurface::SetDomain ( int dir,
double t0,
double t1 )
virtual

Reimplemented from ON_Surface.

◆ SetKnot()

ON_BOOL32 ON_NurbsSurface::SetKnot ( int dir,
int knot_index,
double knot_value )

◆ SetPeriodicGrevilleKnotVector()

bool ON_NurbsSurface::SetPeriodicGrevilleKnotVector ( int dir,
int g_stride,
const double * g )

◆ SetWeight()

ON_BOOL32 ON_NurbsSurface::SetWeight ( int i,
int j,
double weight )

◆ SizeOf()

unsigned int ON_NurbsSurface::SizeOf ( ) const
virtual

Reimplemented from ON_Object.

◆ SpanCount()

int ON_NurbsSurface::SpanCount ( int dir) const
virtual

Implements ON_Surface.

◆ Split()

ON_BOOL32 ON_NurbsSurface::Split ( int dir,
double c,
ON_Surface *& west_or_south_side,
ON_Surface *& east_or_north_side ) const
virtual

Reimplemented from ON_Surface.

◆ SuperfluousKnot()

double ON_NurbsSurface::SuperfluousKnot ( int dir,
int end ) const

◆ SwapCoordinates()

ON_BOOL32 ON_NurbsSurface::SwapCoordinates ( int i,
int j )
virtual

Reimplemented from ON_Geometry.

◆ TensorProduct()

ON_BOOL32 ON_NurbsSurface::TensorProduct ( const ON_NurbsCurve & nurbscurveA,
const ON_NurbsCurve & nurbscurveB,
ON_TensorProduct & tensor )

◆ Transform()

ON_BOOL32 ON_NurbsSurface::Transform ( const ON_Xform & xform)
virtual

Reimplemented from ON_Geometry.

◆ Transpose()

ON_BOOL32 ON_NurbsSurface::Transpose ( )
virtual

Implements ON_Surface.

◆ Trim()

ON_BOOL32 ON_NurbsSurface::Trim ( int dir,
const ON_Interval & domain )
virtual

Reimplemented from ON_Surface.

◆ Weight()

double ON_NurbsSurface::Weight ( int i,
int j ) const

◆ Write()

ON_BOOL32 ON_NurbsSurface::Write ( ON_BinaryArchive & file) const
virtual

Reimplemented from ON_Object.

◆ ZeroCVs()

bool ON_NurbsSurface::ZeroCVs ( )

Member Data Documentation

◆ m_cv

double* ON_NurbsSurface::m_cv

◆ m_cv_capacity

int ON_NurbsSurface::m_cv_capacity

◆ m_cv_count

int ON_NurbsSurface::m_cv_count[2]

◆ m_cv_stride

int ON_NurbsSurface::m_cv_stride[2]

◆ m_dim

int ON_NurbsSurface::m_dim

◆ m_is_rat

int ON_NurbsSurface::m_is_rat

◆ m_knot

double* ON_NurbsSurface::m_knot[2]

◆ m_knot_capacity

int ON_NurbsSurface::m_knot_capacity[2]

◆ m_order

int ON_NurbsSurface::m_order[2]

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