23 #if !defined(OPENNURBS_SURFACE_INC_) 24 #define OPENNURBS_SURFACE_INC_ 47 enum class ON_FitResult: unsigned int
62 void DestroyRuntimeCache(
bool bDelete =
true )
override;
96 unsigned int SizeOf()
const override;
119 ON::object_type ObjectType()
const override;
135 bool HasBrepForm()
const override;
229 bool GetSpanVectorIndex(
233 int* span_vector_index,
243 virtual bool GetParameterTolerance(
302 double tolerance = ON_ZERO_TOLERANCE
318 double tolerance = ON_ZERO_TOLERANCE
334 double tolerance = ON_ZERO_TOLERANCE
350 double tolerance = ON_ZERO_TOLERANCE
366 double tolerance = ON_ZERO_TOLERANCE
390 bool IsSolid()
const;
403 bool IsAtSingularity(
479 bool GetNextDiscontinuity(
487 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
488 double curvature_tolerance=ON_SQRT_EPSILON
522 double point_tolerance=ON_ZERO_TOLERANCE,
523 double d1_tolerance=ON_ZERO_TOLERANCE,
524 double d2_tolerance=ON_ZERO_TOLERANCE,
525 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
526 double curvature_tolerance=ON_SQRT_EPSILON
535 bool Transpose() = 0;
540 bool FrameAt(
double u,
double v,
ON_Plane& frame)
const;
791 double tolerance = 0.0
820 int HasNurbForm()
const;
843 double tolerance = 0.0,
849 bool GetSurfaceParameterFromNurbFormParameter(
850 double nurbs_s,
double nurbs_t,
851 double* surface_s,
double* surface_t
855 bool GetNurbFormParameterFromSurfaceParameter(
856 double surface_s,
double surface_t,
857 double* nurbs_s,
double* nurbs_t
863 void DestroySurfaceTree();
892 bool m_bHasSingularity;
893 bool m_bIsSingular[4];
905 unsigned char m_reserved[16];
916 #if defined(ON_DLL_TEMPLATE) Definition: opennurbs_nurbssurface.h:62
Definition: opennurbs_array.h:36
Lightweight right circular cone. Use ON_ConeSurface if you need ON_Cone geometry as a virtual ON_Surf...
Definition: opennurbs_cone.h:27
ON_Curve is a pure virtual class for curve objects
Definition: opennurbs_curve.h:93
ON_Cylinder is a right circular cylinder.
Definition: opennurbs_cylinder.h:27
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
Definition: opennurbs_surface.h:910
Definition: opennurbs_bounding_box.h:25
Definition: opennurbs_mesh.h:24
An ON_PolyCurve is an ON_Curve represented by a sequence of contiguous ON_Curve segments. A valid polycurve is represented by an array m_segment of Count()>=1 curve objects and a strictly increasing array m_t of Count()+1 parameter values. The i-th curve segment, when considered as part of the polycurve, is affinely reparamaterized from m_t[i] to m_t[i+1], i.e., m_segment[i].Domain()[0] is mapped to m_t[i] and m_segment[i].Domain()[1] is mapped to m_t[i+1].
Definition: opennurbs_polycurve.h:35
ISO
pure virtual class for surface objects
Definition: opennurbs_surface.h:72
Definition: opennurbs_curveproxy.h:37
Definition: opennurbs_mesh.h:2188
Definition: opennurbs_surface.h:865
Definition: opennurbs_brep.h:1472
The torus is defined by a major circle and minor radius. The torus is parameterized by (major_angle...
Definition: opennurbs_torus.h:28
Definition: opennurbs_archive.h:1783
Definition: opennurbs_objref.h:163
Definition: opennurbs_point.h:460
Definition: opennurbs_plane.h:20
Definition: opennurbs_surface.h:57
Definition: opennurbs_point.h:1152
Definition: opennurbs_point.h:46
Definition: opennurbs_sphere.h:22