summaryrefslogtreecommitdiff
path: root/inc/BRepAlgo.hxx
blob: de2912dd3a3e43310329f093d9cf6c605dc37158 (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
// 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 _BRepAlgo_HeaderFile
#define _BRepAlgo_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _GeomAbs_Shape_HeaderFile
#include <GeomAbs_Shape.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class TopoDS_Wire;
class TopoDS_Shape;
class TopTools_ListOfShape;
class BRepAlgo_BooleanOperation;
class BRepAlgo_Fuse;
class BRepAlgo_Cut;
class BRepAlgo_Common;
class BRepAlgo_Section;
class BRepAlgo_Loop;
class BRepAlgo_Tool;
class BRepAlgo_Image;
class BRepAlgo_AsDes;
class BRepAlgo_FaceRestrictor;
class BRepAlgo_BooleanOperations;
class BRepAlgo_DSAccess;
class BRepAlgo_TopOpe;
class BRepAlgo_EdgeConnector;
class BRepAlgo_NormalProjection;
class BRepAlgo_DataMapOfShapeBoolean;
class BRepAlgo_DataMapOfShapeInterference;
class BRepAlgo_SequenceOfSequenceOfInteger;
class BRepAlgo_DataMapNodeOfDataMapOfShapeBoolean;
class BRepAlgo_DataMapIteratorOfDataMapOfShapeBoolean;
class BRepAlgo_DataMapNodeOfDataMapOfShapeInterference;
class BRepAlgo_DataMapIteratorOfDataMapOfShapeInterference;
class BRepAlgo_SequenceNodeOfSequenceOfSequenceOfInteger;



//! The BRepAlgo package provides a full range of <br>
//! services to perform Old Boolean Operations in Open CASCADE. <br>
//!   Attention: <br>
//! The New Boolean Operation has replaced the Old <br>
//! Boolean Operations algorithm in the BrepAlgoAPI <br>
//! package in Open CASCADE. <br>
class BRepAlgo  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
  Standard_EXPORT   static  TopoDS_Wire ConcatenateWire(const TopoDS_Wire& Wire,const GeomAbs_Shape Option,const Standard_Real AngularTolerance = 1.0e-4) ;
  //! Checks if the  shape is "correct". If not, returns <br>
//!          <Standard_False>, else returns <Standard_True>. <br>
  Standard_EXPORT   static  Standard_Boolean IsValid(const TopoDS_Shape& S) ;
  //! Checks if  the  Generated and Modified Faces  from <br>
//!          the shapes <arguments> in  the shape <result>  are <br>
//!          "correct". The args   may be empty, then all faces <br>
//!          will be checked. <br>
//!          If <Closed> is True,  only  closed shape are valid. <br>
//!           If <GeomCtrl>  is    False the geometry  of   new <br>
//!            vertices and edges   are   not verified and  the <br>
//!          auto-intersection of new wires are not searched. <br>
  Standard_EXPORT   static  Standard_Boolean IsValid(const TopTools_ListOfShape& theArgs,const TopoDS_Shape& theResult,const Standard_Boolean closedSolid = Standard_False,const Standard_Boolean GeomCtrl = Standard_True) ;
  //! Checks if the shape is  "correct". If not, returns <br>
//!          <Standard_False>,  else   returns <Standard_True>. <br>
//!          This method differs from  the previous one in  the <br>
//!          fact that no   geometric contols (intersection  of <br>
//!          wires, pcurve validity) are performed. <br>
  Standard_EXPORT   static  Standard_Boolean IsTopologicallyValid(const TopoDS_Shape& S) ;





protected:





private:




friend class BRepAlgo_BooleanOperation;
friend class BRepAlgo_Fuse;
friend class BRepAlgo_Cut;
friend class BRepAlgo_Common;
friend class BRepAlgo_Section;
friend class BRepAlgo_Loop;
friend class BRepAlgo_Tool;
friend class BRepAlgo_Image;
friend class BRepAlgo_AsDes;
friend class BRepAlgo_FaceRestrictor;
friend class BRepAlgo_BooleanOperations;
friend class BRepAlgo_DSAccess;
friend class BRepAlgo_TopOpe;
friend class BRepAlgo_EdgeConnector;
friend class BRepAlgo_NormalProjection;
friend class BRepAlgo_DataMapOfShapeBoolean;
friend class BRepAlgo_DataMapOfShapeInterference;
friend class BRepAlgo_SequenceOfSequenceOfInteger;
friend class BRepAlgo_DataMapNodeOfDataMapOfShapeBoolean;
friend class BRepAlgo_DataMapIteratorOfDataMapOfShapeBoolean;
friend class BRepAlgo_DataMapNodeOfDataMapOfShapeInterference;
friend class BRepAlgo_DataMapIteratorOfDataMapOfShapeInterference;
friend class BRepAlgo_SequenceNodeOfSequenceOfSequenceOfInteger;

};





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


#endif