Open CASCADE Technology 7.8.0
|
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_BSplineCurve > | 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) | |
Handle< Geom2d_BSplineCurve > | 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) | |
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) | |
Adjusts curve to have start and end points at the given points (currently works on lines and B-Splines only)
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
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
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.
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)
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)
|
static |
|
static |
Fix bspline knots to ensure that there is enough gap between neighbouring values Returns True if something fixed (by shifting knot)