// Copyright (C) 2003 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org // // // // File : GEOM_Gen.idl // Author : Lucien PIGNOLONI #ifndef __GEOM_GEN__ #define __GEOM_GEN__ #include "SALOME_Exception.idl" #include "SALOME_Component.idl" #include "SALOMEDS.idl" #include "GEOM_Shape.idl" #include "GEOM_Kinematic.idl" module GEOM { interface GEOM_Gen : Engines::Component,SALOMEDS::Driver { typedef sequence ListOfIOR ; typedef sequence ListOfGeomShapes ; //--------------------------------------------------------------// // Studies Management // //--------------------------------------------------------------// void GetCurrentStudy(in long StudyID) ; short NbLabels(); //--------------------------------------------------------------// // Shapes Management // //--------------------------------------------------------------// GEOM_Shape GetIORFromString (in string ior); ListOfIOR GetReferencedObjects(in GEOM_Shape shape); ListOfIOR GetObjects (in GEOM_Shape shape); //--------------------------------------------------------------// // Structures // //--------------------------------------------------------------// PointStruct MakePointStruct(in double x, in double y, in double z) ; DirStruct MakeDirection (in PointStruct p) ; AxisStruct MakeAxisStruct(in double x, in double y, in double z, in double vx, in double vy, in double vz) ; //------------------------------------------------------------// // Boolean Operations // //------------------------------------------------------------// GEOM_Shape MakeBoolean (in GEOM_Shape shape1, in GEOM_Shape shape2, in long operation) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeFuse( in GEOM_Shape shape1, in GEOM_Shape shape2) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Advanced Operations // //-----------------------------------------------------------// GEOM_Shape Partition (in ListOfIOR ListShapes, in ListOfIOR ListTools, in ListOfIOR ListKeepInside, in ListOfIOR ListRemoveInside, in short Limit) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeFilling(in GEOM_Shape shape, in short mindeg, in short maxdeg, in double tol3d, in double tol2d, in short nbiter) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeSewing (in ListOfIOR ListShape, in double precision) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeSewingShape( in GEOM_Shape aShape, in double precision ) raises (SALOME::SALOME_Exception); GEOM_Shape OrientationChange(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePlacedBox(in double x1, in double y1, in double z1, in double delta1, in double delta2, in double delta3) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePanel(in GEOM_Shape shape, in short directiontype, in double delta) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeGlueFaces(in GEOM_Shape shape, in double tol3d) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Transformations Operations // //-----------------------------------------------------------// GEOM_Shape MakeCopy(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeTranslation(in GEOM_Shape shape, in double x, in double y, in double z) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeRotation(in GEOM_Shape shape, in AxisStruct axis, in double angle) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePosition(in GEOM_Shape shape1, in GEOM_Shape shape2, in GEOM_Shape::ListOfSubShapeID ListOfID1, in GEOM_Shape::ListOfSubShapeID ListOfID2, in short typeofshape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeScaleTransform(in GEOM_Shape shape, in PointStruct theCenterofScale, in double factor) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeMirrorByPlane(in GEOM_Shape shape, in GEOM_Shape shapePlane) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeRevolution(in GEOM_Shape shape, in AxisStruct axis, in double angle) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePrism(in GEOM_Shape baseShape, in PointStruct P1, in PointStruct P2) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePipe(in GEOM_Shape pathShape, in GEOM_Shape baseShape) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Patterns Construction // //-----------------------------------------------------------// GEOM_Shape MakeMultiTranslation1D(in GEOM_Shape shape, in DirStruct dir, in double step, in short nbtimes) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeMultiTranslation2D(in GEOM_Shape shape, in DirStruct dir1, in double step1, in short nbtimes1, in DirStruct dir2, in double step2, in short nbtimes2) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeMultiRotation1D(in GEOM_Shape shape, in DirStruct dir, in PointStruct loc, in short nbtimes) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeMultiRotation2D(in GEOM_Shape shape, in DirStruct dir, in PointStruct loc, in double ang, in short nbtimes1, in double step, in short nbtimes2) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Mesures Construction // //-----------------------------------------------------------// GEOM_Shape MakeCDG(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Primitives Construction // //-----------------------------------------------------------// GEOM_Shape MakeVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeVector (in PointStruct pstruct1, in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeLine (in PointStruct pstruct, in DirStruct dstruct) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakePlane (in PointStruct pstruct, in DirStruct dstruct, in double trimsize) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeCircle(in PointStruct pstruct, in DirStruct dstruct, in double radius) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeArc(in PointStruct pInit, in PointStruct pCircle, in PointStruct pEnd) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeEllipse(in PointStruct pstruct, in DirStruct dstruct, in double major_radius, in double minor_radius) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Primitives Construction // //-----------------------------------------------------------// GEOM_Shape MakeBox (in double x1, in double y1, in double z1, in double x2, in double y2, in double z2) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeCylinder(in PointStruct pstruct, in DirStruct dstruct, in double radius, in double height) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeSphere (in double x1, in double y1, in double z1, in double radius) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeTorus(in PointStruct pstruct, in DirStruct dstruct, in double major_radius, in double minor_radius) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeCone(in PointStruct pstruct, in DirStruct dstruct, in double radius1, in double radius2, in double height) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Archimede // //-----------------------------------------------------------// GEOM_Shape Archimede(in GEOM_Shape shape, in double Weight, in double WaterDensity, in double MeshingDeflection) raises (SALOME::SALOME_Exception); //-----------------------------------------------------------// // Build // //-----------------------------------------------------------// GEOM_Shape MakeEdge (in PointStruct pstruct1, in PointStruct pstruct2) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeWire (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeCompound (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeFace (in GEOM_Shape shapeWire, in boolean wantplanarface) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeFaces (in ListOfIOR ListShape, in boolean wantplanarface) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeShell (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeSolid (in ListOfIOR ListShape) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Subshapes Construction for GUI only // //-----------------------------------------------------------// GEOM_Shape SubShape(in GEOM_Shape shape, in short ShapeType, in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Subshapes Construction for TUI or GUI // //-----------------------------------------------------------// ListOfGeomShapes SubShapeAll(in GEOM_Shape shape, in short ShapeType) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Subshapes Construction // Use it to have the same order of subshapes if their // order may change as a result of reconstruction using // boolean operations, fillet etc. //-----------------------------------------------------------// GEOM_Shape SubShapeSorted(in GEOM_Shape shape, in short ShapeType, in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; ListOfGeomShapes SubShapeAllSorted(in GEOM_Shape shape, in short ShapeType) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Fillet and Chamfer construction // //-----------------------------------------------------------// GEOM_Shape MakeFillet(in GEOM_Shape shape, in double radius, in short ShapeType, in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; GEOM_Shape MakeChamfer(in GEOM_Shape shape, in double d1, in double d2, in short ShapeType, in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Suppress faces in a shape // //-----------------------------------------------------------// ListOfGeomShapes SuppressFaces(in GEOM_Shape shape, in GEOM_Shape::ListOfSubShapeID ListOfID) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Suppress a single hole in topology (face) shell or solid // // : ListOfIdEndFace may be an empty list // // : used only when hole traverses the topology // //-----------------------------------------------------------// GEOM_Shape SuppressHole(in GEOM_Shape shape, in GEOM_Shape::ListOfSubShapeID ListOfIdFace, in GEOM_Shape::ListOfSubShapeID ListOfIdWire, in GEOM_Shape::ListOfSubShapeID ListOfIdEndFace ) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Suppress one or more holes in a face or a shell // //-----------------------------------------------------------// GEOM_Shape SuppressHolesInFaceOrShell(in GEOM_Shape shapeFaceShell, in GEOM_Shape::ListOfSubShapeID ListOfIdWires ) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Import/Export // //-----------------------------------------------------------// GEOM_Shape ImportIGES(in string filename) raises (SALOME::SALOME_Exception) ; GEOM_Shape ImportBREP(in string filename) raises (SALOME::SALOME_Exception) ; GEOM_Shape ImportSTEP(in string filename) raises (SALOME::SALOME_Exception) ; void ExportIGES(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; void ExportBREP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; void ExportSTEP(in string filename,in GEOM_Shape theShape) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Check Shape // //-----------------------------------------------------------// boolean CheckShape(in GEOM_Shape shape) raises (SALOME::SALOME_Exception) ; //-----------------------------------------------------------// // Kinematic // //-----------------------------------------------------------// GEOM_Assembly InitAssembly() raises (SALOME::SALOME_Exception) ; GEOM_Contact AddContact(in GEOM_Assembly Ass, in GEOM_Shape Shape1, in GEOM_Shape Shape2, in short type, in double step) raises (SALOME::SALOME_Exception) ; GEOM_Animation AddAnimation(in GEOM_Assembly Ass, in GEOM_Shape Shape1, in double Duration, in short NbSeq) raises (SALOME::SALOME_Exception) ; void SetPosition(in GEOM_Contact Contact) raises (SALOME::SALOME_Exception) ; void SetRotation(in GEOM_Contact Contact) raises (SALOME::SALOME_Exception) ; void SetTranslation(in GEOM_Contact Contact) raises (SALOME::SALOME_Exception) ; }; }; #endif