Warning, /include/opencascade/IntPatch_ImpImpIntersection_1.gxx is written in an unsupported language. File is not indexed.
0001 // Created on: 1992-05-07
0002 // Created by: Jacques GOUSSARD
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 #include <Bnd_Box2d.hxx>
0018
0019 static Standard_Boolean IntPP (const IntSurf_Quadric&,
0020 const IntSurf_Quadric&,
0021 const Standard_Real,
0022 const Standard_Real,
0023 Standard_Boolean&,
0024 IntPatch_SequenceOfLine&);
0025
0026 static Standard_Boolean IntPCy (const IntSurf_Quadric&,
0027 const IntSurf_Quadric&,
0028 const Standard_Real,
0029 const Standard_Real,
0030 const Standard_Boolean,
0031 Standard_Boolean&,
0032 IntPatch_SequenceOfLine&,
0033 const Standard_Real H=0.);
0034
0035
0036 static Standard_Boolean IntPSp (const IntSurf_Quadric&,
0037 const IntSurf_Quadric&,
0038 //modified by NIZNHY-PKV Tue Sep 20 08:59:56 2011t
0039 const Standard_Real,
0040 //modified by NIZNHY-PKV Tue Sep 20 08:59:52 2011t
0041 const Standard_Real,
0042 const Standard_Boolean,
0043 Standard_Boolean&,
0044 IntPatch_SequenceOfLine&,
0045 IntPatch_SequenceOfPoint&);
0046
0047
0048 static Standard_Boolean IntPCo (const IntSurf_Quadric&,
0049 const IntSurf_Quadric&,
0050 const Standard_Real,
0051 const Standard_Real,
0052 const Standard_Boolean,
0053 Standard_Boolean&,
0054 Standard_Boolean&,
0055 IntPatch_SequenceOfLine&,
0056 IntPatch_SequenceOfPoint&);
0057
0058
0059 static void ProcessBounds(const Handle(IntPatch_ALine)&,
0060 const IntPatch_SequenceOfLine&,
0061 const IntSurf_Quadric&,
0062 const IntSurf_Quadric&,
0063 Standard_Boolean&,
0064 const gp_Pnt&,
0065 const Standard_Real,
0066 Standard_Boolean&,
0067 const gp_Pnt&,
0068 const Standard_Real,
0069 Standard_Boolean&,
0070 const Standard_Real);
0071
0072
0073 static
0074 IntPatch_ImpImpIntersection::IntStatus IntCyCy(const IntSurf_Quadric& theQuad1,
0075 const IntSurf_Quadric& theQuad2,
0076 const Standard_Real theTol3D,
0077 const Standard_Real theTol2D,
0078 const Bnd_Box2d& theUVSurf1,
0079 const Bnd_Box2d& theUVSurf2,
0080 Standard_Boolean& isTheEmpty,
0081 Standard_Boolean& isTheSameSurface,
0082 Standard_Boolean& isTheMultiplePoint,
0083 IntPatch_SequenceOfLine& theSlin,
0084 IntPatch_SequenceOfPoint& theSPnt);
0085
0086 static Standard_Boolean IntCySp(const IntSurf_Quadric&,
0087 const IntSurf_Quadric&,
0088 const Standard_Real,
0089 const Standard_Boolean,
0090 Standard_Boolean&,
0091 Standard_Boolean&,
0092 IntPatch_SequenceOfLine&,
0093 IntPatch_SequenceOfPoint&);
0094
0095 static Standard_Boolean IntCyCo(const IntSurf_Quadric&,
0096 const IntSurf_Quadric&,
0097 const Standard_Real,
0098 const Standard_Boolean,
0099 Standard_Boolean&,
0100 Standard_Boolean&,
0101 IntPatch_SequenceOfLine&,
0102 IntPatch_SequenceOfPoint&);
0103
0104 static Standard_Boolean IntSpSp(const IntSurf_Quadric&,
0105 const IntSurf_Quadric&,
0106 const Standard_Real,
0107 Standard_Boolean&,
0108 Standard_Boolean&,
0109 IntPatch_SequenceOfLine&,
0110 IntPatch_SequenceOfPoint&);
0111
0112 static Standard_Boolean IntCoSp(const IntSurf_Quadric&,
0113 const IntSurf_Quadric&,
0114 const Standard_Real,
0115 const Standard_Boolean,
0116 Standard_Boolean&,
0117 Standard_Boolean&,
0118 IntPatch_SequenceOfLine&,
0119 IntPatch_SequenceOfPoint&);
0120
0121 static Standard_Boolean IntCoCo(const IntSurf_Quadric&,
0122 const IntSurf_Quadric&,
0123 const Standard_Real,
0124 Standard_Boolean&,
0125 Standard_Boolean&,
0126 Standard_Boolean&,
0127 IntPatch_SequenceOfLine&,
0128 IntPatch_SequenceOfPoint&);
0129
0130 //torus
0131 static Standard_Boolean IntPTo(const IntSurf_Quadric&,
0132 const IntSurf_Quadric&,
0133 const Standard_Real,
0134 const Standard_Boolean,
0135 Standard_Boolean&,
0136 IntPatch_SequenceOfLine&);
0137
0138 static Standard_Boolean IntCyTo(const IntSurf_Quadric&,
0139 const IntSurf_Quadric&,
0140 const Standard_Real,
0141 const Standard_Boolean,
0142 Standard_Boolean&,
0143 IntPatch_SequenceOfLine&);
0144
0145 static Standard_Boolean IntCoTo(const IntSurf_Quadric&,
0146 const IntSurf_Quadric&,
0147 const Standard_Real,
0148 const Standard_Boolean,
0149 Standard_Boolean&,
0150 IntPatch_SequenceOfLine&);
0151
0152 static Standard_Boolean IntSpTo(const IntSurf_Quadric&,
0153 const IntSurf_Quadric&,
0154 const Standard_Real,
0155 const Standard_Boolean,
0156 Standard_Boolean&,
0157 IntPatch_SequenceOfLine&);
0158
0159 static Standard_Boolean IntToTo(const IntSurf_Quadric&,
0160 const IntSurf_Quadric&,
0161 const Standard_Real,
0162 Standard_Boolean&,
0163 Standard_Boolean&,
0164 IntPatch_SequenceOfLine&);