X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGEOM_I_Superv%2FGEOM_Superv_i.hh;h=75a66523e5f9fd15788da4d827220e6d81fb2d5a;hb=bb33eafebde37578d5d85f0e36223a3131a67adc;hp=67f780c107eba84aec524c3909bd0047d9461c03;hpb=d3dd282390888d7dc091ba2c2ffe7923bd7458e6;p=modules%2Fgeom.git diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index 67f780c10..75a66523e 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -1,3 +1,22 @@ +// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #ifndef __GEOM_SUPERV_I_H__ #define __GEOM_SUPERV_I_H__ @@ -6,10 +25,7 @@ #include CORBA_SERVER_HEADER(GEOM_Superv) #include "GEOM_Gen_i.hh" - -#include "QAD_Study.h" -#include "QAD_Application.h" -#include "QAD_Desktop.h" +#include "GEOM_List_i.hh" class GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv, public Engines_Component_i @@ -37,32 +53,56 @@ public: void getLocalOp(); void getGroupOp(); + PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject, + PortableServer::POA_ptr thePOA); + //-----------------------------------------------------------------------// // Set current stydy ID // //-----------------------------------------------------------------------// void SetStudyID( CORBA::Long theId ); + //-----------------------------------------------------------// + // Create ListOfGO and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfGO(); + void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, + GEOM::GEOM_Object_ptr theObject); + + //-----------------------------------------------------------// + // Create ListOfLong and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfLong(); + void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, + CORBA::Long theObject); + + //-----------------------------------------------------------// + // Create ListOfDouble and add items to it // + //-----------------------------------------------------------// + GEOM::GEOM_List_ptr CreateListOfDouble(); + void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, + CORBA::Double theObject); + //-----------------------------------------------------------------------// // Inherited methods from SALOMEDS::Driver // //-----------------------------------------------------------------------// SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); void Close(SALOMEDS::SComponent_ptr theComponent); char* ComponentDataType(); @@ -77,7 +117,7 @@ public: CORBA::Boolean isMultiFile, CORBA::Boolean isASCII); - bool CanPublishInStudy(CORBA::Object_ptr theIOR); + CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR); SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::SObject_ptr theSObject, CORBA::Object_ptr theObject, @@ -102,6 +142,10 @@ public: CORBA::Double theZ); GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve, CORBA::Double theParameter); + GEOM::GEOM_Object_ptr MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1, + GEOM::GEOM_Object_ptr theRefLine2); + GEOM::GEOM_Object_ptr MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve, + CORBA::Double theParameter); GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ); @@ -109,6 +153,8 @@ public: GEOM::GEOM_Object_ptr thePnt2); GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2); + GEOM::GEOM_Object_ptr MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1, + GEOM::GEOM_Object_ptr theFace2); GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2, GEOM::GEOM_Object_ptr thePnt3, @@ -122,6 +168,11 @@ public: CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ, CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ); + GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace, + CORBA::Double theParameterU, + CORBA::Double theParameterV, + CORBA::Double theTrimSize); + //-----------------------------------------------------------// // Primitives Construction : 3DPrimOperations // //-----------------------------------------------------------// @@ -136,6 +187,20 @@ public: CORBA::Double theDZ); GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2); + GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH, + CORBA::Double theW, + CORBA::Short theOrientation); + GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj, + CORBA::Double theH, + CORBA::Double theW); + GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter, + GEOM::GEOM_Object_ptr theVector, + CORBA::Double theR); + GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1, + GEOM::GEOM_Object_ptr thePnt2, + GEOM::GEOM_Object_ptr thePnt3); + GEOM::GEOM_Object_ptr MakeDiskR (CORBA::Double theR, + CORBA::Short theOrientation); GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theAxis, CORBA::Double theRadius, @@ -166,18 +231,56 @@ public: GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theVec, CORBA::Double theH); + GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase, + GEOM::GEOM_Object_ptr theVec, + CORBA::Double theH); GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr thePoint1, GEOM::GEOM_Object_ptr thePoint2); + GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase, + GEOM::GEOM_Object_ptr thePoint1, + GEOM::GEOM_Object_ptr thePoint2); + GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase, + CORBA::Double theDX, + CORBA::Double theDY, + CORBA::Double theDZ); + GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase, + CORBA::Double theDX, + CORBA::Double theDY, + CORBA::Double theDZ); GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr thePath); GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr theAxis, CORBA::Double theAngle); + GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase, + GEOM::GEOM_Object_ptr theAxis, + CORBA::Double theAngle); GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter); + CORBA::Long theNbIter, CORBA::Boolean theApprox); + + GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections, + CORBA::Boolean theModeSolid, + CORBA::Double thePreci, + CORBA::Boolean theRuled); + + GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases, + const GEOM::ListOfGO& theLocations, + GEOM::GEOM_Object_ptr thePath, + CORBA::Boolean theWithContact, + CORBA::Boolean theWithCorrections); + + GEOM::GEOM_Object_ptr MakePipeWithShellSections(const GEOM::ListOfGO& theBases, + const GEOM::ListOfGO& theSubBases, + const GEOM::ListOfGO& theLocations, + GEOM::GEOM_Object_ptr thePath, + CORBA::Boolean theWithContact, + CORBA::Boolean theWithCorrections); + + GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(const GEOM::ListOfGO& theBases, + const GEOM::ListOfGO& theLocations); //-----------------------------------------------------------// // BooleanOperations // @@ -187,13 +290,14 @@ public: CORBA::Long theOperation); GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1, GEOM::GEOM_Object_ptr theShape2); - GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO& theShapes, - const GEOM::ListOfGO& theTools, - const GEOM::ListOfGO& theKeepInside, - const GEOM::ListOfGO& theRemoveInside, - const CORBA::Short theLimit, - const CORBA::Boolean theRemoveWebs, - const GEOM::ListOfLong& theMaterials); + GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes, + GEOM::GEOM_List_ptr theTools, + GEOM::GEOM_List_ptr theKeepInside, + GEOM::GEOM_List_ptr theRemoveInside, + CORBA::Short theLimit, + CORBA::Boolean theRemoveWebs, + GEOM::GEOM_List_ptr theMaterials, + CORBA::Short theKeepNonlimitShapes); GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr thePlane); @@ -232,6 +336,10 @@ public: GEOM::GEOM_Object_ptr theVector); GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theVector); + GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject, + GEOM::GEOM_Object_ptr theVector, + CORBA::Double theDistance, + CORBA::Boolean theCopy); GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theVector, CORBA::Double theStep, @@ -249,6 +357,17 @@ public: GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theAxis, CORBA::Double theAngle); + + GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject, + GEOM::GEOM_Object_ptr theCentPoint, + GEOM::GEOM_Object_ptr thePoint1, + GEOM::GEOM_Object_ptr thePoint2); + + GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject, + GEOM::GEOM_Object_ptr theCentPoint, + GEOM::GEOM_Object_ptr thePoint1, + GEOM::GEOM_Object_ptr thePoint2); + GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theAxis, CORBA::Long theNbTimes); @@ -280,6 +399,16 @@ public: GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr thePoint, CORBA::Double theFactor); + GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject, + GEOM::GEOM_Object_ptr thePoint, + CORBA::Double theFactorX, + CORBA::Double theFactorY, + CORBA::Double theFactorZ); + GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject, + GEOM::GEOM_Object_ptr thePoint, + CORBA::Double theFactorX, + CORBA::Double theFactorY, + CORBA::Double theFactorZ); GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject, GEOM::GEOM_Object_ptr theStartLCS, GEOM::GEOM_Object_ptr theEndLCS); @@ -292,24 +421,42 @@ public: //-----------------------------------------------------------// GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2); - GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires); + GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires); GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire, CORBA::Boolean isPlanarWanted); - GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires, + GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires, CORBA::Boolean isPlanarWanted); - GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells); + GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells); GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell); - GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells); - GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes); + GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells); + GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes); GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape, - const CORBA::Double theTolerance); - GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape, - const CORBA::Long theShapeType, - const CORBA::Boolean isSorted); + CORBA::Double theTolerance, + CORBA::Boolean doKeepNonSolids); + GEOM::GEOM_List_ptr GetGlueFaces (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theTolerance); + GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theTolerance, + const GEOM::ListOfGO& theFaces, + CORBA::Boolean doKeepNonSolids); + GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape, + CORBA::Long theShapeType, + CORBA::Boolean isSorted); CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape); CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape); GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape); + GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape, + GEOM::GEOM_Object_ptr theShape, + CORBA::Short theShapeType, + GEOM::shape_state theState); + GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound + (GEOM::GEOM_Object_ptr theCheckShape, + GEOM::GEOM_Object_ptr theShape, + CORBA::Short theShapeType, + GEOM::shape_state theState); + + //-----------------------------------------------------------// // BlocksOperations // //-----------------------------------------------------------// @@ -332,10 +479,10 @@ public: GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2); GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape, - const CORBA::Double theX, - const CORBA::Double theY, - const CORBA::Double theZ, - const CORBA::Double theEpsilon); + CORBA::Double theX, + CORBA::Double theY, + CORBA::Double theZ, + CORBA::Double theEpsilon); GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr thePoint1, GEOM::GEOM_Object_ptr thePoint2); @@ -356,33 +503,33 @@ public: GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock, GEOM::GEOM_Object_ptr theVector); CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, - const CORBA::Long theMinNbFaces, - const CORBA::Long theMaxNbFaces, + CORBA::Long theMinNbFaces, + CORBA::Long theMaxNbFaces, CORBA::Long& theNbBlocks); CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors); char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound, const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors); - GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, - const CORBA::Long theMinNbFaces, - const CORBA::Long theMaxNbFaces); + GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound, + CORBA::Long theMinNbFaces, + CORBA::Long theMaxNbFaces); GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound, GEOM::GEOM_Object_ptr thePoint); GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts); - GEOM::ListOfGO* GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, - const GEOM::ListOfGO& theParts); + GEOM::GEOM_List_ptr theParts); + GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound, + GEOM::GEOM_List_ptr theParts); GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock, - const CORBA::Long theDirFace1, - const CORBA::Long theDirFace2, - const CORBA::Long theNbTimes); + CORBA::Long theDirFace1, + CORBA::Long theDirFace2, + CORBA::Long theNbTimes); GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock, - const CORBA::Long theDirFace1U, - const CORBA::Long theDirFace2U, - const CORBA::Long theNbTimesU, - const CORBA::Long theDirFace1V, - const CORBA::Long theDirFace2V, - const CORBA::Long theNbTimesV); + CORBA::Long theDirFace1U, + CORBA::Long theDirFace2U, + CORBA::Long theNbTimesU, + CORBA::Long theDirFace1V, + CORBA::Long theDirFace2V, + CORBA::Long theNbTimesV); //-----------------------------------------------------------// // CurvesOperations // @@ -393,17 +540,24 @@ public: GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2, GEOM::GEOM_Object_ptr thePnt3); + GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1, + GEOM::GEOM_Object_ptr thePnt2, + GEOM::GEOM_Object_ptr thePnt3); GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter, GEOM::GEOM_Object_ptr theVector, CORBA::Double theRMajor, CORBA::Double theRMinor); GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2, GEOM::GEOM_Object_ptr thePnt3); - GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints); - GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints); - GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints); + GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr theCenter, + GEOM::GEOM_Object_ptr thePnt1, + GEOM::GEOM_Object_ptr thePnt2, + CORBA::Boolean theSense); + GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints); + GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints); + GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints); GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, - const GEOM::ListOfDouble& theWorkingPlane); + GEOM::GEOM_List_ptr theWorkingPlane); //-----------------------------------------------------------// // LocalOperations // @@ -411,16 +565,32 @@ public: GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR); GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theEdges); + GEOM::GEOM_List_ptr theEdges); + GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1, + CORBA::Double theR2, GEOM::GEOM_List_ptr theEdges); GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR, - const GEOM::ListOfLong& theFaces); + GEOM::GEOM_List_ptr theFaces); + GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1, + CORBA::Double theR2, GEOM::GEOM_List_ptr theFaces); GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD); GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD1, CORBA::Double theD2, CORBA::Long theFace1, CORBA::Long theFace2); + GEOM::GEOM_Object_ptr MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theD, CORBA::Double theAngle, + CORBA::Long theFace1, CORBA::Long theFace2); GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD1, CORBA::Double theD2, - const GEOM::ListOfLong& theFaces); + GEOM::GEOM_List_ptr theFaces); + GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theD, CORBA::Double theAngle, + GEOM::GEOM_List_ptr theFaces); + GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theD1, CORBA::Double theD2, + GEOM::GEOM_List_ptr theEdges); + GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape, + CORBA::Double theD, CORBA::Double theAngle, + GEOM::GEOM_List_ptr theEdges); GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape, CORBA::Double theWeight, CORBA::Double theWaterDensity, @@ -439,23 +609,25 @@ public: CORBA::Long theSubShapeId); CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup); GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup); - GEOM::ListOfLong* GetObjects (GEOM::GEOM_Object_ptr theGroup); + GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup); private: SALOME_NamingService * name_service; - GEOM::GEOM_Gen_ptr myGeomEngine; + GEOM::GEOM_Gen_var myGeomEngine; CORBA::Long myStudyID; + CORBA::Long myLastStudyID; // mkr : PAL10770 + PortableServer::POA_var myPOA; - GEOM::GEOM_IBasicOperations_ptr myBasicOp; - GEOM::GEOM_I3DPrimOperations_ptr my3DPrimOp; - GEOM::GEOM_IBooleanOperations_ptr myBoolOp; - GEOM::GEOM_IInsertOperations_ptr myInsOp; - GEOM::GEOM_ITransformOperations_ptr myTransfOp; - GEOM::GEOM_IShapesOperations_ptr myShapesOp; - GEOM::GEOM_IBlocksOperations_ptr myBlocksOp; - GEOM::GEOM_ICurvesOperations_ptr myCurvesOp; - GEOM::GEOM_ILocalOperations_ptr myLocalOp; - GEOM::GEOM_IGroupOperations_ptr myGroupOp; + GEOM::GEOM_IBasicOperations_var myBasicOp; + GEOM::GEOM_I3DPrimOperations_var my3DPrimOp; + GEOM::GEOM_IBooleanOperations_var myBoolOp; + GEOM::GEOM_IInsertOperations_var myInsOp; + GEOM::GEOM_ITransformOperations_var myTransfOp; + GEOM::GEOM_IShapesOperations_var myShapesOp; + GEOM::GEOM_IBlocksOperations_var myBlocksOp; + GEOM::GEOM_ICurvesOperations_var myCurvesOp; + GEOM::GEOM_ILocalOperations_var myLocalOp; + GEOM::GEOM_IGroupOperations_var myGroupOp; };