17 #if !defined(ON_GEOMETRY_SURFACE_PLANE_INC_) 18 #define ON_GEOMETRY_SURFACE_PLANE_INC_ 51 unsigned int SizeOf()
const override;
54 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
74 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
160 double tolerance = ON_ZERO_TOLERANCE
236 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
237 double curvature_tolerance=ON_SQRT_EPSILON
272 double point_tolerance=ON_ZERO_TOLERANCE,
273 double d1_tolerance=ON_ZERO_TOLERANCE,
274 double d2_tolerance=ON_ZERO_TOLERANCE,
275 double cos_angle_tolerance=ON_DEFAULT_ANGLE_TOLERANCE_COSINE,
276 double curvature_tolerance=ON_SQRT_EPSILON
443 bool bSynchDomain =
false 473 bool CreatePseudoInfinitePlane(
476 double padding = 0.0625
491 bool CreatePseudoInfinitePlane(
494 double padding = 0.0625
510 bool CreatePseudoInfinitePlane(
514 double padding = 0.0625
544 unsigned int SizeOf()
const override;
547 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
virtual bool Transpose()=0
virtual bool Transform(const ON_Xform &xform)
Transforms the object.
virtual bool IsClosed(int) const
unsigned int SizeOf() const override
ON_Object overrides.
bool SetDomain(int dir, ON_Interval domain)
ON_Surface & operator=(const ON_Surface &)
virtual bool IsPeriodic(int) const
virtual int Dimension() const
Dimension of the object.
virtual int GetNurbForm(ON_NurbsSurface &nurbs_surface, double tolerance=0.0) const
Get a NURBS surface representation of this surface.
Definition: opennurbs_nurbssurface.h:62
virtual bool GetBBox(double *boxmin, double *boxmax, bool bGrowBox=false) const
This is the virtual function that actually calculates axis aligned bounding boxes.
virtual bool GetSpanVector(int dir, double *span_vector) const =0
ON_Curve is a pure virtual class for curve objects
Definition: opennurbs_curve.h:93
Definition: opennurbs_planesurface.h:22
virtual bool IsPlanar(ON_Plane *plane=nullptr, double tolerance=ON_ZERO_TOLERANCE) const
Test a surface to see if it is planar.
virtual ON_Interval Domain(int dir) const =0
Definition: opennurbs_plane.h:524
virtual int Degree(int dir) const =0
bool Write(ON_BinaryArchive &) const override
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
bool Read(ON_BinaryArchive &) override
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
Definition: opennurbs_bounding_box.h:25
virtual int SpanCount(int dir) const =0
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const override
virtual ON_Object::DataCRC override
virtual bool Split(int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const
Splits (divides) the surface into two parts at the specified parameter.
virtual bool Trim(int dir, const ON_Interval &domain)
Removes the portions of the surface outside of the specified interval.
virtual void Dump(ON_TextLog &) const
Creates a text dump of the object.
unsigned int SizeOf() const override
virtual ON_Object::SizeOf override
virtual bool Extend(int dir, const ON_Interval &domain)
Pure virtual function. Default returns false. Where possible, analytically extends surface to include...
virtual ON_Curve * IsoCurve(int dir, double c) const
Get isoparametric curve.
Definition: opennurbs_planesurface.h:515
virtual bool GetParameterTolerance(int dir, double t, double *tminus, double *tplus) const
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
ON_Plane m_plane
Definition: opennurbs_planesurface.h:45
virtual bool Read(ON_BinaryArchive &binary_archive)
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
void Dump(ON_TextLog &) const override
Creates a text dump of the object.
Definition: opennurbs_point.h:460
bool IsValid(class ON_TextLog *text_log=nullptr) const override
Tests an object to see if its data members are correctly initialized.
virtual bool Write(ON_BinaryArchive &binary_archive) const
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...
Definition: opennurbs_plane.h:20
Definition: opennurbs_surface.h:57
virtual bool Reverse(int)=0
virtual bool IsSingular(int) const
Typically the vector portion is a unit vector and m_d = -(x*P.x + y*P.y + z*P.z) for a point P on the...
Definition: opennurbs_point.h:1433
virtual bool GetSurfaceSize(double *width, double *height) const
Get an estimate of the size of the rectangle that would be created if the 3d surface where flattened ...
ON_PlaneSurface & operator=(const ON_PlaneSurface &)
Definition: opennurbs_point.h:46
virtual int HasNurbForm() const
Is there a NURBS surface representation of this surface.
ON::object_type ObjectType() const override
override ON_Object::ObjectType() - returns ON::surface_object
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
Search for a derivatitive, tangent, or curvature discontinuity.
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
Test continuity at a surface parameter value.