| Rhino C++ API
    8.24
    | 
#include <opennurbs_offsetsurface.h>
 
  
| Public Member Functions | |
| ON_OffsetSurface () | |
| ON_OffsetSurface (const ON_OffsetSurface &src) | |
| ~ON_OffsetSurface () | |
| const ON_Surface * | BaseSurface () const | 
| bool | Evaluate (double, double, int, int, double *, int=0, int *=0) const override | 
| work horse evaluator  More... | |
| bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override | 
| virtual ON_Geometry GetBBox override More... | |
| ON_OffsetSurfaceFunction & | OffsetFunction () | 
| const ON_OffsetSurfaceFunction & | OffsetFunction () const | 
| ON_OffsetSurface & | operator= (const ON_OffsetSurface &src) | 
| bool | SetBaseSurface (const ON_Surface *base_surface) | 
| bool | SetBaseSurface (ON_Surface *base_surface, bool bManage) | 
|  Public Member Functions inherited from ON_SurfaceProxy | |
| ON_SurfaceProxy () | |
| ON_SurfaceProxy (const ON_Surface *) | |
| ON_SurfaceProxy (const ON_SurfaceProxy &) | |
| virtual | ~ON_SurfaceProxy () | 
| ON_Mesh * | CreateMesh (const ON_MeshParameters &mp, ON_Mesh *mesh=nullptr) const override | 
| ON_Surface overrides.  More... | |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const override | 
| virtual ON_Object::DataCRC override  More... | |
| int | Degree (int) const override | 
| void | DestroyRuntimeCache (bool bDelete=true) override | 
| virtual ON_Object::DestroyRuntimeCache override  More... | |
| int | Dimension () const override | 
| ON_Geometry overrides.  More... | |
| ON_Interval | Domain (int) const override | 
| void | Dump (ON_TextLog &) const override | 
| for debugging  More... | |
| ON_Surface * | DuplicateSurface () const override | 
| bool | Evaluate (double, double, int, int, double *, int=0, int *=0) const override | 
| work horse evaluator  More... | |
| bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override | 
| virtual ON_Geometry GetBBox override More... | |
| 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 override | 
| bool | GetLocalClosestPoint (const ON_3dPoint &, double, double, double *, double *, const ON_Interval *=nullptr, const ON_Interval *=nullptr) const override | 
| 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 override | 
| int | GetNurbForm (ON_NurbsSurface &, double=0.0) const override | 
| bool | GetNurbFormParameterFromSurfaceParameter (double surface_s, double surface_t, double *nurbs_s, double *nurbs_t) const override | 
| bool | GetParameterTolerance (int, double, double *, double *) const override | 
| bool | GetSpanVector (int, double *) const override | 
| bool | GetSurfaceParameterFromNurbFormParameter (double nurbs_s, double nurbs_t, double *surface_s, double *surface_t) const override | 
| bool | GetSurfaceSize (double *width, double *height) const override | 
| int | HasNurbForm () const override | 
| bool | IsClosed (int) const override | 
| 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 override | 
| ON_Surface::ISO | IsIsoparametric (const ON_BoundingBox &bbox) const override | 
| override virtual ON_Surface::IsIsoparametric  More... | |
| ON_Surface::ISO | IsIsoparametric (const ON_Curve &curve, const ON_Interval *curve_domain=nullptr) const override | 
| override virtual ON_Surface::IsIsoparametric  More... | |
| ON_Curve * | IsoCurve (int dir, double c) const override | 
| bool | IsPeriodic (int) const override | 
| bool | IsPlanar (ON_Plane *plane=nullptr, double tolerance=ON_ZERO_TOLERANCE) const override | 
| bool | IsSingular (int) const override | 
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override | 
| ON_Surface * | Offset (double offset_distance, double tolerance, double *max_deviation=nullptr) const override | 
| ON_SurfaceProxy & | operator= (const ON_SurfaceProxy &) | 
| const ON_Surface * | ProxySurface () const | 
| bool | ProxySurfaceIsTransposed () const | 
| ON_Curve * | Pullback (const ON_Curve &curve_3d, double tolerance, const ON_Interval *curve_3d_subdomain=nullptr, ON_3dPoint start_uv=ON_3dPoint::UnsetPoint, ON_3dPoint end_uv=ON_3dPoint::UnsetPoint, ON_FitResult *rc=0) const override | 
| ON_Curve * | Pushup (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain=nullptr, ON_FitResult *rc=0) const override | 
| bool | Read (ON_BinaryArchive &) override | 
| bool | Reverse (int) override | 
| void | SetProxySurface (const ON_Surface *proxy_surface) | 
| unsigned int | SizeOf () const override | 
| ON_Object overrides.  More... | |
| int | SpanCount (int) const override | 
| number of smooth spans in curve  More... | |
| bool | Transform (const ON_Xform &) override | 
| bool | Transpose () override | 
| transpose surface parameterization (swap "s" and "t")  More... | |
| bool | Write (ON_BinaryArchive &) const override | 
|  Public Member Functions inherited from ON_Surface | |
| ON_Surface () | |
| ON_Surface (const ON_Surface &) | |
| virtual | ~ON_Surface () | 
| bool | AreaMassProperties (class 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_Brep * | BrepForm (ON_Brep *brep=nullptr) const override | 
| virtual ON_SurfaceTree * | CreateSurfaceTree () const | 
| void | DestroySurfaceTree () | 
| bool | Ev1Der (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, int quadrant=0, int *hint=0) const | 
| bool | 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 override | 
| virtual ON_Geometry override  More... | |
| bool | EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &du, ON_3dVector &dv, ON_3dVector &normal, int=0, int *=0) const | 
| bool | EvNormal (double u, double v, ON_3dPoint &point, ON_3dVector &normal, int quadrant=0, int *hint=0) const | 
| bool | EvNormal (double u, double v, ON_3dVector &normal, int quadrant=0, int *hint=0) const | 
| bool | EvPoint (double u, double v, ON_3dPoint &point, int quadrant=0, int *hint=0) const | 
| virtual bool | Extend (int dir, const ON_Interval &domain) | 
| bool | FrameAt (double u, double v, ON_Plane &frame) const | 
| bool | GetDomain (int dir, double *t0, double *t1) const | 
| int | GetIsoPushupDirection (const ON_Curve &curve_2d, double tolerance, const ON_Interval *curve_2d_subdomain, double *c, ON_Interval *c3_dom) const | 
| bool | GetSilhouette (const ON_Interval *udom, const ON_Interval *vdom, const ON_SilhouetteParameters parameters, const ON_PlaneEquation *clipping_planes, size_t clipping_plane_count, ON_ClassArray< ON_SIL_EVENT > &silhouettes, ON_ProgressReporter *progress, ON_Terminator *terminator) const | 
| virtual bool | GetSpanVectorIndex (int dir, double t, int side, int *span_vector_index, ON_Interval *span_interval) const | 
| ON_Curve * | GetSurfaceParameterFromNurbFormParameter (const ON_Curve &curve3d, const ON_Curve &ns_curve2dX, double fit_tolerance) const | 
| bool | HasBrepForm () const override | 
| int | IntersectPlane (ON_PlaneEquation plane_equation, ON_ClassArray< ON_SSX_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, double fitting_tolerance=0.0, const ON_Interval *surface_udomain=0, const ON_Interval *surface_vdomain=0) 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=nullptr, double tolerance=ON_ZERO_TOLERANCE) const | 
| bool | IsCylinder (ON_Cylinder *cylinder=nullptr, double tolerance=ON_ZERO_TOLERANCE) const | 
| bool | IsSolid () const | 
| bool | IsSphere (ON_Sphere *sphere=nullptr, double tolerance=ON_ZERO_TOLERANCE) const | 
| bool | IsTorus (ON_Torus *torus=nullptr, double tolerance=ON_ZERO_TOLERANCE) const | 
| ON_3dVector | NormalAt (double, double) const | 
| ON_NurbsSurface * | NurbsSurface (ON_NurbsSurface *pNurbsSurface=nullptr, double tolerance=0.0, const ON_Interval *s_subdomain=nullptr, const ON_Interval *t_subdomain=nullptr) const | 
| ON::object_type | ObjectType () const override | 
| override ON_Object::ObjectType() - returns ON::surface_object  More... | |
| ON_Surface & | operator= (const ON_Surface &) | 
| ON_3dPoint | PointAt (double, double) const | 
| simple evaluation interface - no error handling  More... | |
| virtual bool | SetDomain (int dir, double t0, double t1) | 
| bool | SetDomain (int dir, ON_Interval domain) | 
| const ON_SimpleArray< double > | SpanVector (int dir) const | 
| The surface's span vectors are a stricltly monotone increasing lists of doubles that specify the rectangles in the domain where the surface is C-infinity.  More... | |
| virtual bool | Split (int dir, double c, ON_Surface *&west_or_south_side, ON_Surface *&east_or_north_side) const | 
| const ON_SurfaceTree * | SurfaceTree () const | 
| virtual bool | Trim (int dir, const ON_Interval &domain) | 
| bool | VolumeMassProperties (class ON_MassProperties &mp, bool bVolume=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, ON_3dPoint base_point=ON_3dPoint::UnsetPoint, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const | 
|  Public Member Functions inherited from ON_Geometry | |
| ON_Geometry ()=default | |
| ON_Geometry (const ON_Geometry &)=default | |
| ~ON_Geometry ()=default | |
| ON_BoundingBox | BoundingBox () const | 
| virtual void | ClearBoundingBox () | 
| virtual ON_COMPONENT_INDEX | ComponentIndex () const | 
| bool | GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const | 
| bool | GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const | 
| virtual bool | GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const | 
| virtual bool | IsDeformable () const | 
| virtual bool | IsMorphable () const | 
| virtual bool | MakeDeformable () | 
| virtual bool | Morph (const class ON_SpaceMorph &morph) | 
| ON_Geometry & | operator= (const ON_Geometry &)=default | 
| bool | Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) | 
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) | 
| bool | Scale (double scale_factor) | 
| virtual bool | SwapCoordinates (int i, int j) | 
| const ON_BoundingBox | TightBoundingBox () const | 
| bool | Translate (const ON_3dVector &translation_vector) | 
|  Public Member Functions inherited from ON_Object | |
| ON_Object () ON_NOEXCEPT | |
| ON_Object (const ON_Object &) | |
| virtual | ~ON_Object () | 
| virtual ON_AggregateComponentStatus | AggregateComponentStatus () const | 
| bool | AttachUserData (class ON_UserData *pUserData) | 
| unsigned int | ClearAllComponentStates () const | 
| virtual unsigned int | ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const | 
| virtual unsigned int | ClearComponentStates (ON_ComponentStatus states_to_clear) const | 
| void | CopyUserData (const ON_Object &source_object) | 
| unsigned int | CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution) | 
| virtual bool | DeleteComponents (const ON_COMPONENT_INDEX *ci_list, size_t ci_count) | 
| bool | DetachUserData (class ON_UserData *pUserData) | 
| void | DumpUserData (const wchar_t *description, ON_TextLog &text_log) const | 
| Go through the linked list of ON_UserData attached to this and call the virtual Dump(text_log) function on each instance.  More... | |
| void | EmergencyDestroy () | 
| class ON_UserData * | FirstUserData () const | 
| virtual unsigned int | GetComponentsWithSetStates (ON_ComponentStatus states_filter, bool bAllEqualStates, ON_SimpleArray< ON_COMPONENT_INDEX > &components) const | 
| class ON_UserData * | GetUserData (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 | 
| bool | IsCorrupt (bool bRepair, bool bSilentError, class ON_TextLog *text_log) const | 
| bool | IsKindOf (const ON_ClassId *pClassId) const | 
| virtual void | MarkAggregateComponentStatusAsNotCurrent () const | 
| virtual void | MemoryRelocate () | 
| virtual ON_UUID | ModelObjectId () const | 
| void | MoveUserData (ON_Object &source_object) | 
| unsigned int | MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems) | 
| ON_Object & | operator= (const ON_Object &) | 
| void | PurgeUserData () | 
| virtual unsigned int | SetComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_set) const | 
| virtual unsigned int | SetComponentStatus (ON_COMPONENT_INDEX component_index, ON_ComponentStatus status_to_copy) const | 
| bool | SetUserString (const wchar_t *key, const wchar_t *string_value) | 
| int | SetUserStrings (int count, const ON_UserString *user_strings, bool bReplace) | 
| bool | ThisIsNullptr (bool bSilentError) const | 
| void | TransformUserData (const class ON_Xform &xform) | 
| virtual bool | UpdateReferencedComponents (const class ON_ComponentManifest &source_manifest, const class ON_ComponentManifest &destination_manifest, const class ON_ManifestMap &manifest_map) | 
| int | UserStringCount () const | 
| 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 } | 
| pure virtual class for surface objects  More... | |
|  Public Types inherited from ON_Object | |
| enum | UserDataConflictResolution : unsigned char { UserDataConflictResolution::destination_object = 0, UserDataConflictResolution::source_object = 1, UserDataConflictResolution::source_copycount_gt = 2, UserDataConflictResolution::source_copycount_ge = 3, UserDataConflictResolution::destination_copycount_gt = 4, UserDataConflictResolution::destination_copycount_ge = 5, UserDataConflictResolution::delete_item = 6 } | 
|  Static Public Member Functions inherited from ON_Surface | |
| static class ON_NurbsSurface * | CreateCubicLoft (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) | 
| static class ON_NurbsSurface * | CreateLinearLoft (int curve_count, const ON_Curve *const *curve_list, double k, int is_closed=0, class ON_NurbsSurface *nurbs_surface=0) | 
|  Static Public Attributes inherited from ON_Geometry | |
| const static ON_Geometry | Unset | 
|  Protected Member Functions inherited from ON_Surface | |
| ON_Curve * | PullbackCurveProxy (const ON_CurveProxy &curveproxy_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv, ON_FitResult *rc) const | 
| Helper for ON_Surface::Pullback overrides that handles "real" curve issues.  More... | |
| ON_Curve * | PullbackPolyCurve (const ON_PolyCurve &polycurve_3d, double tolerance, const ON_Interval *curve_3d_subdomain, ON_3dPoint start_uv, ON_3dPoint end_uv, ON_FitResult *rc) const | 
| ON_Curve * | PushupCurveProxy (const ON_CurveProxy &curveproxy_2d, double tolerance, const ON_Interval *curve_2d_subdomain, ON_FitResult *rc) const | 
| Helper for ON_Surface::Pushup overrides that handles "real" curve issues.  More... | |
| ON_Curve * | PushupPolyCurve (const ON_PolyCurve &polycurve_2d, double tolerance, const ON_Interval *curve_2d_subdomain, ON_FitResult *rc) const | 
| ON_OffsetSurface::ON_OffsetSurface | ( | ) | 
| ON_OffsetSurface::~ON_OffsetSurface | ( | ) | 
| ON_OffsetSurface::ON_OffsetSurface | ( | const ON_OffsetSurface & | src | ) | 
| const ON_Surface* ON_OffsetSurface::BaseSurface | ( | ) | const | 
Returns: Base surface;
| 
 | overridevirtual | 
work horse evaluator
| u | returns false if unable to evaluate | 
| v | evaluation parameters | 
| num_der | number of derivatives (>=0) | 
| array_stride | array stride (>=Dimension()) | 
| der_array | array of length stride*(ndir+1)*(ndir+2)/2 | 
| quadrant | optional - determines which quadrant to evaluate from 0 = default 1 from NE quadrant 2 from NW quadrant 3 from SW quadrant 4 from SE quadrant | 
| hint | optional - evaluation hint (int[2]) used to speed repeated evaluations | 
Implements ON_Surface.
| 
 | overridevirtual | 
virtual ON_Geometry GetBBox override 
 
Reimplemented from ON_Geometry.
| ON_OffsetSurfaceFunction& ON_OffsetSurface::OffsetFunction | ( | ) | 
| const ON_OffsetSurfaceFunction& ON_OffsetSurface::OffsetFunction | ( | ) | const | 
| ON_OffsetSurface& ON_OffsetSurface::operator= | ( | const ON_OffsetSurface & | src | ) | 
| bool ON_OffsetSurface::SetBaseSurface | ( | const ON_Surface * | base_surface | ) | 
Description: Sets base surface to a surface that is not managed by the ON_OffsetSurface class. Parameters: base_surface - [in] points to a base surface the caller insures will exist for the lifetimes of the ON_OffsetSurface class. Returns: True if successful.
| bool ON_OffsetSurface::SetBaseSurface | ( | ON_Surface * | base_surface, | 
| bool | bManage | ||
| ) | 
Description: Sets base surface to a surface that is optionally managed by the ON_OffsetSurface class. Parameters: base_surface - [in] points to a base surface the caller insures will exist for the lifetimes of the ON_OffsetSurface class. bManage - [in] if true, the base_surface must point to a surface that is on the heap and the surface will be deleted by ~ON_OffsetSurface. Returns: True if successful.
 1.8.17
 1.8.17