|
openNURBS SDK Help
6.0
|
#include <opennurbs_arccurve.h>
Public Member Functions | |
| ON_ArcCurve () ON_NOEXCEPT | |
| ON_ArcCurve (const ON_ArcCurve &) | |
| ON_ArcCurve (const ON_Arc &arc) | |
| ON_ArcCurve (const ON_Arc &arc, double t0, double t1) | |
| ON_ArcCurve (const ON_Circle &circle) | |
| ON_ArcCurve (const ON_Circle &circle, double t0, double t1) | |
| virtual | ~ON_ArcCurve () |
| double | AngleDegrees () const |
| double | AngleRadians () const |
| bool | ChangeClosedCurveSeam (double t) override |
| bool | ChangeDimension (int desired_dimension) override |
| ON__UINT32 | DataCRC (ON__UINT32 current_remainder) const override |
| virtual ON_Object::DataCRC override More... | |
| int | Degree () const override |
| int | Dimension () const override |
| ON_Geometry overrides. More... | |
| ON_Interval | Domain () const override |
| void | Dump (ON_TextLog &) const override |
| bool | Evaluate (double, int, int, double *, int=0, int *=0) const override |
| bool | Extend (const ON_Interval &domain) override |
| 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... | |
| int | GetNurbForm (ON_NurbsCurve &, double=0.0, const ON_Interval *=nullptr) const override |
| virtual ON_Curve::GetNurbForm override More... | |
| bool | GetNurbFormParameterFromCurveParameter (double, double *) const override |
| virtual ON_Curve::GetNurbFormParameterFromCurveParameter override More... | |
| bool | GetSpanVector (double *) const override |
| bool | GetTightBoundingBox (class ON_BoundingBox &tight_bbox, bool bGrowBox=false, const class ON_Xform *xform=nullptr) const override |
| virtual ON_Geometry GetTightBoundingBox override More... | |
| int | HasNurbForm () const override |
| virtual ON_Curve::HasNurbForm override More... | |
| bool | IsArc (const ON_Plane *=nullptr, ON_Arc *=nullptr, double=0.0) const override |
| bool | IsCircle () const |
| 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=0.0) const override |
| bool | IsLinear (double=ON_ZERO_TOLERANCE) const override |
| bool | IsPeriodic (void) const override |
| periodic.) More... | |
| bool | IsPlanar (ON_Plane *=nullptr, double=0.0) const override |
| bool | IsValid (class ON_TextLog *text_log=nullptr) const override |
| ON_Object overrides. More... | |
| ON_ArcCurve & | operator= (const ON_ArcCurve &) |
| ON_ArcCurve & | operator= (const ON_Arc &arc) |
| ON_ArcCurve & | operator= (const ON_Circle &circle) |
| double | Radius () const |
| bool | Read (ON_BinaryArchive &) override |
| bool | Reverse () override |
| bool | SetDomain (double t0, double t1) override |
| ON_Curve overrides. More... | |
| bool | SetEndPoint (ON_3dPoint end_point) override |
| bool | SetStartPoint (ON_3dPoint start_point) override |
| Domain changes from [a,b] to [-b,-a]. More... | |
| 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 |
| bool | Transform (const ON_Xform &) override |
| bool | Trim (const ON_Interval &) override |
| 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 () |
| ON_3dVector | CurvatureAt (double t) const |
| ON_3dVector | DerivativeAt (double t) const |
| void | DestroyCurveTree () |
| void | DestroyRuntimeCache (bool bDelete=true) override |
| virtual ON_Object::DestroyRuntimeCache override More... | |
| virtual ON_Curve * | DuplicateCurve () const |
| 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 |
| 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 | 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 |
| virtual bool | GetParameterTolerance (double t, double *tminus, double *tplus) const |
| 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 |
| virtual int | IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=nullptr, ON_SimpleArray< double > *pline_t=nullptr) 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) |
| unsigned int | SizeOf () const override |
| virtual ON_Object::SizeOf override More... | |
| ON_3dVector | TangentAt (double t) const |
| bool | Transform (const ON_Xform &xform) override |
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 |
Public Attributes | |
| ON_Arc | m_arc = ON_Arc::UnitCircle |
| defualt = radius 1 circle in x-y plane More... | |
| int | m_dim = 3 |
| ON_Interval | m_t = ON_Interval::ZeroToTwoPi |
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 |
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 |
/ / Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. / OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert / McNeel & Associates. / / THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. / ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF / MERCHANTABILITY ARE HEREBY DISCLAIMED. / / For complete openNURBS copyright information see http://www.opennurbs.org. / ////////////////////////////////////////////////////////////// Description: ON_ArcCurve is used to represent arcs and circles. ON_ArcCurve.IsCircle() returns true if the curve is a complete circle. Remarks:
| ON_ArcCurve::ON_ArcCurve | ( | ) |
|
virtual |
| ON_ArcCurve::ON_ArcCurve | ( | const ON_ArcCurve & | ) |
| ON_ArcCurve::ON_ArcCurve | ( | const ON_Arc & | arc | ) |
Description: Create an arc curve with domain (0,arc.Length()).
| ON_ArcCurve::ON_ArcCurve | ( | const ON_Arc & | arc, |
| double | t0, | ||
| double | t1 | ||
| ) |
Description: Create an arc curve with domain (t0,t1)
| ON_ArcCurve::ON_ArcCurve | ( | const ON_Circle & | circle | ) |
Description: Creates a curve that is a complete circle with domain (0,circle.Length()).
| ON_ArcCurve::ON_ArcCurve | ( | const ON_Circle & | circle, |
| double | t0, | ||
| double | t1 | ||
| ) |
Description: Creates a curve that is a complete circle with domain (t0,t1).
| double ON_ArcCurve::AngleDegrees | ( | ) | const |
Returns: The arc's subtended angle in degrees.
| double ON_ArcCurve::AngleRadians | ( | ) | const |
Returns: The arc's subtended angle in radians.
|
overridevirtual |
Description: If this curve is closed, then modify it so that the start/end point is at curve parameter t. Parameters: t - [in] curve parameter of new start/end point. The returned curves domain will start at t. Returns: true if successful.
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Change the dimension of a curve. Parameters: desired_dimension - [in] Returns: true if the curve's dimension was already desired_dimension or if the curve's dimension was successfully changed to desired_dimension.
Reimplemented from ON_Curve.
|
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 |
ON_Geometry overrides.
Reimplemented from ON_Geometry.
|
overridevirtual |
Returns: domain of the curve.
Implements ON_Curve.
|
overridevirtual |
|
overridevirtual |
Description: This evaluator actually does all the work. The other ON_Curve evaluation tools call this virtual function. Parameters: t - [in] evaluation parameter ( usually in Domain() ). der_count - [in] (>=0) number of derivatives to evaluate v_stride - [in] (>=Dimension()) stride to use for the v[] array v - [out] array of length (der_count+1)*v_stride curve(t) is returned in (v[0],...,v[m_dim-1]), curve'(t) is retuned in (v[v_stride],...,v[v_stride+m_dim-1]), curve"(t) is retuned in (v[2*v_stride],...,v[2*v_stride+m_dim-1]), etc. side - [in] optional - determines which side to evaluate from =0 default <0 to evaluate from below, >0 to evaluate from above hint - [in/out] optional evaluation hint used to speed repeated evaluations Returns: false if unable to evaluate. See Also: ON_Curve::EvPoint ON_Curve::Ev1Der ON_Curve::Ev2Der
| t | returns false if unable to evaluate evaluation parameter |
| der_count | number of derivatives (>=0) |
| v_stride | array stride (>=Dimension()) |
| v | array of length stride*(ndir+1) |
| side | optional - determines which side to evaluate from 0 = default < 0 to evaluate from below, > 0 to evaluate from above |
| hint | optional - evaluation hint (int) used to speed repeated evaluations |
Implements ON_Curve.
|
overridevirtual |
Description: Where possible, analytically extends curve to include domain. Parameters: domain - [in] if domain is not included in curve domain, curve will be extended so that its domain includes domain. Will not work if curve is closed. Original curve is identical to the restriction of the resulting curve to the original curve domain, Returns: true if successful.
Reimplemented from ON_Curve.
|
overridevirtual |
virtual ON_Geometry GetBBox override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Curve::GetCurveParameterFromNurbFormParameter override
Reimplemented from ON_Curve.
|
overridevirtual |
virtual ON_Curve::GetNurbForm override
Reimplemented from ON_Curve.
|
overridevirtual |
virtual ON_Curve::GetNurbFormParameterFromCurveParameter override
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
| knots | span "knots" array of length SpanCount() + 1 |
Implements ON_Curve.
|
overridevirtual |
virtual ON_Geometry GetTightBoundingBox override
Reimplemented from ON_Geometry.
|
overridevirtual |
virtual ON_Curve::HasNurbForm override
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.
| bool ON_ArcCurve::IsCircle | ( | ) | const |
Description: Returns true if this arc curve is a complete circle.
|
overridevirtual |
CV = euclidean location of end CV, or curve is
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Test continuity at a curve parameter value. Parameters: c - [in] type of continuity to test for. Read ON::continuity comments for details. 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.
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 |
| ON_ArcCurve& ON_ArcCurve::operator= | ( | const ON_ArcCurve & | ) |
| ON_ArcCurve& ON_ArcCurve::operator= | ( | const ON_Arc & | arc | ) |
Description: Create an arc curve with domain (0,arc.Length()).
| ON_ArcCurve& ON_ArcCurve::operator= | ( | const ON_Circle & | circle | ) |
Description: Creates a curve that is a complete circle with domain (0,circle.Length()).
| double ON_ArcCurve::Radius | ( | ) | const |
Returns: The arc's radius.
|
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 | open binary file |
Reimplemented from ON_Object.
|
overridevirtual |
reverse parameterizatrion
Implements ON_Curve.
|
overridevirtual |
ON_Curve overrides.
Description: virtual ON_Curve::SetDomain override. Set the domain of the curve Parameters: t0 - [in] t1 - [in] new domain will be [t0,t1] Returns: true if successful.
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Force the curve to end at a specified point. Parameters: end_point - [in] Returns: true if successful. Remarks: Some end points cannot be moved. Be sure to check return code. See Also: ON_Curve::SetStartPoint ON_Curve::PointAtStart ON_Curve::PointAtEnd
Reimplemented from ON_Curve.
|
overridevirtual |
Domain changes from [a,b] to [-b,-a].
Description: Force the curve to start at a specified point. Parameters: start_point - [in] Returns: true if successful. Remarks: Some end points cannot be moved. Be sure to check return code. See Also: ON_Curve::SetEndPoint ON_Curve::PointAtStart ON_Curve::PointAtEnd
Reimplemented from ON_Curve.
|
overridevirtual |
virtual ON_Object::SizeOf override
Reimplemented from ON_Object.
|
overridevirtual |
number of smooth spans in curve
Implements ON_Curve.
|
overridevirtual |
Description: Splits (divides) the arc at the specified parameter. The parameter must be in the interior of the arc's domain. The ON_Curve pointers passed to ON_ArcCurve::Split must either be nullptr or point to ON_ArcCurve objects. If a pointer is nullptr, then an ON_ArcCurve will be created in Split(). You may pass "this" as left_side or right_side. Parameters: t - [in] parameter to split the curve at in the interval returned by Domain(). left_side - [out] left portion of curve returned here. If not nullptr, left_side must point to an ON_ArcCuve. right_side - [out] right portion of curve returned here If not nullptr, right_side must point to an ON_ArcCuve. Remarks: Overrides virtual ON_Curve::Split.
Reimplemented from ON_Curve.
|
overridevirtual |
Description: Transforms the object.
Parameters: xform - [in] transformation to apply to object. If xform.IsSimilarity() is zero, then you may want to call MakeSquishy() before calling Transform.
Remarks: When overriding this function, be sure to include a call to ON_Object::TransformUserData() which takes care of transforming any ON_UserData that may be attached to the object.
See Also: ON_Geometry::IsDeformable();
Remarks: Classes derived from ON_Geometry should call ON_Geometry::Transform() to handle user data transformations and then transform their definition.
Reimplemented from ON_Geometry.
|
overridevirtual |
Description: Removes portions of the curve outside the specified interval. Parameters: domain - [in] interval of the curve to keep. Portions of the curve before curve(domain[0]) and after curve(domain[1]) are removed. Returns: true if successful.
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 | open binary file |
Reimplemented from ON_Object.
| ON_Arc ON_ArcCurve::m_arc = ON_Arc::UnitCircle |
defualt = radius 1 circle in x-y plane
| int ON_ArcCurve::m_dim = 3 |
The dimension of a arc curve can be 2 or 3. (2 so ON_ArcCurve can be used as a trimming curve)
| ON_Interval ON_ArcCurve::m_t = ON_Interval::ZeroToTwoPi |
1.8.13