summaryrefslogtreecommitdiff
path: root/inc/ShapeFix_Shape.hxx
blob: 319f71bb40c57eb7a9ebd7a58f77a7cf09ba09bd (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
// 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 _ShapeFix_Shape_HeaderFile
#define _ShapeFix_Shape_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_ShapeFix_Shape_HeaderFile
#include <Handle_ShapeFix_Shape.hxx>
#endif

#ifndef _TopoDS_Shape_HeaderFile
#include <TopoDS_Shape.hxx>
#endif
#ifndef _Handle_ShapeFix_Solid_HeaderFile
#include <Handle_ShapeFix_Solid.hxx>
#endif
#ifndef _TopTools_MapOfShape_HeaderFile
#include <TopTools_MapOfShape.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _ShapeFix_Root_HeaderFile
#include <ShapeFix_Root.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Handle_ShapeFix_Shell_HeaderFile
#include <Handle_ShapeFix_Shell.hxx>
#endif
#ifndef _Handle_ShapeFix_Face_HeaderFile
#include <Handle_ShapeFix_Face.hxx>
#endif
#ifndef _Handle_ShapeFix_Wire_HeaderFile
#include <Handle_ShapeFix_Wire.hxx>
#endif
#ifndef _Handle_ShapeFix_Edge_HeaderFile
#include <Handle_ShapeFix_Edge.hxx>
#endif
#ifndef _ShapeExtend_Status_HeaderFile
#include <ShapeExtend_Status.hxx>
#endif
#ifndef _Handle_ShapeExtend_BasicMsgRegistrator_HeaderFile
#include <Handle_ShapeExtend_BasicMsgRegistrator.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class ShapeFix_Solid;
class TopoDS_Shape;
class ShapeFix_Shell;
class ShapeFix_Face;
class ShapeFix_Wire;
class ShapeFix_Edge;
class ShapeExtend_BasicMsgRegistrator;


//! Fixing shape in general <br>
class ShapeFix_Shape : public ShapeFix_Root {

public:

  //! Empty Constructor <br>
  Standard_EXPORT   ShapeFix_Shape();
  //! Initislises by shape. <br>
  Standard_EXPORT   ShapeFix_Shape(const TopoDS_Shape& shape);
  //! Initislises by shape. <br>
  Standard_EXPORT     void Init(const TopoDS_Shape& shape) ;
  //! Iterates on sub- shape and performs fixes <br>
  Standard_EXPORT     Standard_Boolean Perform() ;
  //! Returns resulting shape <br>
  Standard_EXPORT     TopoDS_Shape Shape() const;
  //! Returns tool for fixing solids. <br>
        Handle_ShapeFix_Solid FixSolidTool() const;
  //! Returns tool for fixing shells. <br>
        Handle_ShapeFix_Shell FixShellTool() const;
  //! Returns tool for fixing faces. <br>
        Handle_ShapeFix_Face FixFaceTool() const;
  //! Returns tool for fixing wires. <br>
        Handle_ShapeFix_Wire FixWireTool() const;
  //! Returns tool for fixing edges. <br>
        Handle_ShapeFix_Edge FixEdgeTool() const;
  //! Returns the status of the last Fix. <br>
//!          This can be a combination of the following flags: <br>
//!          ShapeExtend_DONE1: some free edges were fixed <br>
//!          ShapeExtend_DONE2: some free wires were fixed <br>
//!          ShapeExtend_DONE3: some free faces were fixed <br>
//!          ShapeExtend_DONE4: some free shells were fixed <br>
//!          ShapeExtend_DONE5: some free solids were fixed <br>
//!          ShapeExtend_DONE6: shapes in compound(s) were fixed <br>
  Standard_EXPORT     Standard_Boolean Status(const ShapeExtend_Status status) const;
  //! Sets message registrator <br>
  Standard_EXPORT   virtual  void SetMsgRegistrator(const Handle(ShapeExtend_BasicMsgRegistrator)& msgreg) ;
  //! Sets basic precision value (also to FixSolidTool) <br>
  Standard_EXPORT   virtual  void SetPrecision(const Standard_Real preci) ;
  //! Sets minimal allowed tolerance (also to FixSolidTool) <br>
  Standard_EXPORT   virtual  void SetMinTolerance(const Standard_Real mintol) ;
  //! Sets maximal allowed tolerance (also to FixSolidTool) <br>
  Standard_EXPORT   virtual  void SetMaxTolerance(const Standard_Real maxtol) ;
  //! Returns (modifiable) the mode for applying fixes of <br>
//!          ShapeFix_Solid, by default True. <br>
        Standard_Integer& FixSolidMode() ;
  //! Returns (modifiable) the mode for applying fixes of <br>
//!          ShapeFix_Shell, by default True. <br>
        Standard_Integer& FixFreeShellMode() ;
  //! Returns (modifiable) the mode for applying fixes of <br>
//!          ShapeFix_Face, by default True. <br>
        Standard_Integer& FixFreeFaceMode() ;
  //! Returns (modifiable) the mode for applying fixes of <br>
//!          ShapeFix_Wire, by default True. <br>
        Standard_Integer& FixFreeWireMode() ;
  //! Returns (modifiable) the mode for applying <br>
//!          ShapeFix::SameParameter after all fixes, by default True. <br>
        Standard_Integer& FixSameParameterMode() ;
  //! Returns (modifiable) the mode for applying <br>
//!          ShapeFix::FixVertexPosition before all fixes, by default False. <br>
        Standard_Integer& FixVertexPositionMode() ;




  DEFINE_STANDARD_RTTI(ShapeFix_Shape)

protected:

  
  Standard_EXPORT     void SameParameter(const TopoDS_Shape& shape,const Standard_Boolean force) ;

TopoDS_Shape myResult;
Handle_ShapeFix_Solid myFixSolid;
TopTools_MapOfShape myMapFixingShape;
Standard_Integer myFixSolidMode;
Standard_Integer myFixShellMode;
Standard_Integer myFixFaceMode;
Standard_Integer myFixWireMode;
Standard_Integer myFixSameParameterMode;
Standard_Integer myFixVertexPositionMode;
Standard_Integer myStatus;


private: 




};


#include <ShapeFix_Shape.lxx>



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


#endif