Back to home page

EIC code displayed by LXR

 
 

    


Warning, /include/opencascade/BRep_Builder.lxx is written in an unsupported language. File is not indexed.

0001 // Created on: 1991-07-02
0002 // Created by: Remi LEQUETTE
0003 // Copyright (c) 1991-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 <TopoDS_Face.hxx>
0018 #include <TopoDS_Vertex.hxx>
0019 #include <BRep_TFace.hxx>
0020 #include <BRep_TVertex.hxx>
0021 #include <BRep_Tool.hxx>
0022 
0023 
0024 //=======================================================================
0025 //function : MakeFace
0026 //purpose  : 
0027 //=======================================================================
0028 
0029 inline void BRep_Builder::MakeFace(TopoDS_Face& F) const
0030 {
0031   Handle(BRep_TFace) TF = new BRep_TFace();
0032   MakeShape(F,TF);
0033 }
0034 
0035 
0036 //=======================================================================
0037 //function : MakeEdge
0038 //purpose  : make edge from curve 
0039 //=======================================================================
0040 
0041 inline void BRep_Builder::MakeEdge(TopoDS_Edge& E, 
0042                                    const Handle(Geom_Curve)& C, 
0043                                    const Standard_Real Tol) const
0044 {
0045   MakeEdge(E);
0046   UpdateEdge(E,C,TopLoc_Location(),Tol);
0047 }
0048 
0049 
0050 //=======================================================================
0051 //function : MakeEdge
0052 //purpose  : make edge from curve 
0053 //=======================================================================
0054 
0055 inline void BRep_Builder::MakeEdge(TopoDS_Edge& E, 
0056                                    const Handle(Poly_Polygon3D)& P) const
0057 {
0058   MakeEdge(E);
0059   UpdateEdge(E,P);
0060 }
0061 
0062 //=======================================================================
0063 //function : MakeEdge
0064 //purpose  : make edge from triangulation
0065 //=======================================================================
0066 
0067 inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
0068                                    const Handle(Poly_PolygonOnTriangulation)& P,
0069                                    const Handle(Poly_Triangulation)& T) const
0070 {
0071   MakeEdge(E);
0072   UpdateEdge(E,P,T,TopLoc_Location());
0073 }
0074 
0075 
0076 //=======================================================================
0077 //function : MakeEdge
0078 //purpose  : make edge from triangulation
0079 //=======================================================================
0080 
0081 inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
0082                                    const Handle(Poly_PolygonOnTriangulation)& P,
0083                                    const Handle(Poly_Triangulation)& T,
0084                                    const TopLoc_Location& L) const
0085 {
0086   MakeEdge(E);
0087   UpdateEdge(E,P,T,L);
0088 }
0089 
0090 
0091 //=======================================================================
0092 //function : MakeEdge
0093 //purpose  : make edge from curve 
0094 //=======================================================================
0095 
0096 inline void BRep_Builder::MakeEdge(TopoDS_Edge& E,
0097                                    const Handle(Geom_Curve)& C,
0098                                    const TopLoc_Location& L,
0099                                    const Standard_Real Tol) const
0100 {
0101   MakeEdge(E);
0102   UpdateEdge(E,C,L,Tol);
0103 }
0104 
0105 
0106 //=======================================================================
0107 //function : UpdateEdge
0108 //purpose  : 
0109 //=======================================================================
0110 
0111 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0112                                      const Handle(Geom_Curve)& C,
0113                                      const Standard_Real Tol) const
0114 {
0115   UpdateEdge(E,C,TopLoc_Location(),Tol);
0116 }
0117 
0118 
0119 //=======================================================================
0120 //function : UpdateEdge
0121 //purpose  : 
0122 //=======================================================================
0123 
0124 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0125                                      const Handle(Geom2d_Curve)& C,
0126                                      const TopoDS_Face& F,
0127                                      const Standard_Real Tol) const
0128 {
0129   TopLoc_Location l;
0130   UpdateEdge(E,C,BRep_Tool::Surface(F,l),l,Tol);
0131 }
0132 
0133 
0134 //=======================================================================
0135 //function : UpdateEdge
0136 //purpose  : 
0137 //=======================================================================
0138 
0139 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0140                                      const Handle(Geom2d_Curve)& C1,
0141                                      const Handle(Geom2d_Curve)& C2,
0142                                      const TopoDS_Face& F,
0143                                      const Standard_Real Tol) const
0144 {
0145   TopLoc_Location l;
0146   UpdateEdge(E,C1,C2,BRep_Tool::Surface(F,l),l,Tol);
0147 }
0148 
0149 
0150 //=======================================================================
0151 //function : UpdateEdge
0152 //purpose  : 
0153 //=======================================================================
0154 
0155 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0156                                      const Handle(Poly_Polygon3D)& P) const
0157 {
0158   UpdateEdge(E,P,TopLoc_Location());
0159 }
0160 
0161 
0162 //=======================================================================
0163 //function : UpdateEdge
0164 //purpose  : 
0165 //=======================================================================
0166 
0167 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0168                                      const Handle(Poly_PolygonOnTriangulation)& P,
0169                                      const Handle(Poly_Triangulation)& T) const
0170 {
0171   UpdateEdge(E,P,T,TopLoc_Location());
0172 }
0173 
0174 
0175 //=======================================================================
0176 //function : UpdateEdge
0177 //purpose  : 
0178 //=======================================================================
0179 
0180 inline void BRep_Builder::UpdateEdge(const TopoDS_Edge& E,
0181                                      const Handle(Poly_PolygonOnTriangulation)& P1,
0182                                      const Handle(Poly_PolygonOnTriangulation)& P2,
0183                                      const Handle(Poly_Triangulation)& T) const
0184 {
0185   UpdateEdge(E,P1,P2,T,TopLoc_Location());
0186 }
0187 
0188 
0189 //=======================================================================
0190 //function : Range
0191 //purpose  : 
0192 //=======================================================================
0193 
0194 inline void BRep_Builder::Range(const TopoDS_Edge& E, 
0195                                 const TopoDS_Face& F, 
0196                                 const Standard_Real First, 
0197                                 const Standard_Real Last) const
0198 {
0199   TopLoc_Location l;
0200   Range(E,BRep_Tool::Surface(F,l),l,First,Last);
0201 }
0202 
0203 
0204 //=======================================================================
0205 //function : MakeVertex
0206 //purpose  : undefined vertex
0207 //=======================================================================
0208 
0209 inline void BRep_Builder::MakeVertex(TopoDS_Vertex& V) const
0210 {
0211   Handle(BRep_TVertex) TV = new BRep_TVertex();
0212   MakeShape(V,TV);
0213 }
0214 
0215 
0216 //=======================================================================
0217 //function : MakeVertex
0218 //purpose  : vertex from 3d point
0219 //=======================================================================
0220 
0221 inline void BRep_Builder::MakeVertex(TopoDS_Vertex& V,
0222                                      const gp_Pnt& P,
0223                                      const Standard_Real Tol) const
0224 {
0225   MakeVertex(V);
0226   UpdateVertex(V,P,Tol);
0227 }
0228 
0229 
0230 //=======================================================================
0231 //function : UpdateVertex
0232 //purpose  : update vertex with parameter on edge on face
0233 //=======================================================================
0234 
0235 inline void BRep_Builder::UpdateVertex(const TopoDS_Vertex& V,
0236                                        const Standard_Real  Par,
0237                                        const TopoDS_Edge&   E,
0238                                        const TopoDS_Face&   F,
0239                                        const Standard_Real  Tol) const
0240 {
0241   TopLoc_Location l;
0242   UpdateVertex(V,Par,E,BRep_Tool::Surface(F,l),l,Tol);
0243 }