22#if !defined(OPENNURBS_SURFACE_INC_)
23#define OPENNURBS_SURFACE_INC_
97 unsigned int SizeOf()
const;
254 int* span_vector_index,
411 bool IsSolid()
const;
424 bool IsAtSingularity(
500 bool GetNextDiscontinuity(
508 double cos_angle_tolerance=0.99984769515639123915701155881391,
546 double cos_angle_tolerance=0.99984769515639123915701155881391,
846 bool GetClosestPoint(
850 double maximum_distance = 0.0,
889 double offset_distance,
891 double* max_deviation =
NULL
930 double tolerance = 0.0
959 int HasNurbForm()
const;
982 double tolerance = 0.0,
988 bool GetSurfaceParameterFromNurbFormParameter(
989 double nurbs_s,
double nurbs_t,
990 double* surface_s,
double* surface_t
994 bool GetNurbFormParameterFromSurfaceParameter(
995 double surface_s,
double surface_t,
996 double* nurbs_s,
double* nurbs_t
1002 void DestroySurfaceTree();
1004 const ON_SurfaceTree* SurfaceTree()
const;
1007 ON_SurfaceTree* CreateSurfaceTree()
const;
1022 bool AreaMassProperties(
1025 bool bFirstMoments =
true,
1026 bool bSecondMoments =
true,
1027 bool bProductMoments =
true,
1028 double rel_tol = 1.0e-6,
1029 double abs_tol = 1.0e-6
1067 bool VolumeMassProperties(
1069 bool bVolume =
true,
1070 bool bFirstMoments =
true,
1071 bool bSecondMoments =
true,
1072 bool bProductMoments =
true,
1074 double rel_tol = 1.0e-6,
1075 double abs_tol = 1.0e-6
1116 int IntersectSurface(
1119 double intersection_tolerance = 0.0,
1120 double overlap_tolerance = 0.0,
1121 double fitting_tolerance = 0.0,
1260 ON::cubic_loft_end_condition start_shape = ON::cubic_loft_ec_quadratic,
1261 ON::cubic_loft_end_condition end_shape = ON::cubic_loft_ec_quadratic,
1305#if defined(ON_DLL_TEMPLATE)
1309#pragma warning( push )
1310#pragma warning( disable : 4231 )
1312#pragma warning( pop )
Copies the current selection to the clipboard.
Definition Duplicate.js:12
Definition opennurbs_point.h:403
Definition opennurbs_point.h:931
Definition opennurbs_archive.h:152
Definition opennurbs_bounding_box.h:25
Definition opennurbs_brep.h:1585
Definition opennurbs_array.h:760
Definition opennurbs_cone.h:26
Definition opennurbs_curve.h:88
Definition opennurbs_curveproxy.h:38
Definition opennurbs_cylinder.h:28
Definition opennurbs_geometry.h:36
virtual bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
Definition opennurbs_geometry.cpp:247
virtual ON_Brep * BrepForm(ON_Brep *brep=NULL) const
Definition opennurbs_geometry.cpp:232
ON_Geometry & operator=(const ON_Geometry &)
Definition opennurbs_geometry.cpp:26
virtual ON_BOOL32 HasBrepForm() const
Definition opennurbs_geometry.cpp:226
Definition opennurbs_point.h:46
Definition opennurbs_line.h:20
Definition opennurbs_massprop.h:25
Definition opennurbs_mesh.h:795
Definition opennurbs_mesh.h:33
Definition opennurbs_nurbssurface.h:62
ON_BOOL32 Read(ON_BinaryArchive &)
Definition opennurbs_nurbssurface.cpp:702
ON_BOOL32 Write(ON_BinaryArchive &) const
Definition opennurbs_nurbssurface.cpp:653
void Destroy()
Definition opennurbs_nurbssurface.cpp:307
Definition opennurbs_objref.h:167
virtual unsigned int SizeOf() const
Definition opennurbs_object.cpp:1677
virtual ON::object_type ObjectType() const
Definition opennurbs_object.cpp:1616
virtual void DestroyRuntimeCache(bool bDelete=true)
Definition opennurbs_object.cpp:1757
Definition opennurbs_plane.h:20
Definition opennurbs_polycurve.h:38
Definition opennurbs_array.h:46
Definition opennurbs_sphere.h:22
Definition opennurbs_surface.h:1316
Definition opennurbs_surface.h:58
virtual ON_BOOL32 GetSpanVector(int dir, double *span_vector) const =0
ON_OBJECT_DECLARE(ON_Surface)
virtual int Degree(int dir) const =0
ON_SurfaceTree * m_stree
Definition opennurbs_surface.h:1267
virtual ON_BOOL32 Reverse(int)=0
virtual ON_BOOL32 Evaluate(double u, double v, int num_der, int array_stride, double *der_array, int quadrant=0, int *hint=0) const =0
ISO
Definition opennurbs_surface.h:73
virtual ON_BOOL32 Transpose()=0
virtual ON_Interval Domain(int dir) const =0
virtual int SpanCount(int dir) const =0
Definition opennurbs_torus.h:29
Parallel lines, concentric arcs, circles, equidistant curve to ellipses.
Definition Offset.js:11
Trims an entity to another entity or trims both entities if this.trimBoth is true.
Definition Trim.js:12
#define ON_ZERO_TOLERANCE
Definition opennurbs_defines.h:238
#define ON_DECL
Definition opennurbs_defines.h:92
#define ON_CLASS
Definition opennurbs_defines.h:91
#define ON_SQRT_EPSILON
Definition opennurbs_defines.h:147
const ON_3dPoint ON_UNSET_POINT(ON_UNSET_VALUE, ON_UNSET_VALUE, ON_UNSET_VALUE)
char s
Definition opennurbs_string.cpp:32
ON_DECL double ON_ClosestPointAngle(const ON_Line &, const ON_Curve &, ON_Interval, const ON_3dPoint &, ON_3dPoint &, double *, double *)
Definition opennurbs_revsurface.cpp:2384
#define NULL
Definition opennurbs_system.h:256
int ON_BOOL32
Definition opennurbs_system.h:362