Open CASCADE Technology 6.6.0
|
Geom Library. This package provides an
implementation of functions for basic computation
on geometric entity from packages Geom and Geom2d.
#include <GeomLib.hxx>
Static Public Member Functions | |
static Handle_Geom_Curve | To3d (const gp_Ax2 &Position, const Handle< Geom2d_Curve > &Curve2d) |
Computes the curve 3d from package Geom corresponding to curve 2d from package Geom2d, on the plan defined with the local coordinate system Position. | |
static Handle_Geom2d_Curve | GTransform (const Handle< Geom2d_Curve > &Curve, const gp_GTrsf2d >rsf) |
Computes the curve 3d from package Geom corresponding to the curve 3d from package Geom, transformed with the transformation <GTrsf> WARNING : this method may return a null Handle if it's impossible to compute the transformation of a curve. It's not implemented when : 1) the curve is an infinite parabola or hyperbola 2) the curve is an offsetcurve | |
static void | SameRange (const Standard_Real Tolerance, const Handle< Geom2d_Curve > &Curve2dPtr, const Standard_Real First, const Standard_Real Last, const Standard_Real RequestedFirst, const Standard_Real RequestedLast, Handle< Geom2d_Curve > &NewCurve2dPtr) |
Make the curve Curve2dPtr have the imposed range First to List the most economic way, that is if it can change the range without changing the nature of the curve it will try to do that. Otherwise it will produce a Bspline curve that has the required range | |
static void | BuildCurve3d (const Standard_Real Tolerance, Adaptor3d_CurveOnSurface &CurvePtr, const Standard_Real FirstParameter, const Standard_Real LastParameter, Handle< Geom_Curve > &NewCurvePtr, Standard_Real &MaxDeviation, Standard_Real &AverageDeviation, const GeomAbs_Shape Continuity=GeomAbs_C1, const Standard_Integer MaxDegree=14, const Standard_Integer MaxSegment=30) |
static void | AdjustExtremity (Handle< Geom_BoundedCurve > &Curve, const gp_Pnt &P1, const gp_Pnt &P2, const gp_Vec &T1, const gp_Vec &T2) |
static void | ExtendCurveToPoint (Handle< Geom_BoundedCurve > &Curve, const gp_Pnt &Point, const Standard_Integer Cont, const Standard_Boolean After) |
Extends the bounded curve Curve to the point Point. The extension is built: | |
static void | ExtendSurfByLength (Handle< Geom_BoundedSurface > &Surf, const Standard_Real Length, const Standard_Integer Cont, const Standard_Boolean InU, const Standard_Boolean After) |
Extends the bounded surface Surf along one of its boundaries. The chord length of the extension is equal to Length. The direction of the extension is given as: | |
static void | AxeOfInertia (const TColgp_Array1OfPnt &Points, gp_Ax2 &Axe, Standard_Boolean &IsSingular, const Standard_Real Tol=1.0e-7) |
Compute axes of inertia, of some points -- -- -- <Axe>.Location() is the BaryCentre -- -- -- -- -- <Axe>.XDirection is the axe of upper inertia -- -- -- | |
static void | Inertia (const TColgp_Array1OfPnt &Points, gp_Pnt &Bary, gp_Dir &XDir, gp_Dir &YDir, Standard_Real &Xgap, Standard_Real &YGap, Standard_Real &ZGap) |
Compute principale axes of inertia, and dispertion value of some points. | |
static void | RemovePointsFromArray (const Standard_Integer NumPoints, const TColStd_Array1OfReal &InParameters, Handle< TColStd_HArray1OfReal > &OutParameters) |
Warning! This assume that the InParameter is an increasing sequence of real number and it will not check for that : Unpredictable result can happen if this is not satisfied. It is the caller responsability to check for that property. This method makes uniform NumPoints segments S1,...SNumPoints out of the segment defined by the first parameter and the last parameter ofthe InParameter ; keeps only one point of the InParameters set of parameter in each of the uniform segments taking care of the first and the last parameters. For the ith segment the element of the InParameter is the one that is the first to exceed the midpoint of the segment and to fall before the midpoint of the next segment There will be at the end at most NumPoints + 1 if NumPoints > 2 in the OutParameters Array | |
static void | DensifyArray1OfReal (const Standard_Integer MinNumPoints, const TColStd_Array1OfReal &InParameters, Handle< TColStd_HArray1OfReal > &OutParameters) |
this makes sure that there is at least MinNumPoints in OutParameters taking into account the parameters in the InParameters array provided those are in order, that is the sequence of real in the InParameter is strictly non decreasing | |
static void | FuseIntervals (const TColStd_Array1OfReal &Interval1, const TColStd_Array1OfReal &Interval2, TColStd_SequenceOfReal &Fusion, const Standard_Real Confusion=1.0e-9) |
static void | EvalMaxParametricDistance (const Adaptor3d_Curve &Curve, const Adaptor3d_Curve &AReferenceCurve, const Standard_Real Tolerance, const TColStd_Array1OfReal &Parameters, Standard_Real &MaxDistance) |
this will compute the maximum distance at the parameters given in the Parameters array by evaluating each parameter the two curves and taking the maximum of the evaluated distance | |
static void | EvalMaxDistanceAlongParameter (const Adaptor3d_Curve &Curve, const Adaptor3d_Curve &AReferenceCurve, const Standard_Real Tolerance, const TColStd_Array1OfReal &Parameters, Standard_Real &MaxDistance) |
this will compute the maximum distancef at the parameters given in the Parameters array by projecting from the Curve to the reference curve and taking the minimum distance Than the maximum will be taken on those minimas. | |
static void | CancelDenominatorDerivative (Handle< Geom_BSplineSurface > &BSurf, const Standard_Boolean UDirection, const Standard_Boolean VDirection) |
Cancel,on the boudaries,the denominator first derivative in the directions wished by the user and set its value to 1. | |
static Standard_Integer | NormEstim (const Handle< Geom_Surface > &S, const gp_Pnt2d &UV, const Standard_Real Tol, gp_Dir &N) |
static void GeomLib::AdjustExtremity | ( | Handle< Geom_BoundedCurve > & | Curve, |
const gp_Pnt & | P1, | ||
const gp_Pnt & | P2, | ||
const gp_Vec & | T1, | ||
const gp_Vec & | T2 | ||
) | [static] |
static void GeomLib::AxeOfInertia | ( | const TColgp_Array1OfPnt & | Points, |
gp_Ax2 & | Axe, | ||
Standard_Boolean & | IsSingular, | ||
const Standard_Real | Tol = 1.0e-7 |
||
) | [static] |
-- <Axe>.Direction is the Normal to the average plane
-- -- -- IsSingular is True if points are on line --
Tol is used to determine singular cases.
static void GeomLib::BuildCurve3d | ( | const Standard_Real | Tolerance, |
Adaptor3d_CurveOnSurface & | CurvePtr, | ||
const Standard_Real | FirstParameter, | ||
const Standard_Real | LastParameter, | ||
Handle< Geom_Curve > & | NewCurvePtr, | ||
Standard_Real & | MaxDeviation, | ||
Standard_Real & | AverageDeviation, | ||
const GeomAbs_Shape | Continuity = GeomAbs_C1 , |
||
const Standard_Integer | MaxDegree = 14 , |
||
const Standard_Integer | MaxSegment = 30 |
||
) | [static] |
static void GeomLib::CancelDenominatorDerivative | ( | Handle< Geom_BSplineSurface > & | BSurf, |
const Standard_Boolean | UDirection, | ||
const Standard_Boolean | VDirection | ||
) | [static] |
static void GeomLib::DensifyArray1OfReal | ( | const Standard_Integer | MinNumPoints, |
const TColStd_Array1OfReal & | InParameters, | ||
Handle< TColStd_HArray1OfReal > & | OutParameters | ||
) | [static] |
static void GeomLib::EvalMaxDistanceAlongParameter | ( | const Adaptor3d_Curve & | Curve, |
const Adaptor3d_Curve & | AReferenceCurve, | ||
const Standard_Real | Tolerance, | ||
const TColStd_Array1OfReal & | Parameters, | ||
Standard_Real & | MaxDistance | ||
) | [static] |
static void GeomLib::EvalMaxParametricDistance | ( | const Adaptor3d_Curve & | Curve, |
const Adaptor3d_Curve & | AReferenceCurve, | ||
const Standard_Real | Tolerance, | ||
const TColStd_Array1OfReal & | Parameters, | ||
Standard_Real & | MaxDistance | ||
) | [static] |
static void GeomLib::ExtendCurveToPoint | ( | Handle< Geom_BoundedCurve > & | Curve, |
const gp_Pnt & | Point, | ||
const Standard_Integer | Cont, | ||
const Standard_Boolean | After | ||
) | [static] |
static void GeomLib::ExtendSurfByLength | ( | Handle< Geom_BoundedSurface > & | Surf, |
const Standard_Real | Length, | ||
const Standard_Integer | Cont, | ||
const Standard_Boolean | InU, | ||
const Standard_Boolean | After | ||
) | [static] |
static void GeomLib::FuseIntervals | ( | const TColStd_Array1OfReal & | Interval1, |
const TColStd_Array1OfReal & | Interval2, | ||
TColStd_SequenceOfReal & | Fusion, | ||
const Standard_Real | Confusion = 1.0e-9 |
||
) | [static] |
static Handle_Geom2d_Curve GeomLib::GTransform | ( | const Handle< Geom2d_Curve > & | Curve, |
const gp_GTrsf2d & | GTrsf | ||
) | [static] |
static void GeomLib::Inertia | ( | const TColgp_Array1OfPnt & | Points, |
gp_Pnt & | Bary, | ||
gp_Dir & | XDir, | ||
gp_Dir & | YDir, | ||
Standard_Real & | Xgap, | ||
Standard_Real & | YGap, | ||
Standard_Real & | ZGap | ||
) | [static] |
static Standard_Integer GeomLib::NormEstim | ( | const Handle< Geom_Surface > & | S, |
const gp_Pnt2d & | UV, | ||
const Standard_Real | Tol, | ||
gp_Dir & | N | ||
) | [static] |
static void GeomLib::RemovePointsFromArray | ( | const Standard_Integer | NumPoints, |
const TColStd_Array1OfReal & | InParameters, | ||
Handle< TColStd_HArray1OfReal > & | OutParameters | ||
) | [static] |
static void GeomLib::SameRange | ( | const Standard_Real | Tolerance, |
const Handle< Geom2d_Curve > & | Curve2dPtr, | ||
const Standard_Real | First, | ||
const Standard_Real | Last, | ||
const Standard_Real | RequestedFirst, | ||
const Standard_Real | RequestedLast, | ||
Handle< Geom2d_Curve > & | NewCurve2dPtr | ||
) | [static] |
static Handle_Geom_Curve GeomLib::To3d | ( | const gp_Ax2 & | Position, |
const Handle< Geom2d_Curve > & | Curve2d | ||
) | [static] |