#include <opennurbs_curveproxy.h>
Public Member Functions | |
| ON_CurveProxy () ON_NOEXCEPT | |
| ON_CurveProxy (const ON_CurveProxy &) | |
| ON_CurveProxy (const ON_Curve *) | |
| ON_CurveProxy (const ON_Curve *, ON_Interval) | |
| virtual | ~ON_CurveProxy () |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const override |
| virtual ON_Object::DataCRC override More... | |
| int | Degree () 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 () const override |
| ON_Curve overrides. More... | |
| void | Dump (ON_TextLog &) const override |
| for debugging More... | |
| ON_Curve * | DuplicateCurve () const override |
| bool | Evaluate (double, int, int, double *, int=0, int *=0) const override |
| Domain changes from [a,b] to [-b,-a]. More... | |
| bool | GetBBox (double *boxmin, double *boxmax, bool bGrowBox=false) const override |
| virtual ON_Geometry GetBBox override More... | |
| bool | GetCurveParameterFromNurbFormParameter (double, double *) const override |
| virtual ON_Curve::GetCurveParameterFromNurbFormParameter override More... | |
| bool | GetNextDiscontinuity (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_NurbsCurve &, double=0.0, const ON_Interval *=nullptr) const override |
| bool | GetNurbFormParameterFromCurveParameter (double, double *) const override |
| virtual ON_Curve::GetNurbFormParameterFromCurveParameter override More... | |
| bool | GetParameterTolerance (double, double *, double *) const override |
| (optional - override if curve is piecewise smooth) More... | |
| bool | GetSpanVector (double *) const override |
| int | HasNurbForm () const override |
| bool | IsArc (const ON_Plane *=nullptr, ON_Arc *=nullptr, double=ON_ZERO_TOLERANCE) const override |
| bool | IsClosed (void) const override |
| bool | IsContinuous (ON::continuity c, 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 |
| bool | IsInPlane (const ON_Plane &, double=ON_ZERO_TOLERANCE) const override |
| bool | IsLinear (double=ON_ZERO_TOLERANCE) const override |
| bool | IsPeriodic (void) const override |
| periodic.) More... | |
| bool | IsPlanar (ON_Plane *=nullptr, double=ON_ZERO_TOLERANCE) const override |
| int | IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=nullptr, ON_SimpleArray< double > *pline_t=nullptr) const override |
| virtual override of ON_Curve::IsPolyline More... | |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| ON_Object overrides. More... | |
| ON_CurveProxy & | operator= (const ON_CurveProxy &) |
| const ON_Curve * | ProxyCurve () const |
| ON_Interval | ProxyCurveDomain () const |
| bool | ProxyCurveIsReversed () const |
| bool | Read (ON_BinaryArchive &) override |
| double | RealCurveParameter (double t) const |
| bool | Reverse () override |
| bool | SetDomain (double t0, double t1) override |
| bool | SetDomain (ON_Interval domain) |
| void | SetProxyCurve (const ON_Curve *real_curve) |
| void | SetProxyCurve (const ON_Curve *real_curve, ON_Interval real_curve_subdomain) |
| bool | SetProxyCurveDomain (ON_Interval proxy_curve_subdomain) |
| unsigned int | SizeOf () const override |
| virtual ON_Object::SizeOf override More... | |
| int | SpanCount () const override |
| number of smooth spans in curve More... | |
| bool | Split (double t, ON_Curve *&left_side, ON_Curve *&right_side) const override |
| override of virtual ON_Curve::Split More... | |
| double | ThisCurveParameter (double real_curve_parameter) const |
| bool | Transform (const ON_Xform &) override |
| bool | Trim (const ON_Interval &domain) override |
| override of virtual ON_Curve::Trim More... | |
| bool | Write (ON_BinaryArchive &) const override |
Public Member Functions inherited from ON_Curve | |
| ON_Curve () ON_NOEXCEPT | |
| ON_Curve (const ON_Curve &) | |
| virtual | ~ON_Curve () |
| virtual bool | ChangeClosedCurveSeam (double t) |
| virtual bool | ChangeDimension (int desired_dimension) |
| ON_3dVector | CurvatureAt (double t) const |
| ON_3dVector | DerivativeAt (double t) const |
| void | DestroyCurveTree () |
| bool | Ev1Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, int side=0, int *hint=0) const |
| bool | Ev2Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, ON_3dVector &second_derivative, int side=0, int *hint=0) const |
| bool | EvaluatePoint (const class ON_ObjRef &objref, ON_3dPoint &P) const override |
| virtual ON_Geometry override More... | |
| bool | EvCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, ON_3dVector &kappa, int side=0, int *hint=0) const |
| bool | EvPoint (double t, ON_3dPoint &point, int side=0, int *hint=0) const |
| bool | EvTangent (double t, ON_3dPoint &point, ON_3dVector &tangent, int side=0, int *hint=0) const |
| virtual bool | Extend (const ON_Interval &domain) |
| bool | FirstSpanIsLinear (double min_length, double tolerance) const |
| bool | FirstSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const |
| bool | FrameAt (double t, ON_Plane &plane) const |
| bool | GetDomain (double *t0, double *t1) const |
| curve interface More... | |
| virtual bool | GetSpanVectorIndex (double t, int side, int *span_vector_index, ON_Interval *span_domain) const |
| bool | GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const override |
| virtual ON_Geometry GetTightBoundingBox override More... | |
| bool | IsArcAt (double t, const ON_Plane *plane=0, ON_Arc *arc=0, double tolerance=ON_ZERO_TOLERANCE, double *t0=0, double *t1=0) const |
| bool | IsClosable (double tolerance, double min_abs_size=0.0, double min_rel_size=10.0) const |
| virtual bool | IsEllipse (const ON_Plane *plane=nullptr, ON_Ellipse *ellipse=nullptr, double tolerance=ON_ZERO_TOLERANCE) const |
| bool | LastSpanIsLinear (double min_length, double tolerance) const |
| bool | LastSpanIsLinear (double min_length, double tolerance, ON_Line *span_line) const |
| ON_NurbsCurve * | NurbsCurve (ON_NurbsCurve *pNurbsCurve=nullptr, double tolerance=0.0, const ON_Interval *subdomain=nullptr) const |
| ON::object_type | ObjectType () const override |
| ON_Curve & | operator= (const ON_Curve &) |
| ON_3dPoint | PointAt (double t) const |
| ON_3dPoint | PointAtEnd () const |
| ON_3dPoint | PointAtStart () const |
| bool | SetDomain (ON_Interval domain) |
| virtual bool | SetEndPoint (ON_3dPoint end_point) |
| virtual bool | SetStartPoint (ON_3dPoint start_point) |
| ON_3dVector | TangentAt (double t) 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 class ON_Brep * | BrepForm (class ON_Brep *brep=nullptr) const |
| virtual void | ClearBoundingBox () |
| virtual ON_COMPONENT_INDEX | ComponentIndex () const |
| bool | GetBoundingBox (ON_BoundingBox &bbox, bool bGrowBox=false) const |
| bool | GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, bool bGrowBox=false) const |
| virtual bool | HasBrepForm () const |
| virtual bool | IsDeformable () const |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| virtual bool | MakeDeformable () |
| ON_Geometry & | operator= (const ON_Geometry &)=default |
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| bool | Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| bool | Scale (double scale_factor) |
| virtual bool | SwapCoordinates (int i, int j) |
| 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_ComponentStatus states_to_clear) const |
| virtual unsigned int | ClearComponentStates (ON_COMPONENT_INDEX component_index, ON_ComponentStatus states_to_clear) const |
| unsigned int | CopyUserData (const ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution) |
| void | CopyUserData (const ON_Object &source_object) |
| 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 | IsKindOf (const ON_ClassId *pClassId) const |
| virtual void | MarkAggregateComponentStatusAsNotCurrent () const |
| virtual void | MemoryRelocate () |
| virtual ON_UUID | ModelObjectId () const |
| unsigned int | MoveUserData (ON_Object &source_object, ON_UUID source_userdata_item_id, ON_Object::UserDataConflictResolution userdata_conflict_resolution, bool bDeleteAllSourceItems) |
| void | MoveUserData (ON_Object &source_object) |
| 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) |
| 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 |
Protected Member Functions | |
| void | SetProxyCurveIsReversed (bool bReversed) |
Protected Member Functions inherited from ON_Curve | |
| bool | ParameterSearch (double t, int &index, bool bEnableSnap, const ON_SimpleArray< double > &m_t, double RelTol=ON_SQRT_EPSILON) const |
Additional Inherited Members | |
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 Attributes inherited from ON_Geometry | |
| static const ON_Geometry | Unset |
| ON_CurveProxy::ON_CurveProxy | ( | ) |
|
virtual |
| ON_CurveProxy::ON_CurveProxy | ( | const ON_CurveProxy & | ) |
| ON_CurveProxy::ON_CurveProxy | ( | const ON_Curve * | ) |
| ON_CurveProxy::ON_CurveProxy | ( | const ON_Curve * | , |
| ON_Interval | |||
| ) |
|
overridevirtual |
virtual ON_Object::DataCRC override
Reimplemented from ON_Object.
|
overridevirtual |
Description: Returns maximum algebraic degree of any span or a good estimate if curve spans are not algebraic. Returns: degree
Implements ON_Curve.
|
overridevirtual |
virtual ON_Object::DestroyRuntimeCache override
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeSegment.
|
overridevirtual |
ON_Geometry overrides.
Reimplemented from ON_Geometry.
|
overridevirtual |
|
overridevirtual |
for debugging
Reimplemented from ON_Object.
|
overridevirtual |
Description: Get a duplicate of the curve. Returns: A duplicate of the curve. Remarks: The caller must delete the returned curve. For non-ON_CurveProxy objects, this simply duplicates the curve using ON_Object::Duplicate. For ON_CurveProxy objects, this duplicates the actual proxy curve geometry and, if necessary, trims and reverse the result to that the returned curve's parameterization and locus match the proxy curve's.
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeSegment.
|
overridevirtual |
Domain changes from [a,b] to [-b,-a].
Implements ON_Curve.
|
overridevirtual |
virtual ON_Geometry GetBBox override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Curve::GetCurveParameterFromNurbFormParameter override
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Search for a derivatitive, tangent, or curvature discontinuity. Parameters: c - [in] type of continity to test for. If ON::continuity::C1_continuous t0 - [in] search begins at t0 t1 - [in] (t0 < t1) search ends at t1 t - [out] if a discontinuity is found, the *t reports the parameter at the discontinuity. hint - [in/out] if GetNextDiscontinuity will be called repeatedly, passing a "hint" with initial value *hint=0 will increase the speed of the search. dtype - [out] if not nullptr, *dtype reports the kind of discontinuity found at *t. A value of 1 means the first derivative or unit tangent was discontinuous. A value of 2 means the second derivative or curvature was discontinuous. cos_angle_tolerance - [in] default = cos(1 degree) Used only when c is ON::continuity::G1_continuous or ON::continuity::G2_continuous. If the cosine of the angle between two tangent vectors is <= cos_angle_tolerance, then a G1 discontinuity is reported. curvature_tolerance - [in] (default = ON_SQRT_EPSILON) Used only when c is ON::continuity::G2_continuous or ON::continuity::Gsmooth_continuous. ON::continuity::G2_continuous: If K0 and K1 are curvatures evaluated from above and below and |K0 - K1| > curvature_tolerance, then a curvature discontinuity is reported. ON::continuity::Gsmooth_continuous: If K0 and K1 are curvatures evaluated from above and below and the angle between K0 and K1 is at least twice angle tolerance or ||K0| - |K1|| > (max(|K0|,|K1|) > curvature_tolerance, then a curvature discontinuity is reported. Returns: true if a discontinuity was found on the interior of the interval (t0,t1). Remarks: Overrides ON_Curve::GetNextDiscontinuity.
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Get a NURBS curve representation of this curve. Parameters: nurbs_curve - [out] NURBS representation returned here tolerance - [in] tolerance to use when creating NURBS representation. subdomain - [in] if not nullptr, then the NURBS representation for this portion of the curve is returned. Returns: 0 unable to create NURBS representation with desired accuracy. 1 success - returned NURBS parameterization matches the curve's to wthe desired accuracy 2 success - returned NURBS point locus matches the curve's to the desired accuracy and the domain of the NURBS curve is correct. On However, This curve's parameterization and the NURBS curve parameterization may not match to the desired accuracy. This situation happens when getting NURBS representations of curves that have a transendental parameterization like circles Remarks: This is a low-level virtual function. If you do not need the parameterization information provided by the return code, then ON_Curve::NurbsCurve may be easier to use. See Also: ON_Curve::NurbsCurve
| nurbs_curve | returns 0: unable to create NURBS representation with desired accuracy. 1: success - returned NURBS parameterization matches the curve's to wthe desired accuracy 2: success - returned NURBS point locus matches the curve's to the desired accuracy but, on the interior of the curve's domain, the curve's parameterization and the NURBS parameterization may not match to the desired accuracy. |
| subdomain | OPTIONAL subdomain of ON_CurveProxy::Domain() |
Reimplemented from ON_Curve.
|
overridevirtual |
virtual ON_Curve::GetNurbFormParameterFromCurveParameter override
Reimplemented from ON_Curve.
|
overridevirtual |
(optional - override if curve is piecewise smooth)
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Get number of parameters of "knots". Parameters: knots - [out] an array of length SpanCount()+1 is filled in with the parameters where the curve is not smooth (C-infinity). Returns: true if successful
Implements ON_Curve.
|
overridevirtual |
Description: Does a NURBS curve representation of this curve. Parameters: Returns: 0 unable to create NURBS representation with desired accuracy. 1 success - NURBS parameterization matches the curve's to wthe desired accuracy 2 success - NURBS point locus matches the curve's and the domain of the NURBS curve is correct. However, This curve's parameterization and the NURBS curve parameterization may not match. This situation happens when getting NURBS representations of curves that have a transendental parameterization like circles Remarks: This is a low-level virtual function. See Also: ON_Curve::GetNurbForm ON_Curve::NurbsCurve
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Test a curve to see if the locus if its points is an arc or circle. Parameters: plane - [in] if not nullptr, test is performed in this plane arc - [out] if not nullptr and true is returned, then arc parameters are filled in tolerance - [in] tolerance to use when checking Returns: ON_Arc.m_angle > 0 if curve locus is an arc between specified points. If ON_Arc.m_angle is 2.0*ON_PI, then the curve is a circle.
| plane | ON_Arc.m_angle > 0 if curve locus is an arc between specified points if not nullptr, test is performed in this plane |
| arc | if not nullptr and true is returned, then arc parameters |
| tolerance | are filled in tolerance to use when checking |
Reimplemented from ON_Curve.
|
overridevirtual |
CV = euclidean location of end CV, or curve is
Reimplemented from ON_Curve.
Reimplemented in ON_PolyEdgeSegment.
|
overridevirtual |
Description: Test continuity at a curve parameter value. Parameters: c - [in] continuity to test for t - [in] parameter to test hint - [in] evaluation hint point_tolerance - [in] if the distance between two points is greater than point_tolerance, then the curve is not C0. d1_tolerance - [in] if the difference between two first derivatives is greater than d1_tolerance, then the curve is not C1. d2_tolerance - [in] if the difference between two second derivatives is greater than d2_tolerance, then the curve is not C2. cos_angle_tolerance - [in] default = cos(1 degree) Used only when c is ON::continuity::G1_continuous or ON::continuity::G2_continuous. If the cosine of the angle between two tangent vectors is <= cos_angle_tolerance, then a G1 discontinuity is reported. curvature_tolerance - [in] (default = ON_SQRT_EPSILON) Used only when c is ON::continuity::G2_continuous or ON::continuity::Gsmooth_continuous. ON::continuity::G2_continuous: If K0 and K1 are curvatures evaluated from above and below and |K0 - K1| > curvature_tolerance, then a curvature discontinuity is reported. ON::continuity::Gsmooth_continuous: If K0 and K1 are curvatures evaluated from above and below and the angle between K0 and K1 is at least twice angle tolerance or ||K0| - |K1|| > (max(|K0|,|K1|) > curvature_tolerance, then a curvature discontinuity is reported. Returns: true if the curve has at least the c type continuity at the parameter t. Remarks: Overrides ON_Curve::IsContinuous.
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Test a curve to see if it lies in a specific plane. Parameters: test_plane - [in] tolerance - [in] tolerance to use when checking Returns: true if the maximum distance from the curve to the test_plane is <= tolerance.
| test_plane | plane to test |
| tolerance | tolerance to use when checking |
Implements ON_Curve.
|
overridevirtual |
Description: Test a curve to see if the locus if its points is a line segment. Parameters: tolerance - [in] ///< tolerance to use when checking linearity Returns: true if the ends of the curve are farther than tolerance apart and the maximum distance from any point on the curve to the line segment connecting the curve's ends is <= tolerance.
| tolerance | true if curve locus is a line segment between between specified points tolerance to use when checking linearity |
Reimplemented from ON_Curve.
|
overridevirtual |
periodic.)
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Test a curve to see if it is planar. Parameters: plane - [out] if not nullptr and true is returned, the plane parameters are filled in. tolerance - [in] tolerance to use when checking Returns: true if there is a plane such that the maximum distance from the curve to the plane is <= tolerance.
| plane | if not nullptr and true is returned, then plane parameters |
| tolerance | are filled in tolerance to use when checking |
Reimplemented from ON_Curve.
|
overridevirtual |
virtual override of ON_Curve::IsPolyline
Reimplemented from ON_Curve.
|
overridevirtual |
| ON_CurveProxy& ON_CurveProxy::operator= | ( | const ON_CurveProxy & | ) |
| const ON_Curve* ON_CurveProxy::ProxyCurve | ( | ) | const |
Returns: "Real" curve geometry that "this" is a proxy for.
| ON_Interval ON_CurveProxy::ProxyCurveDomain | ( | ) | const |
Returns: Sub interval of the "real" curve's domain that "this" uses. This interval is not necessarily the same as "this" curve's domain. Remarks: This function is poorly named. It does NOT get the proxy curve's domain. It does get the evaluation interval of the "real" curve for which "this" is a proxy.
| bool ON_CurveProxy::ProxyCurveIsReversed | ( | ) | const |
Returns: True if "this" as a curve is reversed from the "real" curve geometry.
|
overridevirtual |
Description: Low level archive writing tool used by ON_BinaryArchive::ReadObject(). Parameters: binary_archive - archive to read from Returns: Returns true if the read is successful. Remarks: Use ON_BinaryArchive::ReadObject() to read objects. This Read() function should read the objects definition back into its data members.
The default implementation of this virtual function returns false and does nothing.
| binary_archive | returns false - nothing serialized open binary file |
Reimplemented from ON_Object.
Reimplemented in ON_PolyEdgeSegment.
| double ON_CurveProxy::RealCurveParameter | ( | double | t | ) | const |
Parameters: t - [in] parameter for "this" curve Returns: Corresponding parameter in m_real_curve's domain.
|
overridevirtual |
reverse parameterizatrion
Implements ON_Curve.
|
overridevirtual |
virtual ON_Curve::SetDomain() override
Reimplemented from ON_Curve.
| bool ON_CurveProxy::SetDomain | ( | ON_Interval | domain | ) |
| void ON_CurveProxy::SetProxyCurve | ( | const ON_Curve * | real_curve | ) |
Description: Sets the curve geometry that "this" is a proxy for. Sets proxy domain to proxy_curve->Domain(). Parameters: real_curve - [in]
| void ON_CurveProxy::SetProxyCurve | ( | const ON_Curve * | real_curve, |
| ON_Interval | real_curve_subdomain | ||
| ) |
Description: Sets the curve geometry that "this" is a proxy for. Sets proxy domain to proxy_curve->Domain(). Parameters: real_curve - [in] real_curve_subdomain - [in] increasing sub interval of real_curve->Domain(). This interval defines the portion the "real" curve geometry that "this" proxy uses. bReversed - [in] true if the parameterization of "this" proxy as a curve is reversed from the underlying "real" curve geometry.
| bool ON_CurveProxy::SetProxyCurveDomain | ( | ON_Interval | proxy_curve_subdomain | ) |
Description: Sets portion of the "real" curve that this proxy represents. Does NOT change the domain of "this" curve. Parameters: proxy_curve_subdomain - [in] increasing sub interval of ProxyCurve()->Domain(). This interval defines the portion the curve geometry that "this" proxy uses. Remarks: This function is poorly named. It does NOT set the proxy curve's domain. It does set the interval of the "real" curve for which "this" is a proxy.
|
protected |
Used by CRhinoPolyEdgeSegment::Create() to restore the value of ON_CurveProxy::m_bReversed.
|
overridevirtual |
virtual ON_Object::SizeOf override
Reimplemented from ON_Curve.
|
overridevirtual |
number of smooth spans in curve
Implements ON_Curve.
|
overridevirtual |
override of virtual ON_Curve::Split
Reimplemented from ON_Curve.
| double ON_CurveProxy::ThisCurveParameter | ( | double | real_curve_parameter | ) | const |
Parameters: real_curve_parameter - [in] m_real_curve parameter Returns: Corresponding parameter for "this" curve
|
overridevirtual |
Description: overrides virtual ON_Geometry::Transform(). ON_Curve::Transform() calls ON_Geometry::Transform(xform), which calls ON_Object::TransformUserData(xform), and then calls this->DestroyCurveTree(). Parameters: xform - [in] transformation to apply to object. Remarks: Classes derived from ON_Curve should call ON_Curve::Transform() to handle user data transformations and curve tree destruction and then transform their definition.
Reimplemented from ON_Curve.
|
overridevirtual |
override of virtual ON_Curve::Trim
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Low level archive writing tool used by ON_BinaryArchive::WriteObject(). Parameters: binary_archive - archive to write to Returns: Returns true if the write is successful. Remarks: Use ON_BinaryArchive::WriteObject() to write objects. This Write() function should just write the specific definition of this object. It should not write and any chunk typecode or length information.
The default implementation of this virtual function returns false and does nothing.
| binary_archive | returns false - nothing serialized open binary file |
Reimplemented from ON_Object.
Reimplemented in ON_PolyEdgeSegment.