QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_CurveProxy Class Reference

#include <opennurbs_curveproxy.h>

Inheritance diagram for ON_CurveProxy:
ON_Curve ON_Geometry ON_Object ON_BrepEdge ON_BrepTrim ON_PolyEdgeSegment

Public Member Functions

ON__UINT32 DataCRC (ON__UINT32 current_remainder) const
 
int Degree () const
 
void DestroyRuntimeCache (bool bDelete=true)
 
int Dimension () const
 
ON_Interval Domain () const
 
void Dump (ON_TextLog &) const
 
ON_CurveDuplicateCurve () const
 
ON_BOOL32 Evaluate (double, int, int, double *, int=0, int *=0) const
 
ON_BOOL32 GetBBox (double *, double *, ON_BOOL32=false) const
 
bool GetClosestPoint (const ON_3dPoint &, double *, double=0.0, const ON_Interval *=NULL) const
 
ON_BOOL32 GetCurveParameterFromNurbFormParameter (double, double *) const
 
ON_BOOL32 GetLength (double *, double=1.0e-8, const ON_Interval *=NULL) const
 
ON_BOOL32 GetLocalClosestPoint (const ON_3dPoint &, double, double *, const ON_Interval *=NULL) const
 
bool GetNextDiscontinuity (ON::continuity c, double t0, double t1, double *t, int *hint=NULL, int *dtype=NULL, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
virtual ON_BOOL32 GetNormalizedArcLengthPoint (double s, double *t, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=NULL) const
 
virtual ON_BOOL32 GetNormalizedArcLengthPoints (int count, const double *s, double *t, double absolute_tolerance=0.0, double fractional_tolerance=1.0e-8, const ON_Interval *sub_domain=NULL) const
 
int GetNurbForm (ON_NurbsCurve &, double=0.0, const ON_Interval *=NULL) const
 
ON_BOOL32 GetNurbFormParameterFromCurveParameter (double, double *) const
 
ON_BOOL32 GetParameterTolerance (double, double *, double *) const
 
ON_BOOL32 GetSpanVector (double *) const
 
int HasNurbForm () const
 
ON_BOOL32 IsArc (const ON_Plane *=NULL, ON_Arc *=NULL, double=ON_ZERO_TOLERANCE) const
 
ON_BOOL32 IsClosed (void) const
 
bool IsContinuous (ON::continuity c, double t, int *hint=NULL, double point_tolerance=ON_ZERO_TOLERANCE, double d1_tolerance=ON_ZERO_TOLERANCE, double d2_tolerance=ON_ZERO_TOLERANCE, double cos_angle_tolerance=0.99984769515639123915701155881391, double curvature_tolerance=ON_SQRT_EPSILON) const
 
ON_BOOL32 IsInPlane (const ON_Plane &, double=ON_ZERO_TOLERANCE) const
 
ON_BOOL32 IsLinear (double=ON_ZERO_TOLERANCE) const
 
ON_BOOL32 IsPeriodic (void) const
 
ON_BOOL32 IsPlanar (ON_Plane *=NULL, double=ON_ZERO_TOLERANCE) const
 
int IsPolyline (ON_SimpleArray< ON_3dPoint > *pline_points=NULL, ON_SimpleArray< double > *pline_t=NULL) const
 
bool IsShort (double tolerance, const ON_Interval *sub_domain=NULL) const
 
ON_BOOL32 IsValid (ON_TextLog *text_log=NULL) const
 
 ON_CurveProxy ()
 
 ON_CurveProxy (const ON_Curve *)
 
 ON_CurveProxy (const ON_Curve *, ON_Interval)
 
 ON_CurveProxy (const ON_CurveProxy &)
 
ON_CurveProxyoperator= (const ON_CurveProxy &)
 
const ON_CurveProxyCurve () const
 
ON_Interval ProxyCurveDomain () const
 
bool ProxyCurveIsReversed () const
 
ON_BOOL32 Read (ON_BinaryArchive &)
 
double RealCurveParameter (double t) const
 
ON_BOOL32 Reverse ()
 
ON_BOOL32 SetDomain (double t0, double t1)
 
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
 
int SpanCount () const
 
ON_BOOL32 Split (double t, ON_Curve *&left_side, ON_Curve *&right_side) const
 
double ThisCurveParameter (double real_curve_parameter) const
 
ON_BOOL32 Transform (const ON_Xform &)
 
ON_BOOL32 Trim (const ON_Interval &domain)
 
ON_BOOL32 Write (ON_BinaryArchive &) const
 
virtual ~ON_CurveProxy ()
 
- Public Member Functions inherited from ON_Curve
bool AreaMassProperties (ON_3dPoint base_point, ON_3dVector plane_normal, 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
 
virtual ON_BOOL32 ChangeClosedCurveSeam (double t)
 
virtual bool ChangeDimension (int desired_dimension)
 
virtual ON_CurveTree * CreateCurveTree () const
 
ON_3dVector CurvatureAt (double t) const
 
const ON_CurveTree * CurveTree () const
 
ON_3dVector DerivativeAt (double t) const
 
void DestroyCurveTree ()
 
ON_BOOL32 Ev1Der (double t, ON_3dPoint &point, ON_3dVector &first_derivative, int side=0, int *hint=0) const
 
ON_BOOL32 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
 
ON_BOOL32 EvCurvature (double t, ON_3dPoint &point, ON_3dVector &tangent, ON_3dVector &kappa, int side=0, int *hint=0) const
 
ON_BOOL32 EvPoint (double t, ON_3dPoint &point, int side=0, int *hint=0) const
 
ON_BOOL32 EvTangent (double t, ON_3dPoint &point, ON_3dVector &tangent, int side=0, int *hint=0) const
 
virtual bool Extend (const ON_Interval &domain)
 
ON_BOOL32 FrameAt (double t, ON_Plane &plane) const
 
ON_BOOL32 GetDomain (double *t0, double *t1) const
 
virtual ON_BOOL32 GetSpanVectorIndex (double t, int side, int *span_vector_index, ON_Interval *span_domain) const
 
bool GetTightBoundingBox (ON_BoundingBox &tight_bbox, int bGrowBox=false, const ON_Xform *xform=0) const
 
int IntersectCurve (const ON_Curve *curveB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *curveA_domain=0, const ON_Interval *curveB_domain=0) const
 
virtual int IntersectSelf (ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, const ON_Interval *curve_domain=0) const
 
int IntersectSurface (const ON_Surface *surfaceB, ON_SimpleArray< ON_X_EVENT > &x, double intersection_tolerance=0.0, double overlap_tolerance=0.0, const ON_Interval *curveA_domain=0, const ON_Interval *surfaceB_udomain=0, const ON_Interval *surfaceB_vdomain=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=NULL, ON_Ellipse *ellipse=NULL, double tolerance=ON_ZERO_TOLERANCE) const
 
bool IsShort (double tolerance, const ON_Interval *sub_domain=NULL) const
 
bool LengthMassProperties (ON_MassProperties &mp, bool bLength=true, bool bFirstMoments=true, bool bSecondMoments=true, bool bProductMoments=true, double rel_tol=1.0e-6, double abs_tol=1.0e-6) const
 
class ON_PolylineCurveMeshCurve (ON_MeshCurveParameters &mp, ON_PolylineCurve *polyline, bool bSkipFirstPoint, const ON_Interval *domain)
 
class ON_PolylineCurveMeshCurve (ON_MeshCurveParameters &mp, ON_PolylineCurve *polyline, bool bSkipFirstPoint, const ON_Interval *domain) const
 
ON_NurbsCurveNurbsCurve (ON_NurbsCurve *pNurbsCurve=NULL, double tolerance=0.0, const ON_Interval *subdomain=NULL) const
 
ON::object_type ObjectType () const
 
 ON_Curve ()
 
 ON_Curve (const ON_Curve &)
 
ON_Curveoperator= (const ON_Curve &)
 
ON_3dPoint PointAt (double t) const
 
ON_3dPoint PointAtEnd () const
 
ON_3dPoint PointAtStart () const
 
bool RemoveShortSegments (double tolerance, bool bRemoveShortSegments=true)
 
bool SetDomain (ON_Interval domain)
 
virtual ON_BOOL32 SetEndPoint (ON_3dPoint end_point)
 
virtual ON_BOOL32 SetStartPoint (ON_3dPoint start_point)
 
ON_3dVector TangentAt (double t) const
 
virtual ~ON_Curve ()
 
- Public Member Functions inherited from ON_Geometry
ON_BoundingBox BoundingBox () const
 
virtual ON_BrepBrepForm (ON_Brep *brep=NULL) const
 
virtual void ClearBoundingBox ()
 
virtual ON_COMPONENT_INDEX ComponentIndex () const
 
ON_BOOL32 GetBoundingBox (ON_3dPoint &bbox_min, ON_3dPoint &bbox_max, int bGrowBox=false) const
 
ON_BOOL32 GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const
 
virtual ON_BOOL32 HasBrepForm () const
 
virtual bool IsDeformable () const
 
virtual bool IsMorphable () const
 
virtual bool MakeDeformable ()
 
virtual bool Morph (const ON_SpaceMorph &morph)
 
 ON_Geometry ()
 
 ON_Geometry (const ON_Geometry &)
 
ON_Geometryoperator= (const ON_Geometry &)
 
ON_BOOL32 Rotate (double rotation_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center)
 
ON_BOOL32 Scale (double scale_factor)
 
virtual ON_BOOL32 SwapCoordinates (int i, int j)
 
ON_BOOL32 Translate (const ON_3dVector &translation_vector)
 
virtual ~ON_Geometry ()
 
- Public Member Functions inherited from ON_Object
ON_BOOL32 AttachUserData (ON_UserData *pUserData)
 
bool CopyFrom (const ON_Object *src)
 
void CopyUserData (const ON_Object &source_object)
 
ON_BOOL32 DetachUserData (ON_UserData *pUserData)
 
ON_UserDataFirstUserData () const
 
ON_UserDataGetUserData (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
 
ON_BOOL32 IsKindOf (const ON_ClassId *pClassId) const
 
virtual void MemoryRelocate ()
 
virtual ON_UUID ModelObjectId () const
 
void MoveUserData (ON_Object &source_object)
 
 ON_Object ()
 
 ON_Object (const ON_Object &)
 
ON_Objectoperator= (const ON_Object &)
 
void PurgeUserData ()
 
bool SetUserString (const wchar_t *key, const wchar_t *string_value)
 
void TransformUserData (const ON_Xform &xform)
 
virtual ~ON_Object ()
 

Private Member Functions

 ON_OBJECT_DECLARE (ON_CurveProxy)
 
ON_Interval RealCurveInterval (const ON_Interval *sub_domain) const
 

Private Attributes

bool m_bReversed
 
const ON_Curvem_real_curve
 
ON_Interval m_real_curve_domain
 
ON_Interval m_this_domain
 

Additional Inherited Members

- Public Attributes inherited from ON_Object
ON_MEMORY_POOLm_mempool
 
- Protected Member Functions inherited from ON_Curve
ON_CurveTree * CurveTreeHelper ()
 
bool ParameterSearch (double t, int &index, bool bEnableSnap, const ON_SimpleArray< double > &m_t, double RelTol=ON_SQRT_EPSILON) const
 
- Protected Attributes inherited from ON_Curve
ON_CurveTree * m_ctree
 

Constructor & Destructor Documentation

◆ ON_CurveProxy() [1/4]

ON_CurveProxy::ON_CurveProxy ( )

◆ ON_CurveProxy() [2/4]

ON_CurveProxy::ON_CurveProxy ( const ON_CurveProxy & src)

◆ ON_CurveProxy() [3/4]

ON_CurveProxy::ON_CurveProxy ( const ON_Curve * c)

◆ ON_CurveProxy() [4/4]

ON_CurveProxy::ON_CurveProxy ( const ON_Curve * c,
ON_Interval domain )

◆ ~ON_CurveProxy()

ON_CurveProxy::~ON_CurveProxy ( )
virtual

Member Function Documentation

◆ DataCRC()

ON__UINT32 ON_CurveProxy::DataCRC ( ON__UINT32 current_remainder) const
virtual

Reimplemented from ON_Object.

◆ Degree()

int ON_CurveProxy::Degree ( ) const
virtual

Implements ON_Curve.

◆ DestroyRuntimeCache()

void ON_CurveProxy::DestroyRuntimeCache ( bool bDelete = true)
virtual

Reimplemented from ON_Curve.

Reimplemented in ON_PolyEdgeSegment.

◆ Dimension()

int ON_CurveProxy::Dimension ( ) const
virtual

Implements ON_Geometry.

◆ Domain()

ON_Interval ON_CurveProxy::Domain ( ) const
virtual

Implements ON_Curve.

◆ Dump()

void ON_CurveProxy::Dump ( ON_TextLog & dump) const
virtual

Reimplemented from ON_Object.

◆ DuplicateCurve()

ON_Curve * ON_CurveProxy::DuplicateCurve ( ) const
virtual

Reimplemented from ON_Curve.

Reimplemented in ON_PolyEdgeSegment.

◆ Evaluate()

ON_BOOL32 ON_CurveProxy::Evaluate ( double t,
int der_count,
int v_stride,
double * v,
int side = 0,
int * hint = 0 ) const
virtual

Implements ON_Curve.

◆ GetBBox()

ON_BOOL32 ON_CurveProxy::GetBBox ( double * boxmin,
double * boxmax,
ON_BOOL32 bGrowBox = false ) const
virtual

Implements ON_Geometry.

◆ GetClosestPoint()

bool ON_CurveProxy::GetClosestPoint ( const ON_3dPoint & test_point,
double * t,
double maximum_distance = 0.0,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetCurveParameterFromNurbFormParameter()

ON_BOOL32 ON_CurveProxy::GetCurveParameterFromNurbFormParameter ( double nurbs_t,
double * curve_t ) const
virtual

Reimplemented from ON_Curve.

◆ GetLength()

ON_BOOL32 ON_CurveProxy::GetLength ( double * length,
double fractional_tolerance = 1.0e-8,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetLocalClosestPoint()

ON_BOOL32 ON_CurveProxy::GetLocalClosestPoint ( const ON_3dPoint & test_point,
double seed_parameter,
double * t,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetNextDiscontinuity()

bool ON_CurveProxy::GetNextDiscontinuity ( ON::continuity c,
double t0,
double t1,
double * t,
int * hint = NULL,
int * dtype = NULL,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Curve.

◆ GetNormalizedArcLengthPoint()

ON_BOOL32 ON_CurveProxy::GetNormalizedArcLengthPoint ( double s,
double * t,
double fractional_tolerance = 1.0e-8,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetNormalizedArcLengthPoints()

ON_BOOL32 ON_CurveProxy::GetNormalizedArcLengthPoints ( int count,
const double * s,
double * t,
double absolute_tolerance = 0.0,
double fractional_tolerance = 1.0e-8,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetNurbForm()

int ON_CurveProxy::GetNurbForm ( ON_NurbsCurve & nurbs,
double tolerance = 0.0,
const ON_Interval * sub_domain = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ GetNurbFormParameterFromCurveParameter()

ON_BOOL32 ON_CurveProxy::GetNurbFormParameterFromCurveParameter ( double curve_t,
double * nurbs_t ) const
virtual

Reimplemented from ON_Curve.

◆ GetParameterTolerance()

ON_BOOL32 ON_CurveProxy::GetParameterTolerance ( double t,
double * tminus,
double * tplus ) const
virtual

Reimplemented from ON_Curve.

◆ GetSpanVector()

ON_BOOL32 ON_CurveProxy::GetSpanVector ( double * d) const
virtual

Implements ON_Curve.

◆ HasNurbForm()

int ON_CurveProxy::HasNurbForm ( ) const
virtual

Reimplemented from ON_Curve.

◆ IsArc()

ON_BOOL32 ON_CurveProxy::IsArc ( const ON_Plane * plane = NULL,
ON_Arc * arc = NULL,
double tolerance = ON_ZERO_TOLERANCE ) const
virtual

Reimplemented from ON_Curve.

◆ IsClosed()

ON_BOOL32 ON_CurveProxy::IsClosed ( void ) const
virtual

Reimplemented from ON_Curve.

Reimplemented in ON_PolyEdgeSegment.

◆ IsContinuous()

bool ON_CurveProxy::IsContinuous ( ON::continuity c,
double t,
int * hint = NULL,
double point_tolerance = ON_ZERO_TOLERANCE,
double d1_tolerance = ON_ZERO_TOLERANCE,
double d2_tolerance = ON_ZERO_TOLERANCE,
double cos_angle_tolerance = 0.99984769515639123915701155881391,
double curvature_tolerance = ON_SQRT_EPSILON ) const
virtual

Reimplemented from ON_Curve.

◆ IsInPlane()

ON_BOOL32 ON_CurveProxy::IsInPlane ( const ON_Plane & plane,
double tolerance = ON_ZERO_TOLERANCE ) const
virtual

Implements ON_Curve.

◆ IsLinear()

ON_BOOL32 ON_CurveProxy::IsLinear ( double tolerance = ON_ZERO_TOLERANCE) const
virtual

Reimplemented from ON_Curve.

◆ IsPeriodic()

ON_BOOL32 ON_CurveProxy::IsPeriodic ( void ) const
virtual

Reimplemented from ON_Curve.

◆ IsPlanar()

ON_BOOL32 ON_CurveProxy::IsPlanar ( ON_Plane * plane = NULL,
double tolerance = ON_ZERO_TOLERANCE ) const
virtual

Reimplemented from ON_Curve.

◆ IsPolyline()

int ON_CurveProxy::IsPolyline ( ON_SimpleArray< ON_3dPoint > * pline_points = NULL,
ON_SimpleArray< double > * pline_t = NULL ) const
virtual

Reimplemented from ON_Curve.

◆ IsShort()

bool ON_CurveProxy::IsShort ( double tolerance,
const ON_Interval * sub_domain = NULL ) const

◆ IsValid()

ON_BOOL32 ON_CurveProxy::IsValid ( ON_TextLog * text_log = NULL) const
virtual

Implements ON_Object.

◆ ON_OBJECT_DECLARE()

ON_CurveProxy::ON_OBJECT_DECLARE ( ON_CurveProxy )
private

◆ operator=()

ON_CurveProxy & ON_CurveProxy::operator= ( const ON_CurveProxy & src)

◆ ProxyCurve()

const ON_Curve * ON_CurveProxy::ProxyCurve ( ) const

◆ ProxyCurveDomain()

ON_Interval ON_CurveProxy::ProxyCurveDomain ( ) const

◆ ProxyCurveIsReversed()

bool ON_CurveProxy::ProxyCurveIsReversed ( ) const

◆ Read()

ON_BOOL32 ON_CurveProxy::Read ( ON_BinaryArchive & )
virtual

Reimplemented from ON_Object.

Reimplemented in ON_PolyEdgeSegment.

◆ RealCurveInterval()

ON_Interval ON_CurveProxy::RealCurveInterval ( const ON_Interval * sub_domain) const
private

◆ RealCurveParameter()

double ON_CurveProxy::RealCurveParameter ( double t) const

◆ Reverse()

ON_BOOL32 ON_CurveProxy::Reverse ( )
virtual

Implements ON_Curve.

◆ SetDomain() [1/2]

ON_BOOL32 ON_CurveProxy::SetDomain ( double t0,
double t1 )
virtual

Reimplemented from ON_Curve.

◆ SetDomain() [2/2]

bool ON_CurveProxy::SetDomain ( ON_Interval domain)

◆ SetProxyCurve() [1/2]

void ON_CurveProxy::SetProxyCurve ( const ON_Curve * real_curve)

◆ SetProxyCurve() [2/2]

void ON_CurveProxy::SetProxyCurve ( const ON_Curve * real_curve,
ON_Interval real_curve_subdomain )

◆ SetProxyCurveDomain()

bool ON_CurveProxy::SetProxyCurveDomain ( ON_Interval proxy_curve_subdomain)

◆ SizeOf()

unsigned int ON_CurveProxy::SizeOf ( ) const
virtual

Reimplemented from ON_Curve.

◆ SpanCount()

int ON_CurveProxy::SpanCount ( ) const
virtual

Implements ON_Curve.

◆ Split()

ON_BOOL32 ON_CurveProxy::Split ( double t,
ON_Curve *& left_side,
ON_Curve *& right_side ) const
virtual

Reimplemented from ON_Curve.

Reimplemented in ON_PolyEdgeSegment.

◆ ThisCurveParameter()

double ON_CurveProxy::ThisCurveParameter ( double real_curve_parameter) const

◆ Transform()

ON_BOOL32 ON_CurveProxy::Transform ( const ON_Xform & )
virtual

Reimplemented from ON_Geometry.

◆ Trim()

ON_BOOL32 ON_CurveProxy::Trim ( const ON_Interval & domain)
virtual

Reimplemented from ON_Curve.

Reimplemented in ON_PolyEdgeSegment.

◆ Write()

ON_BOOL32 ON_CurveProxy::Write ( ON_BinaryArchive & ) const
virtual

Reimplemented from ON_Object.

Reimplemented in ON_PolyEdgeSegment.

Member Data Documentation

◆ m_bReversed

bool ON_CurveProxy::m_bReversed
private

◆ m_real_curve

const ON_Curve* ON_CurveProxy::m_real_curve
private

◆ m_real_curve_domain

ON_Interval ON_CurveProxy::m_real_curve_domain
private

◆ m_this_domain

ON_Interval ON_CurveProxy::m_this_domain
private

The documentation for this class was generated from the following files: