Open CASCADE Technology 6.6.0
Static Public Member Functions
GeomLib Class Reference

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 &GTrsf)
 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)

Member Function Documentation

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]
  • at the end of the curve if After equals true, or
  • at the beginning of the curve if After equals false.
    The extension is performed according to a degree of
    continuity equal to Cont, which in its turn must be equal to 1, 2 or 3.
    This function converts the bounded curve Curve into a BSpline curve.
    Warning
  • Nothing is done, and Curve is not modified if Cont is
    not equal to 1, 2 or 3.
  • It is recommended that the extension should not be
    too large with respect to the size of the bounded
    curve Curve: Point must not be located too far from
    one of the extremities of Curve.
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]
  • the u parametric direction of Surf, if InU equals true, or
  • the v parametric direction of Surf, if InU equals false.
    In this parametric direction, the extension is built on the side of:
  • the last parameter of Surf, if After equals true, or
  • the first parameter of Surf, if After equals false.
    The extension is performed according to a degree of
    continuity equal to Cont, which in its turn must be equal to 1, 2 or 3.
    This function converts the bounded surface Surf into a BSpline surface.
    Warning
  • Nothing is done, and Surf is not modified if Cont is
    not equal to 1, 2 or 3.
  • It is recommended that Length, the size of the
    extension should not be too large with respect to the
    size of the bounded surface Surf.
  • Surf must not be a periodic BSpline surface in the
    parametric direction corresponding to the direction of extension.
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]

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