|
||||
File indexing completed on 2024-11-15 09:46:01
0001 // Created on: 1997-01-17 0002 // Created by: Didier PIFFAULT 0003 // Copyright (c) 1997-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 _BRepAlgo_HeaderFile 0018 #define _BRepAlgo_HeaderFile 0019 0020 #include <GeomAbs_Shape.hxx> 0021 #include <TopTools_ListOfShape.hxx> 0022 class TopoDS_Wire; 0023 class TopoDS_Edge; 0024 class TopoDS_Face; 0025 class TopoDS_Shape; 0026 0027 0028 //! The BRepAlgo class provides the following tools for: 0029 //! - Checking validity of the shape; 0030 //! - Concatenation of the edges of the wire. 0031 class BRepAlgo 0032 { 0033 public: 0034 0035 //! this method makes a wire whose edges are C1 from 0036 //! a Wire whose edges could be G1. It removes a vertex 0037 //! between G1 edges. 0038 //! Option can be G1 or C1. 0039 Standard_EXPORT static TopoDS_Wire ConcatenateWire (const TopoDS_Wire& Wire, 0040 const GeomAbs_Shape Option, 0041 const Standard_Real AngularTolerance = 1.0e-4); 0042 0043 //! this method makes an edge from a wire. 0044 //! Junction points between edges of wire may be sharp, 0045 //! resulting curve of the resulting edge may be C0. 0046 Standard_EXPORT static TopoDS_Edge ConcatenateWireC0 (const TopoDS_Wire& Wire); 0047 0048 //! Method of wire conversion, calls BRepAlgo_Approx internally. 0049 //! @param theWire 0050 //! Input Wire object. 0051 //! @param theAngleTolerance 0052 //! Angle (in radians) defining the continuity of the wire: if two vectors 0053 //! differ by less than this angle, the result will be smooth (zero angle of 0054 //! tangent lines between curve elements). 0055 //! @return 0056 //! The new TopoDS_Wire object consisting of edges each representing an arc 0057 //! of circle or a linear segment. The accuracy of conversion is defined 0058 //! as the maximal tolerance of edges in theWire. 0059 static Standard_EXPORT TopoDS_Wire ConvertWire 0060 (const TopoDS_Wire& theWire, 0061 const Standard_Real theAngleTolerance, 0062 const TopoDS_Face& theFace); 0063 0064 //! Method of face conversion. The API corresponds to the method ConvertWire. 0065 //! This is a shortcut for calling ConvertWire() for each wire in theFace. 0066 static Standard_EXPORT TopoDS_Face ConvertFace 0067 (const TopoDS_Face& theFace, 0068 const Standard_Real theAngleTolerance); 0069 0070 //! Checks if the shape is "correct". If not, returns 0071 //! <Standard_False>, else returns <Standard_True>. 0072 Standard_EXPORT static Standard_Boolean IsValid (const TopoDS_Shape& S); 0073 0074 //! Checks if the Generated and Modified Faces from 0075 //! the shapes <arguments> in the shape <result> are 0076 //! "correct". The args may be empty, then all faces 0077 //! will be checked. 0078 //! If <Closed> is True, only closed shape are valid. 0079 //! If <GeomCtrl> is False the geometry of new 0080 //! vertices and edges are not verified and the 0081 //! auto-intersection of new wires are not searched. 0082 Standard_EXPORT static Standard_Boolean IsValid (const TopTools_ListOfShape& theArgs, 0083 const TopoDS_Shape& theResult, 0084 const Standard_Boolean closedSolid = Standard_False, 0085 const Standard_Boolean GeomCtrl = Standard_True); 0086 0087 //! Checks if the shape is "correct". 0088 //! If not, returns FALSE, else returns TRUE. 0089 //! This method differs from the previous one in the fact that no geometric controls 0090 //! (intersection of wires, pcurve validity) are performed. 0091 Standard_EXPORT static Standard_Boolean IsTopologicallyValid (const TopoDS_Shape& S); 0092 0093 }; 0094 0095 #endif // _BRepAlgo_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |