Open CASCADE Technology 6.6.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)

#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.

Warning : Does not check if curve should be reversed

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.

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

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.

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

Warning : Does not check if curve should be reversed

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)


Member Function Documentation

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
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
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
Handle_Geom2d_BSplineCurve ShapeConstruct_Curve::ConvertToBSpline ( const Handle< Geom2d_Curve > &  C,
const Standard_Real  first,
const Standard_Real  last,
const Standard_Real  prec 
) const
Handle_Geom_BSplineCurve ShapeConstruct_Curve::ConvertToBSpline ( const Handle< Geom_Curve > &  C,
const Standard_Real  first,
const Standard_Real  last,
const Standard_Real  prec 
) const
static Standard_Boolean ShapeConstruct_Curve::FixKnots ( TColStd_Array1OfReal knots) [static]
static Standard_Boolean ShapeConstruct_Curve::FixKnots ( Handle< TColStd_HArray1OfReal > &  knots) [static]

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines