Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
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

bool AdjustCurve (const occ::handle< Geom_Curve > &C3D, const gp_Pnt &P1, const gp_Pnt &P2, const bool take1=true, const bool take2=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.
 
bool AdjustCurveSegment (const occ::handle< Geom_Curve > &C3D, const gp_Pnt &P1, const gp_Pnt &P2, const double U1, const double U2) const
 Modifies a curve in order to make its bounds confused with given points. Works only on lines and B-Splines.
 
bool AdjustCurve2d (const occ::handle< Geom2d_Curve > &C2D, const gp_Pnt2d &P1, const gp_Pnt2d &P2, const bool take1=true, const bool take2=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.
 
occ::handle< Geom_BSplineCurveConvertToBSpline (const occ::handle< Geom_Curve > &C, const double first, const double last, const double 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)
 
occ::handle< Geom2d_BSplineCurveConvertToBSpline (const occ::handle< Geom2d_Curve > &C, const double first, const double last, const double 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 bool FixKnots (occ::handle< NCollection_HArray1< double > > &knots)
 
static bool FixKnots (NCollection_Array1< double > &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()

bool ShapeConstruct_Curve::AdjustCurve ( const occ::handle< Geom_Curve > & C3D,
const gp_Pnt & P1,
const gp_Pnt & P2,
const bool take1 = true,
const bool take2 = 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()

bool ShapeConstruct_Curve::AdjustCurve2d ( const occ::handle< Geom2d_Curve > & C2D,
const gp_Pnt2d & P1,
const gp_Pnt2d & P2,
const bool take1 = true,
const bool take2 = 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()

bool ShapeConstruct_Curve::AdjustCurveSegment ( const occ::handle< Geom_Curve > & C3D,
const gp_Pnt & P1,
const gp_Pnt & P2,
const double U1,
const double 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]

occ::handle< Geom2d_BSplineCurve > ShapeConstruct_Curve::ConvertToBSpline ( const occ::handle< Geom2d_Curve > & C,
const double first,
const double last,
const double 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]

occ::handle< Geom_BSplineCurve > ShapeConstruct_Curve::ConvertToBSpline ( const occ::handle< Geom_Curve > & C,
const double first,
const double last,
const double 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 bool ShapeConstruct_Curve::FixKnots ( NCollection_Array1< double > & knots)
static

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

◆ FixKnots() [2/2]

static bool ShapeConstruct_Curve::FixKnots ( occ::handle< NCollection_HArray1< double > > & knots)
static

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