0021762: Integration of new Boolean Operation algorithm to OCCT.
[occt.git] / src / QANewModTopOpe / QANewModTopOpe.cdl
CommitLineData
b311480e 1-- Created on: 2001-05-03
2-- Created by: Igor FEOKTISTOV
3-- Copyright (c) 2001-2012 OPEN CASCADE SAS
4--
5-- The content of this file is subject to the Open CASCADE Technology Public
6-- License Version 6.5 (the "License"). You may not use the content of this file
7-- except in compliance with the License. Please obtain a copy of the License
8-- at http://www.opencascade.org and read it completely before using this file.
9--
10-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12--
13-- The Original Code and all software distributed under the License is
14-- distributed on an "AS IS" basis, without warranty of any kind, and the
15-- Initial Developer hereby disclaims all such warranties, including without
16-- limitation, any warranties of merchantability, fitness for a particular
17-- purpose or non-infringement. Please see the License for the specific terms
18-- and conditions governing the rights and limitations under the License.
7fd59977 19
20package QANewModTopOpe
21
22 ---Purpose: QANewModTopOpe package provides classes for limitation, gluing
23 -- and removing "floating" shapes.
24uses
25
26 BRepAlgoAPI,
27 TopoDS,
28 TopTools,
29 TopAbs,
30 BRepTools,
31 gp,
4e57c75e 32 BOPAlgo,
33 BOPDS
7fd59977 34
35is
36
37 enumeration ModeOfLimitation is Forward,
38 Reversed,
39 BothParts;
40
41 pointer CutPtr to Cut from BRepAlgoAPI;
42 pointer CommonPtr to Common from BRepAlgoAPI;
43
44 class Tools;
45 ---Purpose: to provide several tools for porting to OCC 5.0 (mkk)
46
47 class Limitation;
48 ---Purpose: to provide cutting object by face or shell.
49
50 class Intersection;
51 ---Purpose: to provide intersection of two topological objects.
52
53 class Glue; --- inherits BooleanOperation from BRepAlgoAPI
54 ---Purpose: to provide topological sewing of two topological objects.
55
56 class ReShaper;
57 ---Purpose: to remove "floating" objects from compound.
58 -- "floating" objects are wires, edges, vertices that do not belong
59 -- solids, shells or faces.
60
61 IsValid(TheS : Shape from TopoDS; GeomControls : Boolean from Standard = Standard_True)
62 returns Boolean from Standard;
63 ---Purpose: to check if TheS is valid or not.
64 -- in difference with BRepCheck_Analizer, this method allows
65 -- some kind of non-manifold shapes
66
67 IsManifold(TheS : Shape from TopoDS) returns Boolean from Standard;
68 ---Purpose: to check if TheS is manifol or not.
69 -- manifold shape is valid SOLID, SHELL, WIRE, EDGE, VERTEX without internal
70 -- subshapes - faces, wires, edges and vertices that have INTERNAL orientation
71 -- For SHELL there are additional conditions: orientations of faces must
72 -- corresponds each other, each edge must be shared not more then two faces.
73 -- COMPSOLID is non manifold by default.
74 -- COMPOUND conciders to be manifold if:
75 -- 1) all shapes in compound are manifold (see above mentioned definitions)
76 -- 2) all shapes are fully disconnected - there are any shapes in compound that
77 -- share common subshapes.
78
79 IsCompoundManifold(TheS : Compound from TopoDS) returns Boolean from Standard;
80 ---Purpose: to check if TheS is manifol or not.
81 -- compound conciders to be manifold if:
82 -- 1) all shapes in compound are manifold (see comments for method IsManifold)
83 -- 2) all shapes are fully disconnected - there are any shapes in compound that
84 -- share common subshapes.
85
86
87 TypeOfShape(TheS : Shape from TopoDS) returns ShapeEnum from TopAbs;
88 ---Purpose: to define if COMPOUND is homogeneous
89 -- (consists of shapes of the same type) and return this shape type.
90 -- If COMPOUND is mixed, method returns TopAbs_COMPOUND.
91 -- If TheS is single shape (not COMPOUND), method returns its type.
92 -- If COMPOUND contains nested compounds, it concideres to be homogeneous
93 -- if all compounds consist of shapes of the same type.
94
95 IsConnected(TheS : Shape from TopoDS) returns Boolean from Standard;
96 ---Purpose: to check if all subshapes in TheS, when TheS is COMPOUND, COMPSOLID, SHELL or WIRE,
97 -- are linked through common faces, edges or vertices.
98 -- SOLID, FACE, EDGE, VERTEX concider to be connected by default.
99
100
101 end QANewModTopOpe;