1 // Created on: 1993-06-08
2 // Created by: Laurent BOURESCHE
3 // Copyright (c) 1993-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
6 // This file is part of Open CASCADE Technology software library.
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
17 #ifndef _BRepSweep_Tool_HeaderFile
18 #define _BRepSweep_Tool_HeaderFile
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
24 #include <TopTools_IndexedMapOfShape.hxx>
25 #include <TopAbs_ShapeEnum.hxx>
26 #include <TopAbs_Orientation.hxx>
30 //! Provides the indexation and type analysis services
31 //! required by the TopoDS generating Shape of BRepSweep.
39 //! Initialize the tool with <aShape>. The IndexTool
40 //! must prepare an indexation for all the subshapes
42 Standard_EXPORT BRepSweep_Tool(const TopoDS_Shape& aShape);
44 //! Returns the number of subshapes in the shape.
45 Standard_EXPORT Standard_Integer NbShapes() const;
47 //! Returns the index of <aShape>.
48 Standard_EXPORT Standard_Integer Index (const TopoDS_Shape& aShape) const;
50 //! Returns the Shape at Index anIdex.
51 Standard_EXPORT TopoDS_Shape Shape (const Standard_Integer anIndex) const;
53 //! Returns the type of <aShape>.
54 Standard_EXPORT TopAbs_ShapeEnum Type (const TopoDS_Shape& aShape) const;
56 //! Returns the Orientation of <aShape>.
57 Standard_EXPORT TopAbs_Orientation Orientation (const TopoDS_Shape& aShape) const;
59 //! Set the Orientation of <aShape> with Or.
60 Standard_EXPORT void SetOrientation (TopoDS_Shape& aShape, const TopAbs_Orientation Or) const;
75 TopTools_IndexedMapOfShape myMap;
86 #endif // _BRepSweep_Tool_HeaderFile