summaryrefslogtreecommitdiff
path: root/inc/BRepCheck_Wire.hxx
blob: 305427be6a84463a0b519a39f05704bb8dc03186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BRepCheck_Wire_HeaderFile
#define _BRepCheck_Wire_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_BRepCheck_Wire_HeaderFile
#include <Handle_BRepCheck_Wire.hxx>
#endif

#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _BRepCheck_Status_HeaderFile
#include <BRepCheck_Status.hxx>
#endif
#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
#endif
#ifndef _BRepCheck_Result_HeaderFile
#include <BRepCheck_Result.hxx>
#endif
class TopoDS_Wire;
class TopoDS_Shape;
class TopoDS_Face;
class TopoDS_Edge;



class BRepCheck_Wire : public BRepCheck_Result {

public:

  
  Standard_EXPORT   BRepCheck_Wire(const TopoDS_Wire& W);
  //! if <ContextShape> is  a  face, consequently checks <br>
//!          SelfIntersect(),   Closed(),   Orientation()   and <br>
//!          Closed2d until faulty is found <br>
  Standard_EXPORT     void InContext(const TopoDS_Shape& ContextShape) ;
  //! checks that the  wire  is  not empty and "connex". <br>
//!          Called by constructor <br>
  Standard_EXPORT     void Minimum() ;
  //! Does nothing <br>
  Standard_EXPORT     void Blind() ;
  //! Checks if the  oriented  edges of the wire  give a <br>
//!          closed  wire.   If the  wire   is closed,  returns <br>
//!          BRepCheck_NoError.    Warning :  if the first  and <br>
//!          last  edge   are  infinite,   the  wire   will  be <br>
//!          considered as a closed one.  If <Update> is set to <br>
//!          Standard_True, registers the status in the list. <br>
//!          May return (and registers): <br>
//!          **BRepCheck_NotConnected,   if    wire    is   not <br>
//!          topologically closed <br>
//!          **BRepCheck_RedundantEdge, if an  edge  is in wire <br>
//!          more than 3 times  or  in  case of 2 occurences if <br>
//!          not with FORWARD and REVERSED orientation. <br>
//!          **BRepCheck_NoError <br>
  Standard_EXPORT     BRepCheck_Status Closed(const Standard_Boolean Update = Standard_False) ;
  //! Checks if edges of the  wire give a wire closed in <br>
//!          2d space. <br>
//!          Returns BRepCheck_NoError,  or BRepCheck_NotClosed <br>
//!          If <Update> is set to Standard_True, registers the <br>
//!          status in the list. <br>
  Standard_EXPORT     BRepCheck_Status Closed2d(const TopoDS_Face& F,const Standard_Boolean Update = Standard_False) ;
  //! Checks   if  the oriented edges   of  the wire are <br>
//!          correctly oriented.  An  internal call is made  to <br>
//!          the  method Closed.   If no face  exists, call the <br>
//!          method with   a  null  face  (TopoDS_face()).   If <br>
//!          <Update> is  set  to Standard_True,  registers the <br>
//!          status in the list. <br>
//!          May return (and registers): <br>
//!          BRepCheck_InvalidDegeneratedFlag, <br>
//!          BRepCheck_BadOrientationOfSubshape, <br>
//!          BRepCheck_NotClosed, <br>
//!          BRepCheck_NoError <br>
  Standard_EXPORT     BRepCheck_Status Orientation(const TopoDS_Face& F,const Standard_Boolean Update = Standard_False) ;
  //! Checks if  the wire intersect   itself on the face <br>
//!          <F>.  <E1>  and <E2>   are the first  intersecting <br>
//!          edges  found.  <E2>  may  be a  null  edge when  a <br>
//!          self-intersecting edge is found.If <Update> is set <br>
//!          to Standard_True,   registers  the  status in  the <br>
//!          list. <br>
//!          May return (and register): <br>
//!          BRepCheck_EmptyWire, <br>
//!          BRepCheck_SelfIntersectingWire, <br>
//!          BRepCheck_NoCurveOnSurface, <br>
//!          BRepCheck_NoError <br>
  Standard_EXPORT     BRepCheck_Status SelfIntersect(const TopoDS_Face& F,TopoDS_Edge& E1,TopoDS_Edge& E2,const Standard_Boolean Update = Standard_False) ;
  //! report SelfIntersect() check would be (is) done <br>
  Standard_EXPORT     Standard_Boolean GeometricControls() const;
  //! set SelfIntersect() to be checked <br>
  Standard_EXPORT     void GeometricControls(const Standard_Boolean B) ;




  DEFINE_STANDARD_RTTI(BRepCheck_Wire)

protected:




private: 


Standard_Boolean myCdone;
BRepCheck_Status myCstat;
TopTools_IndexedDataMapOfShapeListOfShape myMapVE;
Standard_Boolean myGctrl;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif