Open CASCADE Technology 7.8.2.dev
ProjLib Class Reference

The ProjLib package first provides projection of curves on a plane along a given Direction. The result will be a 3D curve. More...

#include <ProjLib.hxx>

Static Public Member Functions

static gp_Pnt2d Project (const gp_Pln &Pl, const gp_Pnt &P)
 
static gp_Lin2d Project (const gp_Pln &Pl, const gp_Lin &L)
 
static gp_Circ2d Project (const gp_Pln &Pl, const gp_Circ &C)
 
static gp_Elips2d Project (const gp_Pln &Pl, const gp_Elips &E)
 
static gp_Parab2d Project (const gp_Pln &Pl, const gp_Parab &P)
 
static gp_Hypr2d Project (const gp_Pln &Pl, const gp_Hypr &H)
 
static gp_Pnt2d Project (const gp_Cylinder &Cy, const gp_Pnt &P)
 
static gp_Lin2d Project (const gp_Cylinder &Cy, const gp_Lin &L)
 
static gp_Lin2d Project (const gp_Cylinder &Cy, const gp_Circ &Ci)
 
static gp_Pnt2d Project (const gp_Cone &Co, const gp_Pnt &P)
 
static gp_Lin2d Project (const gp_Cone &Co, const gp_Lin &L)
 
static gp_Lin2d Project (const gp_Cone &Co, const gp_Circ &Ci)
 
static gp_Pnt2d Project (const gp_Sphere &Sp, const gp_Pnt &P)
 
static gp_Lin2d Project (const gp_Sphere &Sp, const gp_Circ &Ci)
 
static gp_Pnt2d Project (const gp_Torus &To, const gp_Pnt &P)
 
static gp_Lin2d Project (const gp_Torus &To, const gp_Circ &Ci)
 
static void MakePCurveOfType (const ProjLib_ProjectedCurve &PC, Handle< Geom2d_Curve > &aC)
 Make empty P-Curve <aC> of relevant to <PC> type.
 
static Standard_Boolean IsAnaSurf (const Handle< Adaptor3d_Surface > &theAS)
 Returns "true" if surface is analytical, that is it can be Plane, Cylinder, Cone, Sphere, Torus. For all other types of surface method returns "false".
 

Detailed Description

The ProjLib package first provides projection of curves on a plane along a given Direction. The result will be a 3D curve.

The ProjLib package provides projection of curves on surfaces to compute the curve in the parametric space. It is assumed that the curve is on the surface.

It provides:

  • Package methods to handle the easiest cases:
    • Line, Circle, Ellipse, Parabola, Hyperbola on plane.
    • Line, Circle on cylinder.
    • Line, Circle on cone.
  • Classes to handle the general cases:
    • Plane.
    • Cylinder.
    • Cone.
    • Sphere.
    • Torus.
  • A generic class to handle a Adaptor3d_Curve on a Adaptor3d_Surface.

Member Function Documentation

◆ IsAnaSurf()

static Standard_Boolean ProjLib::IsAnaSurf ( const Handle< Adaptor3d_Surface > & theAS)
static

Returns "true" if surface is analytical, that is it can be Plane, Cylinder, Cone, Sphere, Torus. For all other types of surface method returns "false".

◆ MakePCurveOfType()

static void ProjLib::MakePCurveOfType ( const ProjLib_ProjectedCurve & PC,
Handle< Geom2d_Curve > & aC )
static

Make empty P-Curve <aC> of relevant to <PC> type.

◆ Project() [1/16]

static gp_Lin2d ProjLib::Project ( const gp_Cone & Co,
const gp_Circ & Ci )
static

◆ Project() [2/16]

static gp_Lin2d ProjLib::Project ( const gp_Cone & Co,
const gp_Lin & L )
static

◆ Project() [3/16]

static gp_Pnt2d ProjLib::Project ( const gp_Cone & Co,
const gp_Pnt & P )
static

◆ Project() [4/16]

static gp_Lin2d ProjLib::Project ( const gp_Cylinder & Cy,
const gp_Circ & Ci )
static

◆ Project() [5/16]

static gp_Lin2d ProjLib::Project ( const gp_Cylinder & Cy,
const gp_Lin & L )
static

◆ Project() [6/16]

static gp_Pnt2d ProjLib::Project ( const gp_Cylinder & Cy,
const gp_Pnt & P )
static

◆ Project() [7/16]

static gp_Circ2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Circ & C )
static

◆ Project() [8/16]

static gp_Elips2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Elips & E )
static

◆ Project() [9/16]

static gp_Hypr2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Hypr & H )
static

◆ Project() [10/16]

static gp_Lin2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Lin & L )
static

◆ Project() [11/16]

static gp_Parab2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Parab & P )
static

◆ Project() [12/16]

static gp_Pnt2d ProjLib::Project ( const gp_Pln & Pl,
const gp_Pnt & P )
static

◆ Project() [13/16]

static gp_Lin2d ProjLib::Project ( const gp_Sphere & Sp,
const gp_Circ & Ci )
static

◆ Project() [14/16]

static gp_Pnt2d ProjLib::Project ( const gp_Sphere & Sp,
const gp_Pnt & P )
static

◆ Project() [15/16]

static gp_Lin2d ProjLib::Project ( const gp_Torus & To,
const gp_Circ & Ci )
static

◆ Project() [16/16]

static gp_Pnt2d ProjLib::Project ( const gp_Torus & To,
const gp_Pnt & P )
static

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