summaryrefslogtreecommitdiff
path: root/inc/ShapeFix_Shell.hxx
blob: 2e4d7bf2a788b797d8df3c5b45edf5f9dd3b7d7a (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
// 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_Shell_HeaderFile
#define _ShapeFix_Shell_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_ShapeFix_Shell_HeaderFile
#include <Handle_ShapeFix_Shell.hxx>
#endif

#ifndef _TopoDS_Shell_HeaderFile
#include <TopoDS_Shell.hxx>
#endif
#ifndef _TopoDS_Compound_HeaderFile
#include <TopoDS_Compound.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_ShapeFix_Face_HeaderFile
#include <Handle_ShapeFix_Face.hxx>
#endif
#ifndef _ShapeFix_Root_HeaderFile
#include <ShapeFix_Root.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.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_Face;
class TopoDS_Shell;
class TopoDS_Shape;
class TopoDS_Compound;
class ShapeExtend_BasicMsgRegistrator;


//! Fixing orientation of faces in shell <br>
class ShapeFix_Shell : public ShapeFix_Root {

public:

  //! Empty constructor <br>
  Standard_EXPORT   ShapeFix_Shell();
  //! Initializes by shell. <br>
  Standard_EXPORT   ShapeFix_Shell(const TopoDS_Shell& shape);
  //! Initializes by shell. <br>
  Standard_EXPORT     void Init(const TopoDS_Shell& shell) ;
  //! Iterates on subshapes and performs fixes <br>
//!          (for each face calls ShapeFix_Face::Perform and <br>
//!          then calls FixFaceOrientation) <br>
  Standard_EXPORT     Standard_Boolean Perform() ;
  //! Fixes orientation of faces in shell. <br>
//!          Changes orientation of face in the shell, if it is oriented opposite <br>
//!          to neigbouring faces. If it is not possible to orient all faces in the <br>
//!          shell (like in case of mebious band), this method orients only subset <br>
//!          of faces. Other faces are stored in Error compound. <br>
//!          Modes : <br>
//!    	    isAccountMultiConex - mode for account cases of multiconnexity. <br>
//!          If this mode is equal to Standard_True, separate shells will be created <br>
//!          in the cases of multiconnexity. If this mode is equal to Standard_False, <br>
//!          one shell will be created without account of multiconnexity.By defautt - Standard_True; <br>
//!          NonManifold - mode for creation of non-manifold shells. <br>
//!          If this mode is equal to Standard_True one non-manifold will be created from shell <br>
//!          contains multishared edges. Else if this mode is equal to Standard_False only <br>
//!          manifold shells will be created. By default - Standard_False. <br>
//! <br>
  Standard_EXPORT     Standard_Boolean FixFaceOrientation(const TopoDS_Shell& shell,const Standard_Boolean isAccountMultiConex = Standard_True,const Standard_Boolean NonManifold = Standard_False) ;
  //! Returns fixed shell (or subset of oriented faces). <br>
  Standard_EXPORT     TopoDS_Shell Shell() ;
  //! In case of multiconnexity returns compound of fixed shells <br>
//!          else returns one shell.. <br>
  Standard_EXPORT     TopoDS_Shape Shape() ;
  //! Returns Number of obtainrd shells; <br>
  Standard_EXPORT     Standard_Integer NbShells() const;
  //! Returns not oriented subset of faces. <br>
  Standard_EXPORT     TopoDS_Compound ErrorFaces() const;
  //! Returns the status of the last Fix. <br>
  Standard_EXPORT     Standard_Boolean Status(const ShapeExtend_Status status) const;
  //! Returns tool for fixing faces. <br>
        Handle_ShapeFix_Face FixFaceTool() ;
  //! Sets message registrator <br>
  Standard_EXPORT   virtual  void SetMsgRegistrator(const Handle(ShapeExtend_BasicMsgRegistrator)& msgreg) ;
  //! Sets basic precision value (also to FixWireTool) <br>
  Standard_EXPORT   virtual  void SetPrecision(const Standard_Real preci) ;
  //! Sets minimal allowed tolerance (also to FixWireTool) <br>
  Standard_EXPORT   virtual  void SetMinTolerance(const Standard_Real mintol) ;
  //! Sets maximal allowed tolerance (also to FixWireTool) <br>
  Standard_EXPORT   virtual  void SetMaxTolerance(const Standard_Real maxtol) ;
  //! Returns (modifiable) the mode for applying fixes of <br>
//!          ShapeFix_Face, by default True. <br>
        Standard_Integer& FixFaceMode() ;
  //! Returns (modifiable) the mode for applying <br>
//!          FixFaceOrientation, by default True. <br>
        Standard_Integer& FixOrientationMode() ;




  DEFINE_STANDARD_RTTI(ShapeFix_Shell)

protected:


TopoDS_Shell myShell;
TopoDS_Compound myErrFaces;
Standard_Integer myStatus;
Handle_ShapeFix_Face myFixFace;
Standard_Integer myFixFaceMode;
Standard_Integer myFixOrientationMode;
Standard_Integer myNbShells;


private: 




};


#include <ShapeFix_Shell.lxx>



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


#endif