Open CASCADE Technology 7.8.0
Public Member Functions | Static Public Member Functions
ShapeConstruct_Curve Class Reference

Adjusts curve to have start and end points at the given points (currently works on lines and B-Splines only) More...

#include <ShapeConstruct_Curve.hxx>

Public Member Functions

Standard_Boolean AdjustCurve (const Handle< Geom_Curve > &C3D, const gp_Pnt &P1, const gp_Pnt &P2, const Standard_Boolean take1=Standard_True, const Standard_Boolean take2=Standard_True) const
 Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines, returns True in this case, else returns False. For line considers both bounding points, for B-Splines only specified.
 
Standard_Boolean AdjustCurveSegment (const Handle< Geom_Curve > &C3D, const gp_Pnt &P1, const gp_Pnt &P2, const Standard_Real U1, const Standard_Real U2) const
 Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines.
 
Standard_Boolean AdjustCurve2d (const Handle< Geom2d_Curve > &C2D, const gp_Pnt2d &P1, const gp_Pnt2d &P2, const Standard_Boolean take1=Standard_True, const Standard_Boolean take2=Standard_True) const
 Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines, returns True in this case, else returns False.
 
Handle< Geom_BSplineCurveConvertToBSpline (const Handle< Geom_Curve > &C, const Standard_Real first, const Standard_Real last, const Standard_Real prec) const
 Converts a curve of any type (only part from first to last) to bspline. The method of conversion depends on the type of original curve: BSpline -> C.Segment(first,last) Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last) Conic and Other -> Approx_Curve3d(C[first,last],prec,C1,9,1000)
 
Handle< Geom2d_BSplineCurveConvertToBSpline (const Handle< Geom2d_Curve > &C, const Standard_Real first, const Standard_Real last, const Standard_Real prec) const
 Converts a curve of any type (only part from first to last) to bspline. The method of conversion depends on the type of original curve: BSpline -> C.Segment(first,last) Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last) Conic and Other -> Approx_Curve2d(C[first,last],prec,C1,9,1000)
 

Static Public Member Functions

static Standard_Boolean FixKnots (Handle< TColStd_HArray1OfReal > &knots)
 
static Standard_Boolean FixKnots (TColStd_Array1OfReal &knots)
 Fix bspline knots to ensure that there is enough gap between neighbouring values Returns True if something fixed (by shifting knot)
 

Detailed Description

Adjusts curve to have start and end points at the given points (currently works on lines and B-Splines only)

Member Function Documentation

◆ AdjustCurve()

Standard_Boolean ShapeConstruct_Curve::AdjustCurve ( const Handle< Geom_Curve > &  C3D,
const gp_Pnt P1,
const gp_Pnt P2,
const Standard_Boolean  take1 = Standard_True,
const Standard_Boolean  take2 = Standard_True 
) const

Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines, returns True in this case, else returns False. For line considers both bounding points, for B-Splines only specified.

Warning : Does not check if curve should be reversed

◆ AdjustCurve2d()

Standard_Boolean ShapeConstruct_Curve::AdjustCurve2d ( const Handle< Geom2d_Curve > &  C2D,
const gp_Pnt2d P1,
const gp_Pnt2d P2,
const Standard_Boolean  take1 = Standard_True,
const Standard_Boolean  take2 = Standard_True 
) const

Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines, returns True in this case, else returns False.

For line considers both bounding points, for B-Splines only specified.

Warning : Does not check if curve should be reversed

◆ AdjustCurveSegment()

Standard_Boolean ShapeConstruct_Curve::AdjustCurveSegment ( const Handle< Geom_Curve > &  C3D,
const gp_Pnt P1,
const gp_Pnt P2,
const Standard_Real  U1,
const Standard_Real  U2 
) const

Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines.

For lines works as previous method, B-Splines are segmented at the given values and then are adjusted to the points.

◆ ConvertToBSpline() [1/2]

Handle< Geom2d_BSplineCurve > ShapeConstruct_Curve::ConvertToBSpline ( const Handle< Geom2d_Curve > &  C,
const Standard_Real  first,
const Standard_Real  last,
const Standard_Real  prec 
) const

Converts a curve of any type (only part from first to last) to bspline. The method of conversion depends on the type of original curve: BSpline -> C.Segment(first,last) Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last) Conic and Other -> Approx_Curve2d(C[first,last],prec,C1,9,1000)

◆ ConvertToBSpline() [2/2]

Handle< Geom_BSplineCurve > ShapeConstruct_Curve::ConvertToBSpline ( const Handle< Geom_Curve > &  C,
const Standard_Real  first,
const Standard_Real  last,
const Standard_Real  prec 
) const

Converts a curve of any type (only part from first to last) to bspline. The method of conversion depends on the type of original curve: BSpline -> C.Segment(first,last) Bezier and Line -> GeomConvert::CurveToBSplineCurve(C).Segment(first,last) Conic and Other -> Approx_Curve3d(C[first,last],prec,C1,9,1000)

◆ FixKnots() [1/2]

static Standard_Boolean ShapeConstruct_Curve::FixKnots ( Handle< TColStd_HArray1OfReal > &  knots)
static

◆ FixKnots() [2/2]

static Standard_Boolean ShapeConstruct_Curve::FixKnots ( TColStd_Array1OfReal knots)
static

Fix bspline knots to ensure that there is enough gap between neighbouring values Returns True if something fixed (by shifting knot)


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