|
|
|||
File indexing completed on 2026-09-14 09:14:03
0001 // Created on: 1998-11-13 0002 // Created by: Jean-Michel BOULCOURT 0003 // Copyright (c) 1998-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 _BRepProj_Projection_HeaderFile 0018 #define _BRepProj_Projection_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 #include <Standard_Handle.hxx> 0023 0024 #include <TopoDS_Shape.hxx> 0025 #include <TopoDS_Compound.hxx> 0026 #include <NCollection_Sequence.hxx> 0027 #include <NCollection_HSequence.hxx> 0028 #include <Standard_Integer.hxx> 0029 #include <TopoDS_Wire.hxx> 0030 class gp_Dir; 0031 class gp_Pnt; 0032 0033 //! The Projection class provides conical and 0034 //! cylindrical projections of Edge or Wire on 0035 //! a Shape from TopoDS. The result will be a Edge 0036 //! or Wire from TopoDS. 0037 class BRepProj_Projection 0038 { 0039 public: 0040 DEFINE_STANDARD_ALLOC 0041 0042 //! Makes a Cylindrical projection of Wire om Shape 0043 Standard_EXPORT BRepProj_Projection(const TopoDS_Shape& Wire, 0044 const TopoDS_Shape& Shape, 0045 const gp_Dir& D); 0046 0047 //! Makes a Conical projection of Wire om Shape 0048 Standard_EXPORT BRepProj_Projection(const TopoDS_Shape& Wire, 0049 const TopoDS_Shape& Shape, 0050 const gp_Pnt& P); 0051 0052 //! returns False if the section failed 0053 bool IsDone() const; 0054 0055 //! Resets the iterator by resulting wires. 0056 void Init(); 0057 0058 //! Returns True if there is a current result wire 0059 bool More() const; 0060 0061 //! Move to the next result wire. 0062 void Next(); 0063 0064 //! Returns the current result wire. 0065 TopoDS_Wire Current() const; 0066 0067 //! Returns the complete result as compound of wires. 0068 TopoDS_Compound Shape() const; 0069 0070 private: 0071 //! Performs section of theShape by theTool 0072 //! and stores result in the fields. 0073 Standard_EXPORT void BuildSection(const TopoDS_Shape& Shape, const TopoDS_Shape& Tool); 0074 0075 bool myIsDone; 0076 TopoDS_Shape myLsh; 0077 TopoDS_Compound myShape; 0078 occ::handle<NCollection_HSequence<TopoDS_Shape>> mySection; 0079 int myItr; 0080 }; 0081 0082 #include <BRepProj_Projection.lxx> 0083 0084 #endif // _BRepProj_Projection_HeaderFile
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|