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