Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/opencascade/HLRBRep_TheIntConicCurveOfCInter.hxx was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // Created on: 1992-10-14
0002 // Created by: Christophe MARION
0003 // Copyright (c) 1992-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 _HLRBRep_TheIntConicCurveOfCInter_HeaderFile
0018 #define _HLRBRep_TheIntConicCurveOfCInter_HeaderFile
0019 
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 
0023 #include <HLRBRep_TypeDef.hxx>
0024 #include <IntRes2d_Intersection.hxx>
0025 class IntCurve_IConicTool;
0026 class HLRBRep_CurveTool;
0027 class HLRBRep_TheProjPCurOfCInter;
0028 class HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter;
0029 class HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter;
0030 class gp_Lin2d;
0031 class IntRes2d_Domain;
0032 class gp_Circ2d;
0033 class gp_Elips2d;
0034 class gp_Parab2d;
0035 class gp_Hypr2d;
0036 
0037 class HLRBRep_TheIntConicCurveOfCInter : public IntRes2d_Intersection
0038 {
0039 public:
0040   DEFINE_STANDARD_ALLOC
0041 
0042   //! Empty constructor.
0043   HLRBRep_TheIntConicCurveOfCInter();
0044 
0045   //! Intersection between a line and a parametric curve.
0046   HLRBRep_TheIntConicCurveOfCInter(const gp_Lin2d&         L,
0047                                    const IntRes2d_Domain&  D1,
0048                                    const HLRBRep_CurvePtr& PCurve,
0049                                    const IntRes2d_Domain&  D2,
0050                                    const double            TolConf,
0051                                    const double            Tol);
0052 
0053   //! Intersection between a line and a parametric curve.
0054   Standard_EXPORT HLRBRep_TheIntConicCurveOfCInter(const gp_Circ2d&        C,
0055                                                    const IntRes2d_Domain&  D1,
0056                                                    const HLRBRep_CurvePtr& PCurve,
0057                                                    const IntRes2d_Domain&  D2,
0058                                                    const double            TolConf,
0059                                                    const double            Tol);
0060 
0061   //! Intersection between an ellipse and a parametric curve.
0062   Standard_EXPORT HLRBRep_TheIntConicCurveOfCInter(const gp_Elips2d&       E,
0063                                                    const IntRes2d_Domain&  D1,
0064                                                    const HLRBRep_CurvePtr& PCurve,
0065                                                    const IntRes2d_Domain&  D2,
0066                                                    const double            TolConf,
0067                                                    const double            Tol);
0068 
0069   //! Intersection between a parabola and a parametric curve.
0070   Standard_EXPORT HLRBRep_TheIntConicCurveOfCInter(const gp_Parab2d&       Prb,
0071                                                    const IntRes2d_Domain&  D1,
0072                                                    const HLRBRep_CurvePtr& PCurve,
0073                                                    const IntRes2d_Domain&  D2,
0074                                                    const double            TolConf,
0075                                                    const double            Tol);
0076 
0077   //! Intersection between the main branch of an hyperbola
0078   //! and a parametric curve.
0079   Standard_EXPORT HLRBRep_TheIntConicCurveOfCInter(const gp_Hypr2d&        H,
0080                                                    const IntRes2d_Domain&  D1,
0081                                                    const HLRBRep_CurvePtr& PCurve,
0082                                                    const IntRes2d_Domain&  D2,
0083                                                    const double            TolConf,
0084                                                    const double            Tol);
0085 
0086   //! Intersection between a line and a parametric curve.
0087   void Perform(const gp_Lin2d&         L,
0088                const IntRes2d_Domain&  D1,
0089                const HLRBRep_CurvePtr& PCurve,
0090                const IntRes2d_Domain&  D2,
0091                const double            TolConf,
0092                const double            Tol);
0093 
0094   //! Intersection between a line and a parametric curve.
0095   void Perform(const gp_Circ2d&        C,
0096                const IntRes2d_Domain&  D1,
0097                const HLRBRep_CurvePtr& PCurve,
0098                const IntRes2d_Domain&  D2,
0099                const double            TolConf,
0100                const double            Tol);
0101 
0102   //! Intersection between an ellipse and a parametric curve.
0103   void Perform(const gp_Elips2d&       E,
0104                const IntRes2d_Domain&  D1,
0105                const HLRBRep_CurvePtr& PCurve,
0106                const IntRes2d_Domain&  D2,
0107                const double            TolConf,
0108                const double            Tol);
0109 
0110   //! Intersection between a parabola and a parametric curve.
0111   void Perform(const gp_Parab2d&       Prb,
0112                const IntRes2d_Domain&  D1,
0113                const HLRBRep_CurvePtr& PCurve,
0114                const IntRes2d_Domain&  D2,
0115                const double            TolConf,
0116                const double            Tol);
0117 
0118   //! Intersection between the main branch of an hyperbola
0119   //! and a parametric curve.
0120   void Perform(const gp_Hypr2d&        H,
0121                const IntRes2d_Domain&  D1,
0122                const HLRBRep_CurvePtr& PCurve,
0123                const IntRes2d_Domain&  D2,
0124                const double            TolConf,
0125                const double            Tol);
0126 
0127 private:
0128   //! Intersection between a conic fom gp
0129   //! and a parametric curve.
0130   void Perform(const IntCurve_IConicTool& ICurve,
0131                const IntRes2d_Domain&     D1,
0132                const HLRBRep_CurvePtr&    PCurve,
0133                const IntRes2d_Domain&     D2,
0134                const double               TolConf,
0135                const double               Tol);
0136 };
0137 
0138 #define TheImpTool IntCurve_IConicTool
0139 #define TheImpTool_hxx <IntCurve_IConicTool.hxx>
0140 #define ThePCurve HLRBRep_CurvePtr
0141 #define ThePCurve_hxx <HLRBRep_CurvePtr.hxx>
0142 #define ThePCurveTool HLRBRep_CurveTool
0143 #define ThePCurveTool_hxx <HLRBRep_CurveTool.hxx>
0144 #define TheProjPCur HLRBRep_TheProjPCurOfCInter
0145 #define TheProjPCur_hxx <HLRBRep_TheProjPCurOfCInter.hxx>
0146 #define IntCurve_TheIntersector HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter
0147 #define IntCurve_TheIntersector_hxx <HLRBRep_TheIntersectorOfTheIntConicCurveOfCInter.hxx>
0148 #define IntCurve_MyImpParToolOfTheIntersector                                                      \
0149   HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter
0150 #define IntCurve_MyImpParToolOfTheIntersector_hxx                                                  \
0151   <HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter.hxx>
0152 #define IntCurve_MyImpParToolOfTheIntersector                                                      \
0153   HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter
0154 #define IntCurve_MyImpParToolOfTheIntersector_hxx                                                  \
0155   <HLRBRep_MyImpParToolOfTheIntersectorOfTheIntConicCurveOfCInter.hxx>
0156 #define IntCurve_IntConicCurveGen HLRBRep_TheIntConicCurveOfCInter
0157 #define IntCurve_IntConicCurveGen_hxx <HLRBRep_TheIntConicCurveOfCInter.hxx>
0158 
0159 #include <IntCurve_IntConicCurveGen.lxx>
0160 
0161 #undef TheImpTool
0162 #undef TheImpTool_hxx
0163 #undef ThePCurve
0164 #undef ThePCurve_hxx
0165 #undef ThePCurveTool
0166 #undef ThePCurveTool_hxx
0167 #undef TheProjPCur
0168 #undef TheProjPCur_hxx
0169 #undef IntCurve_TheIntersector
0170 #undef IntCurve_TheIntersector_hxx
0171 #undef IntCurve_MyImpParToolOfTheIntersector
0172 #undef IntCurve_MyImpParToolOfTheIntersector_hxx
0173 #undef IntCurve_MyImpParToolOfTheIntersector
0174 #undef IntCurve_MyImpParToolOfTheIntersector_hxx
0175 #undef IntCurve_IntConicCurveGen
0176 #undef IntCurve_IntConicCurveGen_hxx
0177 
0178 #endif // _HLRBRep_TheIntConicCurveOfCInter_HeaderFile