Version: 9.16.0
GEOM_IBooleanOperations_i.hh
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, OPEN CASCADE
2//
3// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5//
6// This library is free software; you can redistribute it and/or
7// modify it under the terms of the GNU Lesser General Public
8// License as published by the Free Software Foundation; either
9// version 2.1 of the License, or (at your option) any later version.
10//
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14// Lesser General Public License for more details.
15//
16// You should have received a copy of the GNU Lesser General Public
17// License along with this library; if not, write to the Free Software
18// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19//
20// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21//
22
23#ifndef _GEOM_IBooleanOperations_i_HeaderFile
24#define _GEOM_IBooleanOperations_i_HeaderFile
25
26#include "GEOMImpl_Gen.hxx"
27
28#include <SALOMEconfig.h>
29
30#include CORBA_SERVER_HEADER(GEOM_Gen)
31#include "GEOM_IOperations_i.hh"
32#include "GEOM_Object_i.hh"
33
35
37 public virtual POA_GEOM::GEOM_IBooleanOperations,
38 public virtual GEOM_IOperations_i
39{
40 public:
41 GEOM_IBooleanOperations_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr theEngine,
44
45 GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
46 GEOM::GEOM_Object_ptr theShape2,
47 CORBA::Long theOp,
48 CORBA::Boolean IsCheckSelfInte);
49
50 GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
51 GEOM::GEOM_Object_ptr theShape2,
52 CORBA::Boolean IsCheckSelfInte,
53 CORBA::Boolean IsRmExtraEdges);
54
55 GEOM::GEOM_Object_ptr MakeFuseList (const GEOM::ListOfGO& theShapes,
56 CORBA::Boolean IsCheckSelfInte,
57 CORBA::Boolean IsRmExtraEdges);
58
59 GEOM::GEOM_Object_ptr MakeCommonList (const GEOM::ListOfGO& theShapes,
60 CORBA::Boolean IsCheckSelfInte);
61
62 GEOM::GEOM_Object_ptr MakeCutList (GEOM::GEOM_Object_ptr theMainShape,
63 const GEOM::ListOfGO& theShapes,
64 CORBA::Boolean IsCheckSelfInte);
65
66 GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO& theShapes,
67 const GEOM::ListOfGO& theTools,
68 const GEOM::ListOfGO& theKeepInside,
69 const GEOM::ListOfGO& theRemoveInside,
70 CORBA::Short theLimit,
71 CORBA::Boolean theRemoveWebs,
72 const GEOM::ListOfLong& theMaterials,
73 CORBA::Short theKeepNonlimitShapes);
74
75 GEOM::GEOM_Object_ptr MakePartitionNonSelfIntersectedShape (const GEOM::ListOfGO& theShapes,
76 const GEOM::ListOfGO& theTools,
77 const GEOM::ListOfGO& theKeepInside,
78 const GEOM::ListOfGO& theRemoveInside,
79 CORBA::Short theLimit,
80 CORBA::Boolean theRemoveWebs,
81 const GEOM::ListOfLong& theMaterials,
82 CORBA::Short theKeepNonlimitShapes,
83 CORBA::Boolean IsCheckSelfInte);
84
85 GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
86 GEOM::GEOM_Object_ptr thePlane);
87
88 // New interface methods with "Fuzzy parameter" support
89
90 GEOM::GEOM_Object_ptr MakeBooleanWithFuzzy (GEOM::GEOM_Object_ptr theShape1,
91 GEOM::GEOM_Object_ptr theShape2,
92 CORBA::Long theOp,
93 CORBA::Boolean IsCheckSelfInte,
94 CORBA::Double theFuzzyParam);
95
96 GEOM::GEOM_Object_ptr MakeFuseWithFuzzy (GEOM::GEOM_Object_ptr theShape1,
97 GEOM::GEOM_Object_ptr theShape2,
98 CORBA::Boolean IsCheckSelfInte,
99 CORBA::Boolean IsRmExtraEdges,
100 CORBA::Double theFuzzyParam);
101
102 GEOM::GEOM_Object_ptr MakeFuseListWithFuzzy (const GEOM::ListOfGO& theShapes,
103 CORBA::Boolean IsCheckSelfInte,
104 CORBA::Boolean IsRmExtraEdges,
105 CORBA::Double theFuzzyParam);
106
107 GEOM::GEOM_Object_ptr MakeCommonListWithFuzzy (const GEOM::ListOfGO& theShapes,
108 CORBA::Boolean IsCheckSelfInte,
109 CORBA::Double theFuzzyParam);
110
111 GEOM::GEOM_Object_ptr MakeCutListWithFuzzy (GEOM::GEOM_Object_ptr theMainShape,
112 const GEOM::ListOfGO& theShapes,
113 CORBA::Boolean IsCheckSelfInte,
114 CORBA::Double theFuzzyParam);
115
116 GEOM::GEOM_Object_ptr MakePartitionWithFuzzy (const GEOM::ListOfGO& theShapes,
117 const GEOM::ListOfGO& theTools,
118 const GEOM::ListOfGO& theKeepInside,
119 const GEOM::ListOfGO& theRemoveInside,
120 CORBA::Short theLimit,
121 CORBA::Boolean theRemoveWebs,
122 const GEOM::ListOfLong& theMaterials,
123 CORBA::Short theKeepNonlimitShapes,
124 CORBA::Double theFuzzyParam);
125
126 GEOM::GEOM_Object_ptr MakePartitionNonSelfIntersectedShapeWithFuzzy (const GEOM::ListOfGO& theShapes,
127 const GEOM::ListOfGO& theTools,
128 const GEOM::ListOfGO& theKeepInside,
129 const GEOM::ListOfGO& theRemoveInside,
130 CORBA::Short theLimit,
131 CORBA::Boolean theRemoveWebs,
132 const GEOM::ListOfLong& theMaterials,
133 CORBA::Short theKeepNonlimitShapes,
134 CORBA::Boolean IsCheckSelfInte,
135 CORBA::Double theFuzzyParam);
136
137 GEOM::GEOM_Object_ptr MakeHalfPartitionWithFuzzy (GEOM::GEOM_Object_ptr theShape,
138 GEOM::GEOM_Object_ptr thePlane,
139 CORBA::Double theFuzzyParam);
140
143};
144
145#endif
#define GEOM_I_EXPORT
Definition: GEOM_GEOM_I.hxx:33
Definition: GEOMImpl_IBooleanOperations.hxx:34
Definition: GEOM_IBooleanOperations_i.hh:39
::GEOMImpl_IBooleanOperations * GetOperations()
Definition: GEOM_IBooleanOperations_i.hh:141
Definition: GEOM_IOperations_i.hh:37
::GEOM_IOperations * GetImpl()
Definition: GEOM_IOperations_i.hh:60
sequence< GEOM_Object > ListOfGO
Definition: GEOM_Gen.idl:290
sequence< long > ListOfLong
Definition: GEOM_Gen.idl:279