17 #if !defined(OPENNURBS_REVSURFACE_INC_) 18 #define OPENNURBS_REVSURFACE_INC_ 81 double start_angle_radians,
82 double end_angle_radians
86 double start_angle_degrees,
87 double end_angle_degrees
96 unsigned int SizeOf()
const override;
99 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
125 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
200 double tolerance = ON_ZERO_TOLERANCE
216 double tolerance = ON_ZERO_TOLERANCE
232 double tolerance = ON_ZERO_TOLERANCE
250 double tolerance = ON_ZERO_TOLERANCE
326 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
327 double curvature_tolerance=ON_SQRT_EPSILON
362 double point_tolerance=ON_ZERO_TOLERANCE,
363 double d1_tolerance=ON_ZERO_TOLERANCE,
364 double d2_tolerance=ON_ZERO_TOLERANCE,
365 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
366 double curvature_tolerance=ON_SQRT_EPSILON
512 double nurbs_s,
double nurbs_t,
513 double* surface_s,
double* surface_t
517 double surface_s,
double surface_t,
518 double* nurbs_s,
double* nurbs_t
virtual bool Transpose()=0
transpose surface parameterization (swap "s" and "t")
virtual bool Transform(const ON_Xform &xform)
virtual bool IsClosed(int) const
bool m_bTransposed
Definition: opennurbs_revsurface.h:56
bool SetDomain(int dir, ON_Interval domain)
ON_Surface & operator=(const ON_Surface &)
virtual bool IsPeriodic(int) const
virtual int Dimension() const
virtual int GetNurbForm(ON_NurbsSurface &nurbs_surface, double tolerance=0.0) const
Definition: opennurbs_nurbssurface.h:62
ON_Curve * m_curve
Definition: opennurbs_revsurface.h:32
virtual bool GetBBox(double *boxmin, double *boxmax, bool bGrowBox=false) const
Definition: opennurbs_cone.h:26
virtual bool GetSpanVector(int dir, double *span_vector) const =0
ON_Interval m_t
Definition: opennurbs_revsurface.h:50
Definition: opennurbs_curve.h:91
virtual bool GetSurfaceParameterFromNurbFormParameter(double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const
Definition: opennurbs_cylinder.h:28
virtual bool IsPlanar(ON_Plane *plane=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
virtual ON_Interval Domain(int dir) const =0
virtual int Degree(int dir) const =0
ON_Interval m_angle
Definition: opennurbs_revsurface.h:40
Definition: opennurbs_bounding_box.h:25
ON_Line m_axis
Axis of revolution.
Definition: opennurbs_revsurface.h:35
virtual int SpanCount(int dir) const =0
number of smooth nonempty spans in the parameter direction
virtual bool GetNurbFormParameterFromSurfaceParameter(double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const
virtual void ClearBoundingBox()
virtual bool Split(int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
virtual bool Trim(int dir, const ON_Interval &domain)
virtual void Dump(ON_TextLog &) const
unsigned int SizeOf() const override
virtual ON_Object::SizeOf override
Definition: opennurbs_line.h:20
void DestroyRuntimeCache(bool bDelete=true) override
virtual ON_Object::DestroyRuntimeCache override
virtual bool Extend(int dir, const ON_Interval &domain)
virtual ON_Curve * IsoCurve(int dir, double c) const
virtual bool GetParameterTolerance(int dir, double t, double *tminus, double *tplus) const
Definition: opennurbs_textlog.h:20
< use for generic serialization of binary data
Definition: opennurbs_archive.h:1866
virtual bool Read(ON_BinaryArchive &binary_archive)
bool IsValid(class ON_TextLog *text_log=nullptr) const override
virtual bool Write(ON_BinaryArchive &binary_archive) const
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Definition: opennurbs_plane.h:20
surface of revolution
Definition: opennurbs_revsurface.h:21
Definition: opennurbs_surface.h:56
virtual bool Reverse(int)=0
virtual bool IsSingular(int) const
ON_BoundingBox m_bbox
Bounding box of the surface of revolution.
Definition: opennurbs_revsurface.h:59
virtual bool GetSurfaceSize(double *width, double *height) const
Definition: opennurbs_point.h:46
virtual int HasNurbForm() const
Definition: opennurbs_sphere.h:22
virtual bool Evaluate(double u, double v, int num_der, int array_stride, double *der_array, int quadrant=0, int *hint=0) const =0
work horse evaluator
virtual bool GetNextDiscontinuity(int dir, ON::continuity c, double t0, double t1, double *t, int *hint=nullptr, int *dtype=nullptr, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const
virtual bool IsContinuous(ON::continuity c, double s, double t, int *hint=nullptr, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE, double curvature_tolerance=ON_SQRT_EPSILON) const