Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Static Public Member Functions
ElCLib Class Reference

Provides functions for basic geometric computations on elementary curves such as conics and lines in 2D and 3D space. This includes: More...

#include <ElCLib.hxx>

Static Public Member Functions

static double InPeriod (const double U, const double UFirst, const double ULast)
 Return a value in the range <UFirst, ULast> by adding or removing the period <ULast - UFirst> to . ATTENTION!!! It is expected but not checked that (ULast > UFirst)
 
static void AdjustPeriodic (const double UFirst, const double ULast, const double Precision, double &U1, double &U2)
 Adjust U1 and U2 in the parametric range UFirst Ulast of a periodic curve, where ULast - UFirst is its period. To do this, this function:
 
static gp_Pnt Value (const double U, const gp_Lin &L)
 For elementary curves (lines, circles and conics) from the gp package, computes the point of parameter U. The result is either:
 
static gp_Pnt Value (const double U, const gp_Circ &C)
 
static gp_Pnt Value (const double U, const gp_Elips &E)
 
static gp_Pnt Value (const double U, const gp_Hypr &H)
 
static gp_Pnt Value (const double U, const gp_Parab &Prb)
 
static void D1 (const double U, const gp_Lin &L, gp_Pnt &P, gp_Vec &V1)
 For elementary curves (lines, circles and conics) from the gp package, computes:
 
static void D1 (const double U, const gp_Circ &C, gp_Pnt &P, gp_Vec &V1)
 
static void D1 (const double U, const gp_Elips &E, gp_Pnt &P, gp_Vec &V1)
 
static void D1 (const double U, const gp_Hypr &H, gp_Pnt &P, gp_Vec &V1)
 
static void D1 (const double U, const gp_Parab &Prb, gp_Pnt &P, gp_Vec &V1)
 
static void D2 (const double U, const gp_Circ &C, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 For elementary curves (circles and conics) from the gp package, computes:
 
static void D2 (const double U, const gp_Elips &E, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void D2 (const double U, const gp_Hypr &H, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void D2 (const double U, const gp_Parab &Prb, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void D3 (const double U, const gp_Circ &C, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 For elementary curves (circles, ellipses and hyperbolae) from the gp package, computes:
 
static void D3 (const double U, const gp_Elips &E, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 
static void D3 (const double U, const gp_Hypr &H, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 
static gp_Vec DN (const double U, const gp_Lin &L, const int N)
 For elementary curves (lines, circles and conics) from the gp package, computes the vector corresponding to the Nth derivative at the point of parameter U. The result is either:
 
static gp_Vec DN (const double U, const gp_Circ &C, const int N)
 
static gp_Vec DN (const double U, const gp_Elips &E, const int N)
 
static gp_Vec DN (const double U, const gp_Hypr &H, const int N)
 
static gp_Vec DN (const double U, const gp_Parab &Prb, const int N)
 
static gp_Pnt2d Value (const double U, const gp_Lin2d &L)
 
static gp_Pnt2d Value (const double U, const gp_Circ2d &C)
 
static gp_Pnt2d Value (const double U, const gp_Elips2d &E)
 
static gp_Pnt2d Value (const double U, const gp_Hypr2d &H)
 
static gp_Pnt2d Value (const double U, const gp_Parab2d &Prb)
 
static void D1 (const double U, const gp_Lin2d &L, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void D1 (const double U, const gp_Circ2d &C, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void D1 (const double U, const gp_Elips2d &E, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void D1 (const double U, const gp_Hypr2d &H, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void D1 (const double U, const gp_Parab2d &Prb, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void D2 (const double U, const gp_Circ2d &C, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void D2 (const double U, const gp_Elips2d &E, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void D2 (const double U, const gp_Hypr2d &H, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void D2 (const double U, const gp_Parab2d &Prb, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void D3 (const double U, const gp_Circ2d &C, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 
static void D3 (const double U, const gp_Elips2d &E, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 
static void D3 (const double U, const gp_Hypr2d &H, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 In the following functions N is the order of derivation and should be greater than 0.
 
static gp_Vec2d DN (const double U, const gp_Lin2d &L, const int N)
 
static gp_Vec2d DN (const double U, const gp_Circ2d &C, const int N)
 
static gp_Vec2d DN (const double U, const gp_Elips2d &E, const int N)
 
static gp_Vec2d DN (const double U, const gp_Hypr2d &H, const int N)
 
static gp_Vec2d DN (const double U, const gp_Parab2d &Prb, const int N)
 
static gp_Pnt LineValue (const double U, const gp_Ax1 &Pos)
 Curve evaluation The following basis functions compute the derivatives on elementary curves defined by their geometric characteristics. These functions can be called without constructing a conic from package gp. They are called by the previous functions. Example : A circle is defined by its position and its radius.
 
static gp_Pnt CircleValue (const double U, const gp_Ax2 &Pos, const double Radius)
 
static gp_Pnt EllipseValue (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius)
 
static gp_Pnt HyperbolaValue (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius)
 
static gp_Pnt ParabolaValue (const double U, const gp_Ax2 &Pos, const double Focal)
 
static void LineD1 (const double U, const gp_Ax1 &Pos, gp_Pnt &P, gp_Vec &V1)
 
static void CircleD1 (const double U, const gp_Ax2 &Pos, const double Radius, gp_Pnt &P, gp_Vec &V1)
 
static void EllipseD1 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1)
 
static void HyperbolaD1 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1)
 
static void ParabolaD1 (const double U, const gp_Ax2 &Pos, const double Focal, gp_Pnt &P, gp_Vec &V1)
 
static void CircleD2 (const double U, const gp_Ax2 &Pos, const double Radius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void EllipseD2 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void HyperbolaD2 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void ParabolaD2 (const double U, const gp_Ax2 &Pos, const double Focal, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2)
 
static void CircleD3 (const double U, const gp_Ax2 &Pos, const double Radius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 
static void EllipseD3 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 
static void HyperbolaD3 (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt &P, gp_Vec &V1, gp_Vec &V2, gp_Vec &V3)
 
static gp_Vec LineDN (const double U, const gp_Ax1 &Pos, const int N)
 In the following functions N is the order of derivation and should be greater than 0.
 
static gp_Vec CircleDN (const double U, const gp_Ax2 &Pos, const double Radius, const int N)
 
static gp_Vec EllipseDN (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, const int N)
 
static gp_Vec HyperbolaDN (const double U, const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, const int N)
 
static gp_Vec ParabolaDN (const double U, const gp_Ax2 &Pos, const double Focal, const int N)
 
static gp_Pnt2d LineValue (const double U, const gp_Ax2d &Pos)
 
static gp_Pnt2d CircleValue (const double U, const gp_Ax22d &Pos, const double Radius)
 
static gp_Pnt2d EllipseValue (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius)
 
static gp_Pnt2d HyperbolaValue (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius)
 
static gp_Pnt2d ParabolaValue (const double U, const gp_Ax22d &Pos, const double Focal)
 
static void LineD1 (const double U, const gp_Ax2d &Pos, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void CircleD1 (const double U, const gp_Ax22d &Pos, const double Radius, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void EllipseD1 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void HyperbolaD1 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void ParabolaD1 (const double U, const gp_Ax22d &Pos, const double Focal, gp_Pnt2d &P, gp_Vec2d &V1)
 
static void CircleD2 (const double U, const gp_Ax22d &Pos, const double Radius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void EllipseD2 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void HyperbolaD2 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void ParabolaD2 (const double U, const gp_Ax22d &Pos, const double Focal, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2)
 
static void CircleD3 (const double U, const gp_Ax22d &Pos, const double Radius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 
static void EllipseD3 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 
static void HyperbolaD3 (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, gp_Pnt2d &P, gp_Vec2d &V1, gp_Vec2d &V2, gp_Vec2d &V3)
 In the following functions N is the order of derivation and should be greater than 0.
 
static gp_Vec2d LineDN (const double U, const gp_Ax2d &Pos, const int N)
 
static gp_Vec2d CircleDN (const double U, const gp_Ax22d &Pos, const double Radius, const int N)
 
static gp_Vec2d EllipseDN (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, const int N)
 
static gp_Vec2d HyperbolaDN (const double U, const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, const int N)
 
static gp_Vec2d ParabolaDN (const double U, const gp_Ax22d &Pos, const double Focal, const int N)
 The following functions compute the parametric value corresponding to a given point on a elementary curve. The point should be on the curve.
 
static double Parameter (const gp_Lin &L, const gp_Pnt &P)
 Computes the parameter value of the point P on the given curve. Note: In its local coordinate system, the parametric equation of the curve is given by the following:
 
static double Parameter (const gp_Lin2d &L, const gp_Pnt2d &P)
 parametrization P (U) = L.Location() + U * L.Direction()
 
static double Parameter (const gp_Circ &C, const gp_Pnt &P)
 
static double Parameter (const gp_Circ2d &C, const gp_Pnt2d &P)
 parametrization In the local coordinate system of the circle X (U) = Radius * Cos (U) Y (U) = Radius * Sin (U)
 
static double Parameter (const gp_Elips &E, const gp_Pnt &P)
 
static double Parameter (const gp_Elips2d &E, const gp_Pnt2d &P)
 parametrization In the local coordinate system of the Ellipse X (U) = MajorRadius * Cos (U) Y (U) = MinorRadius * Sin (U)
 
static double Parameter (const gp_Hypr &H, const gp_Pnt &P)
 
static double Parameter (const gp_Hypr2d &H, const gp_Pnt2d &P)
 parametrization In the local coordinate system of the Hyperbola X (U) = MajorRadius * Ch (U) Y (U) = MinorRadius * Sh (U)
 
static double Parameter (const gp_Parab &Prb, const gp_Pnt &P)
 
static double Parameter (const gp_Parab2d &Prb, const gp_Pnt2d &P)
 parametrization In the local coordinate system of the parabola Y**2 = (2*P) * X where P is the distance between the focus and the directrix.
 
static double LineParameter (const gp_Ax1 &Pos, const gp_Pnt &P)
 
static double LineParameter (const gp_Ax2d &Pos, const gp_Pnt2d &P)
 parametrization P (U) = L.Location() + U * L.Direction()
 
static double CircleParameter (const gp_Ax2 &Pos, const gp_Pnt &P)
 
static double CircleParameter (const gp_Ax22d &Pos, const gp_Pnt2d &P)
 Pos is the Axis of the Circle parametrization In the local coordinate system of the circle X (U) = Radius * Cos (U) Y (U) = Radius * Sin (U)
 
static double EllipseParameter (const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, const gp_Pnt &P)
 
static double EllipseParameter (const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, const gp_Pnt2d &P)
 Pos is the Axis of the Ellipse parametrization In the local coordinate system of the Ellipse X (U) = MajorRadius * Cos (U) Y (U) = MinorRadius * Sin (U)
 
static double HyperbolaParameter (const gp_Ax2 &Pos, const double MajorRadius, const double MinorRadius, const gp_Pnt &P)
 
static double HyperbolaParameter (const gp_Ax22d &Pos, const double MajorRadius, const double MinorRadius, const gp_Pnt2d &P)
 Pos is the Axis of the Hyperbola parametrization In the local coordinate system of the Hyperbola X (U) = MajorRadius * Ch (U) Y (U) = MinorRadius * Sh (U)
 
static double ParabolaParameter (const gp_Ax2 &Pos, const gp_Pnt &P)
 
static double ParabolaParameter (const gp_Ax22d &Pos, const gp_Pnt2d &P)
 Pos is the mirror axis of the parabola parametrization In the local coordinate system of the parabola Y**2 = (2*P) * X where P is the distance between the focus and the directrix. The following functions build a 3d curve from a 2d curve at a given position defined with an Ax2.
 
static gp_Pnt To3d (const gp_Ax2 &Pos, const gp_Pnt2d &P)
 
static gp_Vec To3d (const gp_Ax2 &Pos, const gp_Vec2d &V)
 
static gp_Dir To3d (const gp_Ax2 &Pos, const gp_Dir2d &V)
 
static gp_Ax1 To3d (const gp_Ax2 &Pos, const gp_Ax2d &A)
 
static gp_Ax2 To3d (const gp_Ax2 &Pos, const gp_Ax22d &A)
 
static gp_Lin To3d (const gp_Ax2 &Pos, const gp_Lin2d &L)
 
static gp_Circ To3d (const gp_Ax2 &Pos, const gp_Circ2d &C)
 
static gp_Elips To3d (const gp_Ax2 &Pos, const gp_Elips2d &E)
 
static gp_Hypr To3d (const gp_Ax2 &Pos, const gp_Hypr2d &H)
 
static gp_Parab To3d (const gp_Ax2 &Pos, const gp_Parab2d &Prb)
 These functions build a 3D geometric entity from a 2D geometric entity. The "X Axis" and the "Y Axis" of the global coordinate system (i.e. 2D space) are lined up respectively with the "X Axis" and "Y Axis" of the 3D coordinate system, Pos.
 

Detailed Description

Provides functions for basic geometric computations on elementary curves such as conics and lines in 2D and 3D space. This includes:

Member Function Documentation

◆ AdjustPeriodic()

static void ElCLib::AdjustPeriodic ( const double UFirst,
const double ULast,
const double Precision,
double & U1,
double & U2 )
static

Adjust U1 and U2 in the parametric range UFirst Ulast of a periodic curve, where ULast - UFirst is its period. To do this, this function:

  • sets U1 in the range [ UFirst, ULast ] by adding/removing the period to/from the value U1, then
  • sets U2 in the range [ U1, U1 + period ] by adding/removing the period to/from the value U2. Precision is used to test the equalities.

◆ CircleD1() [1/2]

static void ElCLib::CircleD1 ( const double U,
const gp_Ax2 & Pos,
const double Radius,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ CircleD1() [2/2]

static void ElCLib::CircleD1 ( const double U,
const gp_Ax22d & Pos,
const double Radius,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ CircleD2() [1/2]

static void ElCLib::CircleD2 ( const double U,
const gp_Ax2 & Pos,
const double Radius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ CircleD2() [2/2]

static void ElCLib::CircleD2 ( const double U,
const gp_Ax22d & Pos,
const double Radius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ CircleD3() [1/2]

static void ElCLib::CircleD3 ( const double U,
const gp_Ax2 & Pos,
const double Radius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

◆ CircleD3() [2/2]

static void ElCLib::CircleD3 ( const double U,
const gp_Ax22d & Pos,
const double Radius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

◆ CircleDN() [1/2]

static gp_Vec ElCLib::CircleDN ( const double U,
const gp_Ax2 & Pos,
const double Radius,
const int N )
static

◆ CircleDN() [2/2]

static gp_Vec2d ElCLib::CircleDN ( const double U,
const gp_Ax22d & Pos,
const double Radius,
const int N )
static

◆ CircleParameter() [1/2]

static double ElCLib::CircleParameter ( const gp_Ax2 & Pos,
const gp_Pnt & P )
static

◆ CircleParameter() [2/2]

static double ElCLib::CircleParameter ( const gp_Ax22d & Pos,
const gp_Pnt2d & P )
static

Pos is the Axis of the Circle parametrization In the local coordinate system of the circle X (U) = Radius * Cos (U) Y (U) = Radius * Sin (U)

◆ CircleValue() [1/2]

static gp_Pnt ElCLib::CircleValue ( const double U,
const gp_Ax2 & Pos,
const double Radius )
static

◆ CircleValue() [2/2]

static gp_Pnt2d ElCLib::CircleValue ( const double U,
const gp_Ax22d & Pos,
const double Radius )
static

◆ D1() [1/10]

static void ElCLib::D1 ( const double U,
const gp_Circ & C,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ D1() [2/10]

static void ElCLib::D1 ( const double U,
const gp_Circ2d & C,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ D1() [3/10]

static void ElCLib::D1 ( const double U,
const gp_Elips & E,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ D1() [4/10]

static void ElCLib::D1 ( const double U,
const gp_Elips2d & E,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ D1() [5/10]

static void ElCLib::D1 ( const double U,
const gp_Hypr & H,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ D1() [6/10]

static void ElCLib::D1 ( const double U,
const gp_Hypr2d & H,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ D1() [7/10]

static void ElCLib::D1 ( const double U,
const gp_Lin & L,
gp_Pnt & P,
gp_Vec & V1 )
static

For elementary curves (lines, circles and conics) from the gp package, computes:

  • the point P of parameter U, and
  • the first derivative vector V1 at this point. The results P and V1 are either:
  • a gp_Pnt point and a gp_Vec vector, for a curve in 3D space, or
  • a gp_Pnt2d point and a gp_Vec2d vector, for a curve in 2D space.

◆ D1() [8/10]

static void ElCLib::D1 ( const double U,
const gp_Lin2d & L,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ D1() [9/10]

static void ElCLib::D1 ( const double U,
const gp_Parab & Prb,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ D1() [10/10]

static void ElCLib::D1 ( const double U,
const gp_Parab2d & Prb,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ D2() [1/8]

static void ElCLib::D2 ( const double U,
const gp_Circ & C,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

For elementary curves (circles and conics) from the gp package, computes:

  • the point P of parameter U, and
  • the first and second derivative vectors V1 and V2 at this point. The results, P, V1 and V2, are either:
  • a gp_Pnt point and two gp_Vec vectors, for a curve in 3D space, or
  • a gp_Pnt2d point and two gp_Vec2d vectors, for a curve in 2D space.

◆ D2() [2/8]

static void ElCLib::D2 ( const double U,
const gp_Circ2d & C,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ D2() [3/8]

static void ElCLib::D2 ( const double U,
const gp_Elips & E,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ D2() [4/8]

static void ElCLib::D2 ( const double U,
const gp_Elips2d & E,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ D2() [5/8]

static void ElCLib::D2 ( const double U,
const gp_Hypr & H,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ D2() [6/8]

static void ElCLib::D2 ( const double U,
const gp_Hypr2d & H,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ D2() [7/8]

static void ElCLib::D2 ( const double U,
const gp_Parab & Prb,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ D2() [8/8]

static void ElCLib::D2 ( const double U,
const gp_Parab2d & Prb,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ D3() [1/6]

static void ElCLib::D3 ( const double U,
const gp_Circ & C,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

For elementary curves (circles, ellipses and hyperbolae) from the gp package, computes:

  • the point P of parameter U, and
  • the first, second and third derivative vectors V1, V2 and V3 at this point. The results, P, V1, V2 and V3, are either:
  • a gp_Pnt point and three gp_Vec vectors, for a curve in 3D space, or
  • a gp_Pnt2d point and three gp_Vec2d vectors, for a curve in 2D space.

◆ D3() [2/6]

static void ElCLib::D3 ( const double U,
const gp_Circ2d & C,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

◆ D3() [3/6]

static void ElCLib::D3 ( const double U,
const gp_Elips & E,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

◆ D3() [4/6]

static void ElCLib::D3 ( const double U,
const gp_Elips2d & E,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

◆ D3() [5/6]

static void ElCLib::D3 ( const double U,
const gp_Hypr & H,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

◆ D3() [6/6]

static void ElCLib::D3 ( const double U,
const gp_Hypr2d & H,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

In the following functions N is the order of derivation and should be greater than 0.

◆ DN() [1/10]

static gp_Vec ElCLib::DN ( const double U,
const gp_Circ & C,
const int N )
static

◆ DN() [2/10]

static gp_Vec2d ElCLib::DN ( const double U,
const gp_Circ2d & C,
const int N )
static

◆ DN() [3/10]

static gp_Vec ElCLib::DN ( const double U,
const gp_Elips & E,
const int N )
static

◆ DN() [4/10]

static gp_Vec2d ElCLib::DN ( const double U,
const gp_Elips2d & E,
const int N )
static

◆ DN() [5/10]

static gp_Vec ElCLib::DN ( const double U,
const gp_Hypr & H,
const int N )
static

◆ DN() [6/10]

static gp_Vec2d ElCLib::DN ( const double U,
const gp_Hypr2d & H,
const int N )
static

◆ DN() [7/10]

static gp_Vec ElCLib::DN ( const double U,
const gp_Lin & L,
const int N )
static

For elementary curves (lines, circles and conics) from the gp package, computes the vector corresponding to the Nth derivative at the point of parameter U. The result is either:

  • a gp_Vec vector for a curve in 3D space, or
  • a gp_Vec2d vector for a curve in 2D space. In the following functions N is the order of derivation and should be greater than 0

◆ DN() [8/10]

static gp_Vec2d ElCLib::DN ( const double U,
const gp_Lin2d & L,
const int N )
static

◆ DN() [9/10]

static gp_Vec ElCLib::DN ( const double U,
const gp_Parab & Prb,
const int N )
static

◆ DN() [10/10]

static gp_Vec2d ElCLib::DN ( const double U,
const gp_Parab2d & Prb,
const int N )
static

◆ EllipseD1() [1/2]

static void ElCLib::EllipseD1 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ EllipseD1() [2/2]

static void ElCLib::EllipseD1 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ EllipseD2() [1/2]

static void ElCLib::EllipseD2 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ EllipseD2() [2/2]

static void ElCLib::EllipseD2 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ EllipseD3() [1/2]

static void ElCLib::EllipseD3 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

◆ EllipseD3() [2/2]

static void ElCLib::EllipseD3 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

◆ EllipseDN() [1/2]

static gp_Vec ElCLib::EllipseDN ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
const int N )
static

◆ EllipseDN() [2/2]

static gp_Vec2d ElCLib::EllipseDN ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
const int N )
static

◆ EllipseParameter() [1/2]

static double ElCLib::EllipseParameter ( const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
const gp_Pnt & P )
static

◆ EllipseParameter() [2/2]

static double ElCLib::EllipseParameter ( const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
const gp_Pnt2d & P )
static

Pos is the Axis of the Ellipse parametrization In the local coordinate system of the Ellipse X (U) = MajorRadius * Cos (U) Y (U) = MinorRadius * Sin (U)

◆ EllipseValue() [1/2]

static gp_Pnt ElCLib::EllipseValue ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius )
static

◆ EllipseValue() [2/2]

static gp_Pnt2d ElCLib::EllipseValue ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius )
static

◆ HyperbolaD1() [1/2]

static void ElCLib::HyperbolaD1 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ HyperbolaD1() [2/2]

static void ElCLib::HyperbolaD1 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ HyperbolaD2() [1/2]

static void ElCLib::HyperbolaD2 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ HyperbolaD2() [2/2]

static void ElCLib::HyperbolaD2 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ HyperbolaD3() [1/2]

static void ElCLib::HyperbolaD3 ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2,
gp_Vec & V3 )
static

◆ HyperbolaD3() [2/2]

static void ElCLib::HyperbolaD3 ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2,
gp_Vec2d & V3 )
static

In the following functions N is the order of derivation and should be greater than 0.

◆ HyperbolaDN() [1/2]

static gp_Vec ElCLib::HyperbolaDN ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
const int N )
static

◆ HyperbolaDN() [2/2]

static gp_Vec2d ElCLib::HyperbolaDN ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
const int N )
static

◆ HyperbolaParameter() [1/2]

static double ElCLib::HyperbolaParameter ( const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius,
const gp_Pnt & P )
static

◆ HyperbolaParameter() [2/2]

static double ElCLib::HyperbolaParameter ( const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius,
const gp_Pnt2d & P )
static

Pos is the Axis of the Hyperbola parametrization In the local coordinate system of the Hyperbola X (U) = MajorRadius * Ch (U) Y (U) = MinorRadius * Sh (U)

◆ HyperbolaValue() [1/2]

static gp_Pnt ElCLib::HyperbolaValue ( const double U,
const gp_Ax2 & Pos,
const double MajorRadius,
const double MinorRadius )
static

◆ HyperbolaValue() [2/2]

static gp_Pnt2d ElCLib::HyperbolaValue ( const double U,
const gp_Ax22d & Pos,
const double MajorRadius,
const double MinorRadius )
static

◆ InPeriod()

static double ElCLib::InPeriod ( const double U,
const double UFirst,
const double ULast )
static

Return a value in the range <UFirst, ULast> by adding or removing the period <ULast - UFirst> to . ATTENTION!!! It is expected but not checked that (ULast > UFirst)

◆ LineD1() [1/2]

static void ElCLib::LineD1 ( const double U,
const gp_Ax1 & Pos,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ LineD1() [2/2]

static void ElCLib::LineD1 ( const double U,
const gp_Ax2d & Pos,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ LineDN() [1/2]

static gp_Vec ElCLib::LineDN ( const double U,
const gp_Ax1 & Pos,
const int N )
static

In the following functions N is the order of derivation and should be greater than 0.

◆ LineDN() [2/2]

static gp_Vec2d ElCLib::LineDN ( const double U,
const gp_Ax2d & Pos,
const int N )
static

◆ LineParameter() [1/2]

static double ElCLib::LineParameter ( const gp_Ax1 & Pos,
const gp_Pnt & P )
static

◆ LineParameter() [2/2]

static double ElCLib::LineParameter ( const gp_Ax2d & Pos,
const gp_Pnt2d & P )
static

parametrization P (U) = L.Location() + U * L.Direction()

◆ LineValue() [1/2]

static gp_Pnt ElCLib::LineValue ( const double U,
const gp_Ax1 & Pos )
static

Curve evaluation The following basis functions compute the derivatives on elementary curves defined by their geometric characteristics. These functions can be called without constructing a conic from package gp. They are called by the previous functions. Example : A circle is defined by its position and its radius.

◆ LineValue() [2/2]

static gp_Pnt2d ElCLib::LineValue ( const double U,
const gp_Ax2d & Pos )
static

◆ ParabolaD1() [1/2]

static void ElCLib::ParabolaD1 ( const double U,
const gp_Ax2 & Pos,
const double Focal,
gp_Pnt & P,
gp_Vec & V1 )
static

◆ ParabolaD1() [2/2]

static void ElCLib::ParabolaD1 ( const double U,
const gp_Ax22d & Pos,
const double Focal,
gp_Pnt2d & P,
gp_Vec2d & V1 )
static

◆ ParabolaD2() [1/2]

static void ElCLib::ParabolaD2 ( const double U,
const gp_Ax2 & Pos,
const double Focal,
gp_Pnt & P,
gp_Vec & V1,
gp_Vec & V2 )
static

◆ ParabolaD2() [2/2]

static void ElCLib::ParabolaD2 ( const double U,
const gp_Ax22d & Pos,
const double Focal,
gp_Pnt2d & P,
gp_Vec2d & V1,
gp_Vec2d & V2 )
static

◆ ParabolaDN() [1/2]

static gp_Vec ElCLib::ParabolaDN ( const double U,
const gp_Ax2 & Pos,
const double Focal,
const int N )
static

◆ ParabolaDN() [2/2]

static gp_Vec2d ElCLib::ParabolaDN ( const double U,
const gp_Ax22d & Pos,
const double Focal,
const int N )
static

The following functions compute the parametric value corresponding to a given point on a elementary curve. The point should be on the curve.

◆ ParabolaParameter() [1/2]

static double ElCLib::ParabolaParameter ( const gp_Ax2 & Pos,
const gp_Pnt & P )
static

◆ ParabolaParameter() [2/2]

static double ElCLib::ParabolaParameter ( const gp_Ax22d & Pos,
const gp_Pnt2d & P )
static

Pos is the mirror axis of the parabola parametrization In the local coordinate system of the parabola Y**2 = (2*P) * X where P is the distance between the focus and the directrix. The following functions build a 3d curve from a 2d curve at a given position defined with an Ax2.

◆ ParabolaValue() [1/2]

static gp_Pnt ElCLib::ParabolaValue ( const double U,
const gp_Ax2 & Pos,
const double Focal )
static

◆ ParabolaValue() [2/2]

static gp_Pnt2d ElCLib::ParabolaValue ( const double U,
const gp_Ax22d & Pos,
const double Focal )
static

◆ Parameter() [1/10]

static double ElCLib::Parameter ( const gp_Circ & C,
const gp_Pnt & P )
static

◆ Parameter() [2/10]

static double ElCLib::Parameter ( const gp_Circ2d & C,
const gp_Pnt2d & P )
static

parametrization In the local coordinate system of the circle X (U) = Radius * Cos (U) Y (U) = Radius * Sin (U)

◆ Parameter() [3/10]

static double ElCLib::Parameter ( const gp_Elips & E,
const gp_Pnt & P )
static

◆ Parameter() [4/10]

static double ElCLib::Parameter ( const gp_Elips2d & E,
const gp_Pnt2d & P )
static

parametrization In the local coordinate system of the Ellipse X (U) = MajorRadius * Cos (U) Y (U) = MinorRadius * Sin (U)

◆ Parameter() [5/10]

static double ElCLib::Parameter ( const gp_Hypr & H,
const gp_Pnt & P )
static

◆ Parameter() [6/10]

static double ElCLib::Parameter ( const gp_Hypr2d & H,
const gp_Pnt2d & P )
static

parametrization In the local coordinate system of the Hyperbola X (U) = MajorRadius * Ch (U) Y (U) = MinorRadius * Sh (U)

◆ Parameter() [7/10]

static double ElCLib::Parameter ( const gp_Lin & L,
const gp_Pnt & P )
static

Computes the parameter value of the point P on the given curve. Note: In its local coordinate system, the parametric equation of the curve is given by the following:

  • for the line L: P(U) = Po + U*Vo where Po is the origin and Vo the unit vector of its positioning axis.
  • for the circle C: X(U) = Radius*std::cos(U), Y(U) = Radius*Sin(U)
  • for the ellipse E: X(U) = MajorRadius*std::cos(U). Y(U) = MinorRadius*Sin(U)
  • for the hyperbola H: X(U) = MajorRadius*Ch(U), Y(U) = MinorRadius*Sh(U)
  • for the parabola Prb: X(U) = U**2 / (2*p) Y(U) = U where p is the distance between the focus and the directrix. Warning The point P must be on the curve. These functions are not protected, however, and if point P is not on the curve, an exception may be raised.

◆ Parameter() [8/10]

static double ElCLib::Parameter ( const gp_Lin2d & L,
const gp_Pnt2d & P )
static

parametrization P (U) = L.Location() + U * L.Direction()

◆ Parameter() [9/10]

static double ElCLib::Parameter ( const gp_Parab & Prb,
const gp_Pnt & P )
static

◆ Parameter() [10/10]

static double ElCLib::Parameter ( const gp_Parab2d & Prb,
const gp_Pnt2d & P )
static

parametrization In the local coordinate system of the parabola Y**2 = (2*P) * X where P is the distance between the focus and the directrix.

◆ To3d() [1/10]

static gp_Ax2 ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Ax22d & A )
static

◆ To3d() [2/10]

static gp_Ax1 ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Ax2d & A )
static

◆ To3d() [3/10]

static gp_Circ ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Circ2d & C )
static

◆ To3d() [4/10]

static gp_Dir ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Dir2d & V )
static

◆ To3d() [5/10]

static gp_Elips ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Elips2d & E )
static

◆ To3d() [6/10]

static gp_Hypr ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Hypr2d & H )
static

◆ To3d() [7/10]

static gp_Lin ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Lin2d & L )
static

◆ To3d() [8/10]

static gp_Parab ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Parab2d & Prb )
static

These functions build a 3D geometric entity from a 2D geometric entity. The "X Axis" and the "Y Axis" of the global coordinate system (i.e. 2D space) are lined up respectively with the "X Axis" and "Y Axis" of the 3D coordinate system, Pos.

◆ To3d() [9/10]

static gp_Pnt ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Pnt2d & P )
static

◆ To3d() [10/10]

static gp_Vec ElCLib::To3d ( const gp_Ax2 & Pos,
const gp_Vec2d & V )
static

◆ Value() [1/10]

static gp_Pnt ElCLib::Value ( const double U,
const gp_Circ & C )
static

◆ Value() [2/10]

static gp_Pnt2d ElCLib::Value ( const double U,
const gp_Circ2d & C )
static

◆ Value() [3/10]

static gp_Pnt ElCLib::Value ( const double U,
const gp_Elips & E )
static

◆ Value() [4/10]

static gp_Pnt2d ElCLib::Value ( const double U,
const gp_Elips2d & E )
static

◆ Value() [5/10]

static gp_Pnt ElCLib::Value ( const double U,
const gp_Hypr & H )
static

◆ Value() [6/10]

static gp_Pnt2d ElCLib::Value ( const double U,
const gp_Hypr2d & H )
static

◆ Value() [7/10]

static gp_Pnt ElCLib::Value ( const double U,
const gp_Lin & L )
static

For elementary curves (lines, circles and conics) from the gp package, computes the point of parameter U. The result is either:

  • a gp_Pnt point for a curve in 3D space, or
  • a gp_Pnt2d point for a curve in 2D space.

◆ Value() [8/10]

static gp_Pnt2d ElCLib::Value ( const double U,
const gp_Lin2d & L )
static

◆ Value() [9/10]

static gp_Pnt ElCLib::Value ( const double U,
const gp_Parab & Prb )
static

◆ Value() [10/10]

static gp_Pnt2d ElCLib::Value ( const double U,
const gp_Parab2d & Prb )
static

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