Provides functions for basic geometric computations on elementary curves such as conics and lines in 2D and 3D space. This includes:
More...
|
| 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.
|
| |