Rhino C++ API
8.14
|
#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 | 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.