Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <br>
      given points. <br>
      Works only on lines and B-Splines, returns True in this case, <br>
      else returns False. <br>
      For line considers both bounding points, for B-Splines only <br>
      specified. <br>


Warning : Does not check if curve should be reversed
More...

 
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 <br>
      given points. <br>
      Works only on lines and B-Splines. <br>


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

 
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 <br>
      given points. <br>
      Works only on lines and B-Splines, returns True in this case, <br>
      else returns False. <br>


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

Warning : Does not check if curve should be reversed
More...

 
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)
More...
 
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)
More...
 

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)
More...
 

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

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 <br>
      given points. <br>
      Works only on lines and B-Splines, returns True in this case, <br>
      else returns False. <br>
      For line considers both bounding points, for B-Splines only <br>
      specified. <br>


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 <br>
      given points. <br>
      Works only on lines and B-Splines, returns True in this case, <br>
      else returns False. <br>


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 <br>
      given points. <br>
      Works only on lines and B-Splines. <br>


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

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)

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)

static Standard_Boolean ShapeConstruct_Curve::FixKnots ( Handle< TColStd_HArray1OfReal > &  knots)
static
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: