]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.jcae.opencascade/src/BRepBuilderAPI.i
Updated OpenCASCADE to 7.3.0
[simantics/3d.git] / org.jcae.opencascade / src / BRepBuilderAPI.i
index 30fc02859a6e3d2729c3174a6a1c195f8da8b1aa..66b208eb24af15dafab6e94c0468a9acb62daf2a 100644 (file)
-/*\r
- * Project Info:  http://jcae.sourceforge.net\r
- * \r
- * This program is free software; you can redistribute it and/or modify it under\r
- * the terms of the GNU Lesser General Public License as published by the Free\r
- * Software Foundation; either version 2.1 of the License, or (at your option)\r
- * any later version.\r
- *\r
- * This program is distributed in the hope that it will be useful, but WITHOUT\r
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more\r
- * details.\r
- *\r
- * You should have received a copy of the GNU Lesser General Public License\r
- * along with this program; if not, write to the Free Software Foundation, Inc.,\r
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.\r
- *\r
- * (C) Copyright 2005, by EADS CRC\r
- */\r
-\r
-%{\r
-#include <BRepBuilderAPI_Transform.hxx>\r
-#include <BRepBuilderAPI_ModifyShape.hxx>\r
-#include <BRepBuilderAPI_MakeShape.hxx>\r
-#include <BRepBuilderAPI_MakeWire.hxx>\r
-#include <BRepBuilderAPI_MakeVertex.hxx>\r
-#include <BRepBuilderAPI_MakeEdge.hxx>\r
-#include <BRepBuilderAPI_MakeFace.hxx>\r
-#include <BRepBuilderAPI_MakeShell.hxx>\r
-#include <BRepBuilderAPI_MakeSolid.hxx>\r
-#include <BRepBuilderAPI_NurbsConvert.hxx>\r
-#include <Standard_Version.hxx>\r
-#if OCC_VERSION_MAJOR >= 6\r
-#include <BRepBuilderAPI_Sewing.hxx>\r
-#else\r
-#include <BRepAlgo_Sewing.hxx>\r
-#define BRepBuilderAPI_Sewing BRepAlgo_Sewing\r
-#endif\r
-%}\r
-\r
-class BRepBuilderAPI_MakeShape\r
-{\r
-       //Hide the constructor to make this class abstract\r
-       BRepBuilderAPI_MakeShape()=0;\r
-       public:\r
-       %rename(shape) Shape;\r
-       const TopoDS_Shape& Shape() const;\r
-};\r
-\r
-class BRepBuilderAPI_ModifyShape: public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(modifiedShape) ModifiedShape;\r
-       BRepBuilderAPI_ModifyShape()=0;\r
-       public:\r
-       virtual const TopoDS_Shape& ModifiedShape(const TopoDS_Shape& S) const;\r
-};\r
-\r
-class BRepBuilderAPI_Transform : public BRepBuilderAPI_ModifyShape\r
-{\r
-       %rename(perform) Perform;\r
-       public:\r
-       BRepBuilderAPI_Transform(const gp_Trsf& T);\r
-       BRepBuilderAPI_Transform(const TopoDS_Shape& S, const gp_Trsf& T,\r
-               const Standard_Boolean Copy = Standard_False);\r
-       void Perform(const TopoDS_Shape& S,\r
-               const Standard_Boolean Copy = Standard_False) ;\r
-};\r
-\r
-class BRepBuilderAPI_MakeVertex: public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(vertex) Vertex;\r
-       public:\r
-       BRepBuilderAPI_MakeVertex(const gp_Pnt& P);\r
-       //const TopoDS_Vertex& Vertex() const;\r
-};\r
-\r
-class BRepBuilderAPI_MakeWire : public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(wire) Wire;\r
-       %rename(add) Add;\r
-       %rename(isDone) IsDone;\r
-       public:\r
-       BRepBuilderAPI_MakeWire();\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E);\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2);\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2,\r
-               const TopoDS_Edge& E3);\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2,\r
-               const TopoDS_Edge& E3,const TopoDS_Edge& E4);\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Wire& W);\r
-       BRepBuilderAPI_MakeWire(const TopoDS_Wire& W,const TopoDS_Edge& E);\r
-       void Add(const TopoDS_Edge& E) ;\r
-       void Add(const TopoDS_Wire& W) ;\r
-       void Add(const TopTools_ListOfShape & shapes);\r
-       Standard_Boolean IsDone() const;\r
-       //const TopoDS_Wire& Wire() const;\r
-};\r
-\r
-class BRepBuilderAPI_MakeEdge : public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(edge) Edge;\r
-       %rename(isDone) IsDone;\r
-       public:\r
-       BRepBuilderAPI_MakeEdge();\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L);\r
-       BRepBuilderAPI_MakeEdge(const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Circ& L);\r
-       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Parab& L);\r
-       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       Standard_Boolean IsDone() const;\r
-       //const TopoDS_Edge& Edge() const;\r
-\r
-\r
-\r
-\r
-       BRepBuilderAPI_MakeEdge(const gp_Lin& L);\r
-       BRepBuilderAPI_MakeEdge(const gp_Lin& L,const Standard_Real p1,const Standard_Real p2);\r
-    BRepBuilderAPI_MakeEdge(const gp_Lin& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-    BRepBuilderAPI_MakeEdge(const gp_Lin& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-    BRepBuilderAPI_MakeEdge(const gp_Elips& L);\r
-       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Hypr& L);\r
-       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const Standard_Real p1,const Standard_Real p2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const gp_Pnt& P1,const gp_Pnt& P2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);\r
-       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Real p1,const Standard_Real p2);\r
-\r
-\r
-};\r
-\r
-class BRepBuilderAPI_MakeFace  : public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(face) Face;\r
-       %rename(isDone) IsDone;\r
-       %rename(error) Error;\r
-       public:\r
-       BRepBuilderAPI_MakeFace(const TopoDS_Wire& W,\r
-               const Standard_Boolean OnlyPlane = Standard_False);\r
-    BRepBuilderAPI_MakeFace(const TopoDS_Face& F,const TopoDS_Wire& W);\r
-       //const TopoDS_Face& Face() const;\r
-\r
-       Standard_Boolean IsDone() const;\r
-    BRepBuilderAPI_FaceError Error() const;\r
-};\r
-\r
-class BRepBuilderAPI_MakeSolid: public BRepBuilderAPI_MakeShape\r
-{\r
-       %rename(add) Add;\r
-       %rename(isDone) IsDone;\r
-       %rename(isDeleted) IsDeleted;\r
-       public:\r
-       BRepBuilderAPI_MakeSolid();\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_CompSolid& S);\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S);\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1,const TopoDS_Shell& S2);\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1,const TopoDS_Shell& S2,const TopoDS_Shell& S3);\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So);\r
-       BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So,const TopoDS_Shell& S);\r
-       void Add(const TopoDS_Shell& S) ;\r
-       Standard_Boolean IsDone() const;\r
-       Standard_Boolean IsDeleted(const TopoDS_Shape& S) ;\r
-};\r
-\r
-class BRepBuilderAPI_Sewing\r
-{\r
-       public:\r
-       \r
-       %rename(init) Init;\r
-       %rename(add) Add;\r
-       %rename(perform) Perform;\r
-       %rename(sewedShape) SewedShape;\r
-\r
-       %rename(load) Load;\r
-       %rename(nbFreeEdges) NbFreeEdges;\r
-       %rename(freeEdge) FreeEdge;\r
-       %rename(nbMultipleEdges) NbMultipleEdges;\r
-       %rename(multipleEdge) MultipleEdge;\r
-       %rename(nbDegeneratedShapes) NbDegeneratedShapes;\r
-       %rename(degeneratedShape) DegeneratedShape;\r
-       %rename(nbDeletedFaces) NbDeletedFaces;\r
-       %rename(deletedFace) DeletedFace;\r
-       %rename(isDegenerated) IsDegenerated;\r
-       %rename(isModified) IsModified;\r
-       %rename(modified) Modified;\r
-       %rename(dump) Dump;\r
-\r
-       %rename(isModifiedSubShape) IsModifiedSubShape;\r
-       %rename(modifiedSubShape) ModifiedSubShape;\r
-\r
-       BRepBuilderAPI_Sewing(const Standard_Real tolerance = 1.0e-06,\r
-               const Standard_Boolean option = Standard_True,\r
-               const Standard_Boolean cutting = Standard_True,\r
-               const Standard_Boolean nonmanifold = Standard_False);\r
-       void Init(const Standard_Real tolerance,\r
-               const Standard_Boolean option = Standard_True,\r
-               const Standard_Boolean cutting = Standard_True,\r
-               const Standard_Boolean nonmanifold = Standard_False) ;\r
-       void Load(const TopoDS_Shape& shape) ;\r
-       void Add(const TopoDS_Shape& shape) ;\r
-       void Perform() ;\r
-       const TopoDS_Shape& SewedShape() const;\r
-       Standard_Integer NbFreeEdges() const;\r
-       const TopoDS_Edge& FreeEdge(const Standard_Integer index) const;\r
-       Standard_Integer NbMultipleEdges() const;\r
-       const TopoDS_Edge& MultipleEdge(const Standard_Integer index) const;\r
-       Standard_Integer NbDegeneratedShapes() const;\r
-       const TopoDS_Shape& DegeneratedShape(const Standard_Integer index) const;\r
-       Standard_Integer NbDeletedFaces() const;\r
-       const TopoDS_Face& DeletedFace(const Standard_Integer index) const;\r
-       Standard_Boolean IsDegenerated(const TopoDS_Shape& shape) const;\r
-       Standard_Boolean IsModified(const TopoDS_Shape& shape) const;\r
-       const TopoDS_Shape& Modified(const TopoDS_Shape& shape) const;\r
-       void Dump() const;\r
-\r
-       Standard_Boolean IsModifiedSubShape(const TopoDS_Shape& shape) const;\r
-       TopoDS_Shape ModifiedSubShape(const TopoDS_Shape& shape) const;\r
-};\r
-\r
-class BRepBuilderAPI_NurbsConvert : public BRepBuilderAPI_ModifyShape\r
-{\r
-       %rename(perform) Perform;\r
-       public:\r
-       BRepBuilderAPI_NurbsConvert();\r
-       BRepBuilderAPI_NurbsConvert(const TopoDS_Shape& S,\r
-               const Standard_Boolean Copy = Standard_False);\r
-       void Perform(const TopoDS_Shape& S,\r
-               const Standard_Boolean Copy = Standard_False) ;\r
-};\r
-\r
-/**\r
-  * VTT\r
-*/\r
-\r
-class BRepBuilderAPI_MakeShell  : public BRepBuilderAPI_MakeShape {\r
-  %rename(init) Init;\r
-  %rename(isDone) IsDone;\r
-  %rename(error) Error;\r
-  public:\r
-  BRepBuilderAPI_MakeShell();\r
-  BRepBuilderAPI_MakeShell(const Handle_Geom_Surface& S,const Standard_Boolean Segment = Standard_False);\r
-  BRepBuilderAPI_MakeShell(const Handle_Geom_Surface& S,const Standard_Real UMin,const Standard_Real UMax,const Standard_Real VMin,const Standard_Real VMax,const Standard_Boolean Segment = Standard_False);\r
-  void Init(const Handle_Geom_Surface& S,const Standard_Real UMin,const Standard_Real UMax,const Standard_Real VMin,const Standard_Real VMax,const Standard_Boolean Segment = Standard_False) ;\r
-  Standard_Boolean IsDone() const;\r
-  BRepBuilderAPI_ShellError Error();\r
-  const TopoDS_Shell& Shell();\r
+/*/*
+ * Project Info:  http://jcae.sourceforge.net
+ * 
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * (C) Copyright 2005, by EADS CRC
+ */
+
+%{
+#include <BRepBuilderAPI_Transform.hxx>
+#include <BRepBuilderAPI_ModifyShape.hxx>
+#include <BRepBuilderAPI_MakeShape.hxx>
+#include <BRepBuilderAPI_MakeWire.hxx>
+#include <BRepBuilderAPI_MakeVertex.hxx>
+#include <BRepBuilderAPI_MakeEdge.hxx>
+#include <BRepBuilderAPI_MakeFace.hxx>
+#include <BRepBuilderAPI_MakeShell.hxx>
+#include <BRepBuilderAPI_MakeSolid.hxx>
+#include <BRepBuilderAPI_NurbsConvert.hxx>
+#include <BRepOffsetAPI_ThruSections.hxx>
+#include <Standard_Version.hxx>
+#if OCC_VERSION_MAJOR >= 6
+#include <BRepBuilderAPI_Sewing.hxx>
+#else
+#include <BRepAlgo_Sewing.hxx>
+#define BRepBuilderAPI_Sewing BRepAlgo_Sewing
+#endif
+%}
+
+class BRepBuilderAPI_Command
+{
+       %rename(isDone) IsDone;
+       BRepBuilderAPI_Command()=0;
+       public:
+       virtual Standard_Boolean  IsDone() const;
+};
+
+class BRepBuilderAPI_MakeShape: public BRepBuilderAPI_Command
+{
+       //Hide the constructor to make this class abstract
+       BRepBuilderAPI_MakeShape()=0;
+       public:
+       %rename(build) Build;
+       %rename(shape) Shape;
+       virtual void Build();
+       // FIXME: 7.3.0
+       //const TopoDS_Shape& Shape() const;
+       const TopoDS_Shape& Shape();
+};
+
+class BRepBuilderAPI_ModifyShape: public BRepBuilderAPI_MakeShape
+{
+       BRepBuilderAPI_ModifyShape()=0;
+       public:
+};
+
+%extend BRepBuilderAPI_ModifyShape {
+    // Use %extend to be compatible with OCE < 0.18 and OCE >= 0.18
+       TopoDS_Shape modifiedShape(const TopoDS_Shape& S) const {
+               return self->ModifiedShape(S);
+       }
+}
+
+class BRepBuilderAPI_Transform : public BRepBuilderAPI_ModifyShape
+{
+       %rename(perform) Perform;
+       public:
+       BRepBuilderAPI_Transform(const gp_Trsf& T);
+       BRepBuilderAPI_Transform(const TopoDS_Shape& S, const gp_Trsf& T,
+               const Standard_Boolean Copy = Standard_False);
+       void Perform(const TopoDS_Shape& S,
+               const Standard_Boolean Copy = Standard_False) ;
+};
+
+class BRepBuilderAPI_MakeVertex: public BRepBuilderAPI_MakeShape
+{
+       %rename(vertex) Vertex;
+       public:
+       BRepBuilderAPI_MakeVertex(const gp_Pnt& P);
+       //const TopoDS_Vertex& Vertex() const;
+};
+
+class BRepBuilderAPI_MakeWire : public BRepBuilderAPI_MakeShape
+{
+       %rename(wire) Wire;
+       %rename(add) Add;
+       %rename(isDone) IsDone;
+       public:
+       BRepBuilderAPI_MakeWire();
+       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E);
+       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2);
+       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2,
+               const TopoDS_Edge& E3);
+       BRepBuilderAPI_MakeWire(const TopoDS_Edge& E1,const TopoDS_Edge& E2,
+               const TopoDS_Edge& E3,const TopoDS_Edge& E4);
+       BRepBuilderAPI_MakeWire(const TopoDS_Wire& W);
+       BRepBuilderAPI_MakeWire(const TopoDS_Wire& W,const TopoDS_Edge& E);
+       void Add(const TopoDS_Edge& E) ;
+       void Add(const TopoDS_Wire& W) ;
+       void Add(const TopTools_ListOfShape & shapes);
+       Standard_Boolean IsDone() const;
+       const TopoDS_Wire& Wire();
+};
+
+class BRepBuilderAPI_MakeEdge : public BRepBuilderAPI_MakeShape
+{
+       %rename(edge) Edge;
+       %rename(isDone) IsDone;
+       public:
+       BRepBuilderAPI_MakeEdge();
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L);
+       BRepBuilderAPI_MakeEdge(const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const gp_Circ& L);
+       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const gp_Circ& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const gp_Parab& L);
+       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const gp_Parab& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L, const Handle_Geom_Surface& S);
+    BRepBuilderAPI_MakeEdge(const Handle_Geom_TrimmedCurve& L);
+       Standard_Boolean IsDone() const;
+       // FIXME: 7.3.0
+       //const TopoDS_Edge& Edge() const;
+       const TopoDS_Edge& Edge();
+       
+       BRepBuilderAPI_MakeEdge(const gp_Lin& L);
+       BRepBuilderAPI_MakeEdge(const gp_Lin& L,const Standard_Real p1,const Standard_Real p2);
+    BRepBuilderAPI_MakeEdge(const gp_Lin& L,const gp_Pnt& P1,const gp_Pnt& P2);
+    BRepBuilderAPI_MakeEdge(const gp_Lin& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+    BRepBuilderAPI_MakeEdge(const gp_Elips& L);
+       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const gp_Elips& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const gp_Hypr& L);
+       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const gp_Hypr& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom_Curve& L,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const Standard_Real p1,const Standard_Real p2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const gp_Pnt& P1,const gp_Pnt& P2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const TopoDS_Vertex& V1,const TopoDS_Vertex& V2);
+       BRepBuilderAPI_MakeEdge(const Handle_Geom2d_Curve& L,const Handle_Geom_Surface& S,const gp_Pnt& P1,const gp_Pnt& P2,const Standard_Real p1,const Standard_Real p2);
+       
+};
+
+class BRepBuilderAPI_MakeFace  : public BRepBuilderAPI_MakeShape
+{
+       %rename(face) Face;
+       public:
+       BRepBuilderAPI_MakeFace(const TopoDS_Wire& W,
+               const Standard_Boolean OnlyPlane = Standard_False);
+    BRepBuilderAPI_MakeFace(const TopoDS_Face& F,const TopoDS_Wire& W);
+       //const TopoDS_Face& Face() const;
+};
+
+class BRepBuilderAPI_MakeSolid: public BRepBuilderAPI_MakeShape
+{
+       %rename(add) Add;
+       %rename(isDone) IsDone;
+       %rename(isDeleted) IsDeleted;
+       public:
+       BRepBuilderAPI_MakeSolid();
+       BRepBuilderAPI_MakeSolid(const TopoDS_CompSolid& S);
+       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S);
+       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1,const TopoDS_Shell& S2);
+       BRepBuilderAPI_MakeSolid(const TopoDS_Shell& S1,const TopoDS_Shell& S2,const TopoDS_Shell& S3);
+       BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So);
+       BRepBuilderAPI_MakeSolid(const TopoDS_Solid& So,const TopoDS_Shell& S);
+       void Add(const TopoDS_Shell& S) ;
+       Standard_Boolean IsDone() const;
+       Standard_Boolean IsDeleted(const TopoDS_Shape& S) ;
+};
+
+class BRepBuilderAPI_Sewing
+{
+       public:
+       
+       %rename(init) Init;
+       %rename(add) Add;
+       %rename(perform) Perform;
+       %rename(sewedShape) SewedShape;
+
+       %rename(load) Load;
+       %rename(nbFreeEdges) NbFreeEdges;
+       %rename(freeEdge) FreeEdge;
+       %rename(nbMultipleEdges) NbMultipleEdges;
+       %rename(multipleEdge) MultipleEdge;
+       %rename(nbDegeneratedShapes) NbDegeneratedShapes;
+       %rename(degeneratedShape) DegeneratedShape;
+       %rename(nbDeletedFaces) NbDeletedFaces;
+       %rename(deletedFace) DeletedFace;
+       %rename(isDegenerated) IsDegenerated;
+       %rename(isModified) IsModified;
+       %rename(modified) Modified;
+       %rename(dump) Dump;
+
+       %rename(isModifiedSubShape) IsModifiedSubShape;
+       %rename(modifiedSubShape) ModifiedSubShape;
+
+       BRepBuilderAPI_Sewing(const Standard_Real tolerance = 1.0e-06,
+               const Standard_Boolean option = Standard_True,
+               const Standard_Boolean cutting = Standard_True,
+               const Standard_Boolean nonmanifold = Standard_False);
+       void Init(const Standard_Real tolerance,
+               const Standard_Boolean option = Standard_True,
+               const Standard_Boolean cutting = Standard_True,
+               const Standard_Boolean nonmanifold = Standard_False) ;
+       void Load(const TopoDS_Shape& shape) ;
+       void Add(const TopoDS_Shape& shape) ;
+       void Perform() ;
+       const TopoDS_Shape& SewedShape() const;
+       Standard_Integer NbFreeEdges() const;
+       const TopoDS_Edge& FreeEdge(const Standard_Integer index) const;
+       Standard_Integer NbMultipleEdges() const;
+       const TopoDS_Edge& MultipleEdge(const Standard_Integer index) const;
+       Standard_Integer NbDegeneratedShapes() const;
+       const TopoDS_Shape& DegeneratedShape(const Standard_Integer index) const;
+       Standard_Integer NbDeletedFaces() const;
+       const TopoDS_Face& DeletedFace(const Standard_Integer index) const;
+       Standard_Boolean IsDegenerated(const TopoDS_Shape& shape) const;
+       Standard_Boolean IsModified(const TopoDS_Shape& shape) const;
+       const TopoDS_Shape& Modified(const TopoDS_Shape& shape) const;
+       void Dump() const;
+
+       Standard_Boolean IsModifiedSubShape(const TopoDS_Shape& shape) const;
+       TopoDS_Shape ModifiedSubShape(const TopoDS_Shape& shape) const;
+};
+
+class BRepBuilderAPI_NurbsConvert : public BRepBuilderAPI_ModifyShape
+{
+       %rename(perform) Perform;
+       public:
+       BRepBuilderAPI_NurbsConvert();
+       BRepBuilderAPI_NurbsConvert(const TopoDS_Shape& S,
+               const Standard_Boolean Copy = Standard_False);
+       void Perform(const TopoDS_Shape& S,
+               const Standard_Boolean Copy = Standard_False) ;
+};
+
+class BRepOffsetAPI_ThruSections  : public BRepBuilderAPI_MakeShape
+{
+public:
+       %rename(addWire) AddWire;
+       %rename(checkCompatibility) CheckCompatibility;
+
+       %rename(init) Init;
+       %rename(addVertex) AddVertex;
+       %rename(build) Build;
+
+       BRepOffsetAPI_ThruSections(const Standard_Boolean isSolid = Standard_False, const Standard_Boolean ruled = Standard_False, const Standard_Real pres3d = 1.0e-06);
+       void AddWire (const TopoDS_Wire& wire) ;
+       void CheckCompatibility (const Standard_Boolean check = Standard_True) ;
+    const  TopoDS_Shape& Shape();
+
+       void Init(const Standard_Boolean isSolid = Standard_False,const Standard_Boolean ruled = Standard_False,const Standard_Real pres3d = 1.0e-06) ;
+       void AddVertex(const TopoDS_Vertex& aVertex) ;
+       void Build();
+};
+
+/**
+  * VTT
+*/
+
+class BRepBuilderAPI_MakeShell  : public BRepBuilderAPI_MakeShape {
+  %rename(init) Init;
+  %rename(isDone) IsDone;
+  %rename(error) Error;
+  public:
+  BRepBuilderAPI_MakeShell();
+  BRepBuilderAPI_MakeShell(const Handle_Geom_Surface& S,const Standard_Boolean Segment = Standard_False);
+  BRepBuilderAPI_MakeShell(const Handle_Geom_Surface& S,const Standard_Real UMin,const Standard_Real UMax,const Standard_Real VMin,const Standard_Real VMax,const Standard_Boolean Segment = Standard_False);
+  void Init(const Handle_Geom_Surface& S,const Standard_Real UMin,const Standard_Real UMax,const Standard_Real VMin,const Standard_Real VMax,const Standard_Boolean Segment = Standard_False) ;
+  Standard_Boolean IsDone() const;
+  BRepBuilderAPI_ShellError Error();
+  const TopoDS_Shell& Shell();
 };
\ No newline at end of file