1 #ifndef __GEOM_SUPERV_I_H__
2 #define __GEOM_SUPERV_I_H__
5 #include <SALOMEconfig.h>
6 #include CORBA_SERVER_HEADER(GEOM_Superv)
8 #include "GEOM_Gen_i.hh"
9 #include "GEOM_List_i.hh"
11 #include "QAD_Study.h"
12 #include "QAD_Application.h"
13 #include "QAD_Desktop.h"
15 class GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
16 public Engines_Component_i
19 GEOM_Superv_i(CORBA::ORB_ptr orb,
20 PortableServer::POA_ptr poa,
21 PortableServer::ObjectId * contId,
22 const char *instanceName,
23 const char *interfaceName);
26 // generic method to be put in a super class
27 void register_name(char * name);
41 PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
42 PortableServer::POA_ptr thePOA);
44 //-----------------------------------------------------------------------//
45 // Set current stydy ID //
46 //-----------------------------------------------------------------------//
47 void SetStudyID( CORBA::Long theId );
49 //-----------------------------------------------------------//
50 // Create ListOfGO and add items to it //
51 //-----------------------------------------------------------//
52 GEOM::GEOM_List_ptr CreateListOfGO();
53 void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
54 GEOM::GEOM_Object_ptr theObject);
56 //-----------------------------------------------------------//
57 // Create ListOfLong and add items to it //
58 //-----------------------------------------------------------//
59 GEOM::GEOM_List_ptr CreateListOfLong();
60 void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
63 //-----------------------------------------------------------//
64 // Create ListOfDouble and add items to it //
65 //-----------------------------------------------------------//
66 GEOM::GEOM_List_ptr CreateListOfDouble();
67 void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
70 //-----------------------------------------------------------------------//
71 // Inherited methods from SALOMEDS::Driver //
72 //-----------------------------------------------------------------------//
74 SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
78 SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
82 CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
83 const SALOMEDS::TMPFile& theStream,
87 CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
88 const SALOMEDS::TMPFile& theStream,
92 void Close(SALOMEDS::SComponent_ptr theComponent);
93 char* ComponentDataType();
96 char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
97 const char* IORString,
98 CORBA::Boolean isMultiFile,
99 CORBA::Boolean isASCII);
100 char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
101 const char* aLocalPersistentID,
102 CORBA::Boolean isMultiFile,
103 CORBA::Boolean isASCII);
105 bool CanPublishInStudy(CORBA::Object_ptr theIOR);
106 SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
107 SALOMEDS::SObject_ptr theSObject,
108 CORBA::Object_ptr theObject,
109 const char* theName) throw (SALOME::SALOME_Exception) ;
111 CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
112 SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
113 CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
114 SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
115 CORBA::Long theObjectID,
116 SALOMEDS::SObject_ptr theObject);
118 //-----------------------------------------------------------//
119 // Primitives Construction : BasicOperations //
120 //-----------------------------------------------------------//
121 GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
124 GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
128 GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
129 CORBA::Double theParameter);
130 GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
132 CORBA::Double theDZ);
133 GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
134 GEOM::GEOM_Object_ptr thePnt2);
135 GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
136 GEOM::GEOM_Object_ptr thePnt2);
137 GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
138 GEOM::GEOM_Object_ptr thePnt2,
139 GEOM::GEOM_Object_ptr thePnt3,
140 CORBA::Double theTrimSize);
141 GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
142 GEOM::GEOM_Object_ptr theVec,
143 CORBA::Double theTrimSize);
144 GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
145 CORBA::Double theTrimSize);
146 GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
147 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
148 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
150 //-----------------------------------------------------------//
151 // Primitives Construction : 3DPrimOperations //
152 //-----------------------------------------------------------//
153 GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
158 CORBA::Double theZ2);
159 GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
161 CORBA::Double theDZ);
162 GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
163 GEOM::GEOM_Object_ptr thePnt2);
164 GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
165 GEOM::GEOM_Object_ptr theAxis,
166 CORBA::Double theRadius,
167 CORBA::Double theHeight);
168 GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
170 GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
173 CORBA::Double theRadius);
174 GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
175 GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
177 GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
178 GEOM::GEOM_Object_ptr theVec,
179 CORBA::Double theRMajor,
180 CORBA::Double theRMinor);
181 GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
182 CORBA::Double theRMinor);
183 GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
184 GEOM::GEOM_Object_ptr theAxis,
187 CORBA::Double theHeight);
188 GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
190 CORBA::Double theHeight);
191 GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
192 GEOM::GEOM_Object_ptr theVec,
194 GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
195 GEOM::GEOM_Object_ptr thePoint1,
196 GEOM::GEOM_Object_ptr thePoint2);
197 GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
198 GEOM::GEOM_Object_ptr thePath);
199 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
200 GEOM::GEOM_Object_ptr theAxis,
201 CORBA::Double theAngle);
202 GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
203 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
204 CORBA::Double theTol2D, CORBA::Double theTol3D,
205 CORBA::Long theNbIter);
207 //-----------------------------------------------------------//
208 // BooleanOperations //
209 //-----------------------------------------------------------//
210 GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
211 GEOM::GEOM_Object_ptr theShape2,
212 CORBA::Long theOperation);
213 GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
214 GEOM::GEOM_Object_ptr theShape2);
215 GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
216 GEOM::GEOM_List_ptr theTools,
217 GEOM::GEOM_List_ptr theKeepInside,
218 GEOM::GEOM_List_ptr theRemoveInside,
219 const CORBA::Short theLimit,
220 const CORBA::Boolean theRemoveWebs,
221 GEOM::GEOM_List_ptr theMaterials);
222 GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
223 GEOM::GEOM_Object_ptr thePlane);
225 //-----------------------------------------------------------//
226 // InsertOperations //
227 //-----------------------------------------------------------//
228 GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
229 void Export (GEOM::GEOM_Object_ptr theObject,
230 const char* theFileName,
231 const char* theFormatName);
232 GEOM::GEOM_Object_ptr Import (const char* theFileName,
233 const char* theFormatName);
234 void ImportTranslators (GEOM::string_array_out theFormats,
235 GEOM::string_array_out thePatterns);
236 void ExportTranslators (GEOM::string_array_out theFormats,
237 GEOM::string_array_out thePatterns);
239 //-----------------------------------------------------------//
240 // TransformOperations //
241 //-----------------------------------------------------------//
242 GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
243 GEOM::GEOM_Object_ptr thePoint1,
244 GEOM::GEOM_Object_ptr thePoint2);
245 GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
246 GEOM::GEOM_Object_ptr thePoint1,
247 GEOM::GEOM_Object_ptr thePoint2);
248 GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
251 CORBA::Double theDZ);
252 GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
255 CORBA::Double theDZ);
256 GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
257 GEOM::GEOM_Object_ptr theVector);
258 GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
259 GEOM::GEOM_Object_ptr theVector);
260 GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
261 GEOM::GEOM_Object_ptr theVector,
262 CORBA::Double theStep,
263 CORBA::Long theNbTimes);
264 GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
265 GEOM::GEOM_Object_ptr theVector1,
266 CORBA::Double theStep1,
267 CORBA::Long theNbTimes1,
268 GEOM::GEOM_Object_ptr theVector2,
269 CORBA::Double theStep2,
270 CORBA::Long theNbTimes2);
271 GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
272 GEOM::GEOM_Object_ptr theAxis,
273 CORBA::Double theAngle);
274 GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
275 GEOM::GEOM_Object_ptr theAxis,
276 CORBA::Double theAngle);
277 GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
278 GEOM::GEOM_Object_ptr theAxis,
279 CORBA::Long theNbTimes);
280 GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
281 GEOM::GEOM_Object_ptr theAxis,
282 CORBA::Double theAngle,
283 CORBA::Long theNbTimes1,
284 CORBA::Double theStep,
285 CORBA::Long theNbTimes2);
286 GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
287 GEOM::GEOM_Object_ptr thePlane);
288 GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
289 GEOM::GEOM_Object_ptr thePlane);
290 GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
291 GEOM::GEOM_Object_ptr theAxis);
292 GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
293 GEOM::GEOM_Object_ptr theAxis);
294 GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
295 GEOM::GEOM_Object_ptr thePoint);
296 GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
297 GEOM::GEOM_Object_ptr thePoint);
298 GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
299 CORBA::Double theOffset);
300 GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
301 CORBA::Double theOffset);
302 GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
303 GEOM::GEOM_Object_ptr thePoint,
304 CORBA::Double theFactor);
305 GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
306 GEOM::GEOM_Object_ptr thePoint,
307 CORBA::Double theFactor);
308 GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
309 GEOM::GEOM_Object_ptr theStartLCS,
310 GEOM::GEOM_Object_ptr theEndLCS);
311 GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
312 GEOM::GEOM_Object_ptr theStartLCS,
313 GEOM::GEOM_Object_ptr theEndLCS);
315 //-----------------------------------------------------------//
316 // ShapesOperations //
317 //-----------------------------------------------------------//
318 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
319 GEOM::GEOM_Object_ptr thePnt2);
320 GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires);
321 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
322 CORBA::Boolean isPlanarWanted);
323 GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
324 CORBA::Boolean isPlanarWanted);
325 GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
326 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
327 GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
328 GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
329 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
330 const CORBA::Double theTolerance);
331 GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
332 const CORBA::Long theShapeType,
333 const CORBA::Boolean isSorted);
334 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
335 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
336 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
338 //-----------------------------------------------------------//
339 // BlocksOperations //
340 //-----------------------------------------------------------//
341 GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
342 GEOM::GEOM_Object_ptr thePnt2,
343 GEOM::GEOM_Object_ptr thePnt3,
344 GEOM::GEOM_Object_ptr thePnt4);
345 GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
346 GEOM::GEOM_Object_ptr theEdge2,
347 GEOM::GEOM_Object_ptr theEdge3,
348 GEOM::GEOM_Object_ptr theEdge4);
349 GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
350 GEOM::GEOM_Object_ptr theEdge2);
351 GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
352 GEOM::GEOM_Object_ptr theFace2,
353 GEOM::GEOM_Object_ptr theFace3,
354 GEOM::GEOM_Object_ptr theFace4,
355 GEOM::GEOM_Object_ptr theFace5,
356 GEOM::GEOM_Object_ptr theFace6);
357 GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
358 GEOM::GEOM_Object_ptr theFace2);
359 GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
360 const CORBA::Double theX,
361 const CORBA::Double theY,
362 const CORBA::Double theZ,
363 const CORBA::Double theEpsilon);
364 GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
365 GEOM::GEOM_Object_ptr thePoint1,
366 GEOM::GEOM_Object_ptr thePoint2);
367 GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
368 GEOM::GEOM_Object_ptr thePoint);
369 GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
370 GEOM::GEOM_Object_ptr thePoint1,
371 GEOM::GEOM_Object_ptr thePoint2,
372 GEOM::GEOM_Object_ptr thePoint3,
373 GEOM::GEOM_Object_ptr thePoint4);
374 GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
375 GEOM::GEOM_Object_ptr theEdge1,
376 GEOM::GEOM_Object_ptr theEdge2);
377 GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
378 GEOM::GEOM_Object_ptr theFace);
379 GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
380 GEOM::GEOM_Object_ptr thePoint);
381 GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
382 GEOM::GEOM_Object_ptr theVector);
383 CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
384 const CORBA::Long theMinNbFaces,
385 const CORBA::Long theMaxNbFaces,
386 CORBA::Long& theNbBlocks);
387 CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
388 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
389 char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
390 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
391 GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
392 const CORBA::Long theMinNbFaces,
393 const CORBA::Long theMaxNbFaces);
394 GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
395 GEOM::GEOM_Object_ptr thePoint);
396 GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
397 GEOM::GEOM_List_ptr theParts);
398 GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
399 GEOM::GEOM_List_ptr theParts);
400 GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
401 const CORBA::Long theDirFace1,
402 const CORBA::Long theDirFace2,
403 const CORBA::Long theNbTimes);
404 GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
405 const CORBA::Long theDirFace1U,
406 const CORBA::Long theDirFace2U,
407 const CORBA::Long theNbTimesU,
408 const CORBA::Long theDirFace1V,
409 const CORBA::Long theDirFace2V,
410 const CORBA::Long theNbTimesV);
412 //-----------------------------------------------------------//
413 // CurvesOperations //
414 //-----------------------------------------------------------//
415 GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
416 GEOM::GEOM_Object_ptr theVector,
418 GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
419 GEOM::GEOM_Object_ptr thePnt2,
420 GEOM::GEOM_Object_ptr thePnt3);
421 GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
422 GEOM::GEOM_Object_ptr theVector,
423 CORBA::Double theRMajor, CORBA::Double theRMinor);
424 GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
425 GEOM::GEOM_Object_ptr thePnt2,
426 GEOM::GEOM_Object_ptr thePnt3);
427 GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints);
428 GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints);
429 GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints);
430 GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand,
431 const GEOM::GEOM_List_ptr theWorkingPlane);
433 //-----------------------------------------------------------//
434 // LocalOperations //
435 //-----------------------------------------------------------//
436 GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
438 GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
439 GEOM::GEOM_List_ptr theEdges);
440 GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
441 GEOM::GEOM_List_ptr theFaces);
442 GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
443 GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
444 CORBA::Double theD1, CORBA::Double theD2,
445 CORBA::Long theFace1, CORBA::Long theFace2);
446 GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
447 CORBA::Double theD1, CORBA::Double theD2,
448 GEOM::GEOM_List_ptr theFaces);
449 GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
450 CORBA::Double theWeight,
451 CORBA::Double theWaterDensity,
452 CORBA::Double theMeshingDeflection);
453 CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
454 GEOM::GEOM_Object_ptr theSubShape);
456 //-----------------------------------------------------------//
457 // GroupOperations //
458 //-----------------------------------------------------------//
459 GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
460 CORBA::Long theShapeType);
461 void AddObject (GEOM::GEOM_Object_ptr theGroup,
462 CORBA::Long theSubShapeId);
463 void RemoveObject (GEOM::GEOM_Object_ptr theGroup,
464 CORBA::Long theSubShapeId);
465 CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
466 GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
467 GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
470 SALOME_NamingService * name_service;
471 GEOM::GEOM_Gen_ptr myGeomEngine;
472 CORBA::Long myStudyID;
473 PortableServer::POA_var myPOA;
475 GEOM::GEOM_IBasicOperations_ptr myBasicOp;
476 GEOM::GEOM_I3DPrimOperations_ptr my3DPrimOp;
477 GEOM::GEOM_IBooleanOperations_ptr myBoolOp;
478 GEOM::GEOM_IInsertOperations_ptr myInsOp;
479 GEOM::GEOM_ITransformOperations_ptr myTransfOp;
480 GEOM::GEOM_IShapesOperations_ptr myShapesOp;
481 GEOM::GEOM_IBlocksOperations_ptr myBlocksOp;
482 GEOM::GEOM_ICurvesOperations_ptr myCurvesOp;
483 GEOM::GEOM_ILocalOperations_ptr myLocalOp;
484 GEOM::GEOM_IGroupOperations_ptr myGroupOp;