Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-09-08 09:17:55

0001 // Created on: 1997-11-28
0002 // Created by: Jean Yves LEBEY
0003 // Copyright (c) 1997-1999 Matra Datavision
0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS
0005 //
0006 // This file is part of Open CASCADE Technology software library.
0007 //
0008 // This library is free software; you can redistribute it and/or modify it under
0009 // the terms of the GNU Lesser General Public License version 2.1 as published
0010 // by the Free Software Foundation, with special exception defined in the file
0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0012 // distribution for complete text of the license and disclaimer of any warranty.
0013 //
0014 // Alternatively, this file may be used under the terms of Open CASCADE
0015 // commercial license or contractual agreement.
0016 
0017 #ifndef _TopOpeBRepTool_PROJECT_HeaderFile
0018 #define _TopOpeBRepTool_PROJECT_HeaderFile
0019 
0020 #include <TopOpeBRepTool_define.hxx>
0021 
0022 #include <Geom_Surface.hxx>
0023 #include <BRepAdaptor_Curve.hxx>
0024 #include <BRepAdaptor_Curve2d.hxx>
0025 #include <Extrema_ExtPC.hxx>
0026 #include <Extrema_ExtPC2d.hxx>
0027 #include <Extrema_ExtFlag.hxx>
0028 #include <Extrema_ExtAlgo.hxx>
0029 
0030 // ----------------------------------------------------------------------
0031 //  project point <P> on geometries (curve <C>,surface <S>)
0032 // ----------------------------------------------------------------------
0033 Standard_EXPORT void FUN_tool_bounds(const TopoDS_Edge& E, Standard_Real& f, Standard_Real& l);
0034 Standard_EXPORT Standard_Integer FUN_tool_getindex(const Extrema_ExtPC& ponc);
0035 Standard_EXPORT Standard_Integer FUN_tool_getindex(const Extrema_ExtPC2d& ponc);
0036 Standard_EXPORT Standard_Boolean FUN_tool_projPonC(const gp_Pnt&            P,
0037                                                    const Standard_Real      tole,
0038                                                    const BRepAdaptor_Curve& BAC,
0039                                                    const Standard_Real      pmin,
0040                                                    const Standard_Real      pmax,
0041                                                    Standard_Real&           param,
0042                                                    Standard_Real&           dist);
0043 Standard_EXPORT Standard_Boolean FUN_tool_projPonC(const gp_Pnt&            P,
0044                                                    const BRepAdaptor_Curve& BAC,
0045                                                    const Standard_Real      pmin,
0046                                                    const Standard_Real      pmax,
0047                                                    Standard_Real&           param,
0048                                                    Standard_Real&           dist);
0049 Standard_EXPORT Standard_Boolean FUN_tool_projPonC(const gp_Pnt&            P,
0050                                                    const BRepAdaptor_Curve& BAC,
0051                                                    Standard_Real&           param,
0052                                                    Standard_Real&           dist);
0053 Standard_EXPORT Standard_Boolean FUN_tool_projPonC2D(const gp_Pnt&              P,
0054                                                      const Standard_Real        tole,
0055                                                      const BRepAdaptor_Curve2d& BAC2D,
0056                                                      const Standard_Real        pmin,
0057                                                      const Standard_Real        pmax,
0058                                                      Standard_Real&             param,
0059                                                      Standard_Real&             dist);
0060 Standard_EXPORT Standard_Boolean FUN_tool_projPonC2D(const gp_Pnt&              P,
0061                                                      const BRepAdaptor_Curve2d& BAC2D,
0062                                                      const Standard_Real        pmin,
0063                                                      const Standard_Real        pmax,
0064                                                      Standard_Real&             param,
0065                                                      Standard_Real&             dist);
0066 Standard_EXPORT Standard_Boolean FUN_tool_projPonC2D(const gp_Pnt&              P,
0067                                                      const BRepAdaptor_Curve2d& BAC2D,
0068                                                      Standard_Real&             param,
0069                                                      Standard_Real&             dist);
0070 Standard_EXPORT Standard_Boolean
0071   FUN_tool_projPonS(const gp_Pnt&               P,
0072                     const Handle(Geom_Surface)& S,
0073                     gp_Pnt2d&                   UV,
0074                     Standard_Real&              dist,
0075                     const Extrema_ExtFlag       anExtFlag = Extrema_ExtFlag_MINMAX,
0076                     const Extrema_ExtAlgo       anExtAlgo = Extrema_ExtAlgo_Grad);
0077 
0078 // ----------------------------------------------------------------------
0079 //  project point <P> on topologies (edge <E>,face <F>)
0080 // ----------------------------------------------------------------------
0081 Standard_EXPORT Standard_Boolean FUN_tool_projPonE(const gp_Pnt&       P,
0082                                                    const Standard_Real tole,
0083                                                    const TopoDS_Edge&  E,
0084                                                    Standard_Real&      param,
0085                                                    Standard_Real&      dist);
0086 Standard_EXPORT Standard_Boolean FUN_tool_projPonE(const gp_Pnt&      P,
0087                                                    const TopoDS_Edge& E,
0088                                                    Standard_Real&     param,
0089                                                    Standard_Real&     dist);
0090 Standard_EXPORT Standard_Boolean FUN_tool_projPonboundedF(const gp_Pnt&      P,
0091                                                           const TopoDS_Face& F,
0092                                                           gp_Pnt2d&          UV,
0093                                                           Standard_Real&     dist);
0094 Standard_EXPORT Standard_Boolean
0095   FUN_tool_projPonF(const gp_Pnt&         P,
0096                     const TopoDS_Face&    F,
0097                     gp_Pnt2d&             UV,
0098                     Standard_Real&        dist,
0099                     const Extrema_ExtFlag anExtFlag = Extrema_ExtFlag_MINMAX,
0100                     const Extrema_ExtAlgo anExtAlgo = Extrema_ExtAlgo_Grad);
0101 
0102 #endif