geom/idl/GEOM_Superv.idl
2009-01-22 13:39:09 +00:00

563 lines
23 KiB
Plaintext

// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 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
//
// File : GEOM_Superv.idl
// Author : Lucien PIGNOLONI
//
#ifndef __GEOM_SUPERV__
#define __GEOM_SUPERV__
#include "GEOM_Gen.idl"
module GEOM
{
interface GEOM_List
{ };
interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
{
//-----------------------------------------------------------//
// Set current study ID //
//-----------------------------------------------------------//
void SetStudyID (in long theStudyID) ;
//-----------------------------------------------------------//
// Create ListOfGO and add items to it //
//-----------------------------------------------------------//
GEOM_List CreateListOfGO();
void AddItemToListOfGO( inout GEOM_List theList,
in GEOM_Object theObject);
//-----------------------------------------------------------//
// Create ListOfLong and add items to it //
//-----------------------------------------------------------//
GEOM_List CreateListOfLong();
void AddItemToListOfLong( inout GEOM_List theList,
in long theObject);
//-----------------------------------------------------------//
// Create ListOfDouble and add items to it //
//-----------------------------------------------------------//
GEOM_List CreateListOfDouble();
void AddItemToListOfDouble( inout GEOM_List theList,
in double theObject);
//-----------------------------------------------------------//
// Primitives Construction : BasicOperations //
//-----------------------------------------------------------//
GEOM_Object MakePointXYZ (in double theX,
in double theY,
in double theZ) ;
GEOM_Object MakePointWithReference (in GEOM_Object theReference,
in double theX,
in double theY,
in double theZ) ;
GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
in double theParameter) ;
GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
in double theParameter);
GEOM_Object MakeVectorDXDYDZ (in double theDX,
in double theDY,
in double theDZ) ;
GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2) ;
GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2) ;
GEOM_Object MakeLineTwoFaces (in GEOM_Object theFace1,
in GEOM_Object theFace2) ;
GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3,
in double theTrimSize) ;
GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
in GEOM_Object theVec,
in double theTrimSize) ;
GEOM_Object MakePlaneFace (in GEOM_Object theFace,
in double theTrimSize) ;
GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
in double theXDX, in double theXDY, in double theXDZ,
in double theYDX, in double theYDY, in double theYDZ) ;
/*!
* Create a tangent plane to specified face in the point with specified parameters.
* Values of parameters should be between 0. and 1.0
* \param theFace - face for which tangent plane shuold be built.
* \param theParameterU - value of parameter by U
* \param theParameterV - value of parameter Vthe
* \param theTrimSize - defines sizes of created face
* \return New GEOM_Object, containing the face built on tangent plane.
*/
GEOM_Object MakeTangentPlaneOnFace(in GEOM_Object theFace,
in double theParameterU,
in double theParameterV,
in double theTrimSize);
//-----------------------------------------------------------//
// Primitives Construction : 3DPrimOperations //
//-----------------------------------------------------------//
GEOM_Object MakeBox (in double theX1,
in double theY1,
in double theZ1,
in double theX2,
in double theY2,
in double theZ2) ;
GEOM_Object MakeBoxDXDYDZ (in double theDX,
in double theDY,
in double theDZ) ;
GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2) ;
GEOM_Object MakeFaceHW (in double theH,
in double theW,
in short theOrientation) ;
GEOM_Object MakeFaceObjHW (in GEOM_Object theObj,
in double theH,
in double theW) ;
GEOM_Object MakeDiskPntVecR (in GEOM_Object thePnt,
in GEOM_Object theVec,
in double theR) ;
GEOM_Object MakeDiskThreePnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3) ;
GEOM_Object MakeDiskR (in double theR,
in short theOrientation) ;
GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
in GEOM_Object theAxis,
in double theRadius,
in double theHeight) ;
GEOM_Object MakeCylinderRH (in double theR,
in double theH) ;
GEOM_Object MakeSphere (in double theX,
in double theY,
in double theZ,
in double theRadius) ;
GEOM_Object MakeSphereR (in double theR) ;
GEOM_Object MakeSpherePntR (in GEOM_Object thePnt,
in double theR) ;
GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
in GEOM_Object theVec,
in double theRMajor,
in double theRMinor) ;
GEOM_Object MakeTorusRR (in double theRMajor,
in double theRMinor) ;
GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
in GEOM_Object theAxis,
in double theR1,
in double theR2,
in double theHeight) ;
GEOM_Object MakeConeR1R2H (in double theR1,
in double theR2,
in double theHeight) ;
GEOM_Object MakePrismVecH (in GEOM_Object theBase,
in GEOM_Object theVec,
in double theH) ;
GEOM_Object MakePrismVecH2Ways (in GEOM_Object theBase,
in GEOM_Object theVec,
in double theH) ;
GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2) ;
GEOM_Object MakePrismTwoPnt2Ways (in GEOM_Object theBase,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2) ;
GEOM_Object MakePipe (in GEOM_Object theBase,
in GEOM_Object thePath) ;
GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
in GEOM_Object theAxis,
in double theAngle) ;
GEOM_Object MakeRevolutionAxisAngle2Ways (in GEOM_Object theBase,
in GEOM_Object theAxis,
in double theAngle) ;
GEOM_Object MakeFilling (in GEOM_Object theShape,
in long theMinDeg, in long theMaxDeg,
in double theTol2D, in double theTol3D,
in long theNbIter, in boolean theApprox) ;
GEOM_Object MakeThruSections(in ListOfGO theSeqSections,
in boolean theModeSolid,
in double thePreci,
in boolean theRuled);
GEOM_Object MakePipeWithDifferentSections (in ListOfGO theSeqBases,
in ListOfGO theLocations,
in GEOM_Object thePath,
in boolean theWithContact ,
in boolean theWithCorrection );
GEOM_Object MakePipeWithShellSections (in ListOfGO theSeqBases,
in ListOfGO theSeqSubBases,
in ListOfGO theLocations,
in GEOM_Object thePath,
in boolean theWithContact ,
in boolean theWithCorrection );
GEOM_Object MakePipeShellsWithoutPath (in ListOfGO theSeqBases,
in ListOfGO theLocations );
GEOM_Object MakePipeBiNormalAlongVector (in GEOM_Object theBase,
in GEOM_Object thePath,
in GEOM_Object theVec);
//-----------------------------------------------------------//
// BooleanOperations //
//-----------------------------------------------------------//
GEOM_Object MakeBoolean (in GEOM_Object theShape1,
in GEOM_Object theShape2,
in long theOperation) ;
GEOM_Object MakeFuse (in GEOM_Object theShape1,
in GEOM_Object theShape2) ;
GEOM_Object MakePartition (in GEOM_List theShapes,
in GEOM_List theTools,
in GEOM_List theKeepInside,
in GEOM_List theRemoveInside,
in short theLimit,
in boolean theRemoveWebs,
in GEOM_List theMaterials,
in short theKeepNonlimitShapes);
GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
in GEOM_Object thePlane) ;
//-----------------------------------------------------------//
// InsertOperations //
//-----------------------------------------------------------//
GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
GEOM_Object Import (in string theFileName, in string theFormatName) ;
void ImportTranslators (out string_array theFormats,
out string_array thePatterns) ;
void ExportTranslators (out string_array theFormats,
out string_array thePatterns) ;
//-----------------------------------------------------------//
// TransformOperations //
//-----------------------------------------------------------//
GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2) ;
GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2) ;
GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
in double theDX,
in double theDY,
in double theDZ) ;
GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
in double theDX,
in double theDY,
in double theDZ) ;
GEOM_Object TranslateVector (in GEOM_Object theObject,
in GEOM_Object theVector) ;
GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
in GEOM_Object theVector) ;
GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
in GEOM_Object theVector,
in double theDistance,
in boolean theCopy) ;
GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
in GEOM_Object theVector,
in double theStep,
in long theNbTimes) ;
GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
in GEOM_Object theVector1,
in double theStep1,
in long theNbTimes1,
in GEOM_Object theVector2,
in double theStep2,
in long theNbTimes2) ;
GEOM_Object Rotate (in GEOM_Object theObject,
in GEOM_Object theAxis,
in double theAngle) ;
GEOM_Object RotateCopy (in GEOM_Object theObject,
in GEOM_Object theAxis,
in double theAngle) ;
GEOM_Object RotateThreePoints (in GEOM_Object theObject,
in GEOM_Object theCentPoint,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2);
GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
in GEOM_Object theCentPoint,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2);
GEOM_Object MultiRotate1D (in GEOM_Object theObject,
in GEOM_Object theAxis,
in long theNbTimes) ;
GEOM_Object MultiRotate2D (in GEOM_Object theObject,
in GEOM_Object theAxis,
in double theAngle,
in long theNbTimes1,
in double theStep,
in long theNbTimes2) ;
GEOM_Object MirrorPlane (in GEOM_Object theObject,
in GEOM_Object thePlane) ;
GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject,
in GEOM_Object thePlane) ;
GEOM_Object MirrorAxis (in GEOM_Object theObject,
in GEOM_Object theAxis) ;
GEOM_Object MirrorAxisCopy (in GEOM_Object theObject,
in GEOM_Object theAxis) ;
GEOM_Object MirrorPoint (in GEOM_Object theObject,
in GEOM_Object thePoint) ;
GEOM_Object MirrorPointCopy (in GEOM_Object theObject,
in GEOM_Object thePoint) ;
GEOM_Object OffsetShape (in GEOM_Object theObject,
in double theOffset) ;
GEOM_Object OffsetShapeCopy (in GEOM_Object theObject,
in double theOffset) ;
GEOM_Object ScaleShape (in GEOM_Object theObject,
in GEOM_Object thePoint,
in double theFactor) ;
GEOM_Object ScaleShapeCopy (in GEOM_Object theObject,
in GEOM_Object thePoint,
in double theFactor) ;
GEOM_Object ScaleShapeAlongAxes (in GEOM_Object theObject,
in GEOM_Object thePoint,
in double theFactorX,
in double theFactorY,
in double theFactorZ);
GEOM_Object ScaleShapeAlongAxesCopy (in GEOM_Object theObject,
in GEOM_Object thePoint,
in double theFactorX,
in double theFactorY,
in double theFactorZ);
GEOM_Object PositionShape (in GEOM_Object theObject,
in GEOM_Object theStartLCS,
in GEOM_Object theEndLCS) ;
GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
in GEOM_Object theStartLCS,
in GEOM_Object theEndLCS) ;
GEOM_Object PositionAlongPath (in GEOM_Object theObject,
in GEOM_Object thePath,
in double theDistance,
in boolean theCopy,
in boolean theReverse);
//-----------------------------------------------------------//
// ShapesOperations //
//-----------------------------------------------------------//
GEOM_Object MakeEdge (in GEOM_Object thePnt1,
in GEOM_Object thePnt2) ;
GEOM_Object MakeWire (in GEOM_List theEdgesAndWires) ;
GEOM_Object MakeFace (in GEOM_Object theWire,
in boolean isPlanarWanted) ;
GEOM_Object MakeFaceWires (in GEOM_List theWires,
in boolean isPlanarWanted) ;
GEOM_Object MakeShell (in GEOM_List theFacesAndShells) ;
GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
GEOM_Object MakeSolidShells (in GEOM_List theShells) ;
GEOM_Object MakeCompound (in GEOM_List theShapes) ;
GEOM_Object MakeGlueFaces (in GEOM_Object theShape,
in double theTolerance,
in boolean doKeepNonSolids);
GEOM_List GetGlueFaces (in GEOM_Object theShape,
in double theTolerance);
GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape,
in double theTolerance,
in ListOfGO theFaces,
in boolean doKeepNonSolids);
GEOM_List MakeExplode (in GEOM_Object theShape,
in long theShapeType,
in boolean isSorted) ;
long NumberOfFaces (in GEOM_Object theShape) ;
long NumberOfEdges (in GEOM_Object theShape) ;
GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
GEOM_List GetShapesOnShape (in GEOM_Object theCheckShape,
in GEOM_Object theShape,
in short theShapeType,
in shape_state theState);
GEOM_Object GetShapesOnShapeAsCompound (in GEOM_Object theCheckShape,
in GEOM_Object theShape,
in short theShapeType,
in shape_state theState);
//-----------------------------------------------------------//
// BlocksOperations //
//-----------------------------------------------------------//
GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3,
in GEOM_Object thePnt4) ;
GEOM_Object MakeQuad (in GEOM_Object theEdge1,
in GEOM_Object theEdge2,
in GEOM_Object theEdge3,
in GEOM_Object theEdge4) ;
GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
in GEOM_Object theEdge2) ;
GEOM_Object MakeHexa (in GEOM_Object theFace1,
in GEOM_Object theFace2,
in GEOM_Object theFace3,
in GEOM_Object theFace4,
in GEOM_Object theFace5,
in GEOM_Object theFace6) ;
GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
in GEOM_Object theFace2) ;
GEOM_Object GetPoint (in GEOM_Object theShape,
in double theX,
in double theY,
in double theZ,
in double theEpsilon) ;
GEOM_Object GetEdge (in GEOM_Object theShape,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2) ;
GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
in GEOM_Object thePoint) ;
GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
in GEOM_Object thePoint1,
in GEOM_Object thePoint2,
in GEOM_Object thePoint3,
in GEOM_Object thePoint4) ;
GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
in GEOM_Object theEdge1,
in GEOM_Object theEdge2) ;
GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
in GEOM_Object theFace) ;
GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
in GEOM_Object thePoint) ;
GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
in GEOM_Object theVector) ;
boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
in long theMinNbFaces,
in long theMaxNbFaces,
out long theNbBlocks) ;
boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
out GEOM_IBlocksOperations::BCErrors theErrors) ;
string PrintBCErrors (in GEOM_Object theCompound,
in GEOM_IBlocksOperations::BCErrors theErrors) ;
GEOM_List ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
in long theMinNbFaces,
in long theMaxNbFaces) ;
GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
in GEOM_Object thePoint) ;
GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
in GEOM_List theParts) ;
GEOM_List GetBlocksByParts (in GEOM_Object theCompound,
in GEOM_List theParts) ;
GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
in long theDirFace1,
in long theDirFace2,
in long theNbTimes) ;
GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
in long theDirFace1U,
in long theDirFace2U,
in long theNbTimesU,
in long theDirFace1V,
in long theDirFace2V,
in long theNbTimesV) ;
//-----------------------------------------------------------//
// CurvesOperations //
//-----------------------------------------------------------//
GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
in GEOM_Object theVec,
in double theR) ;
GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3) ;
GEOM_Object MakeCircleCenter2Pnt (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3) ;
GEOM_Object MakeEllipse (in GEOM_Object thePnt,
in GEOM_Object theVec,
in double theRMajor,
in double theRMinor) ;
GEOM_Object MakeArc (in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in GEOM_Object thePnt3) ;
GEOM_Object MakeArcCenter (in GEOM_Object theCenter,
in GEOM_Object thePnt1,
in GEOM_Object thePnt2,
in boolean theSense) ;
GEOM_Object MakeArcOfEllipse (in GEOM_Object theCenter,
in GEOM_Object thePnt1,
in GEOM_Object thePnt2) ;
GEOM_Object MakePolyline (in GEOM_List thePoints) ;
GEOM_Object MakeSplineBezier (in GEOM_List thePoints) ;
GEOM_Object MakeSplineInterpolation (in GEOM_List thePoints) ;
GEOM_Object MakeSketcher (in string theCommand,
in GEOM_List theWorkingPlane) ;
//-----------------------------------------------------------//
// LocalOperations //
//-----------------------------------------------------------//
GEOM_Object MakeFilletAll (in GEOM_Object theShape,
in double theR) ;
GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
in double theR,
in GEOM_List theEdges) ;
GEOM_Object MakeFilletEdgesR1R2 (in GEOM_Object theShape,
in double theR1,
in double theR2,
in GEOM_List theEdges) ;
GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
in double theR,
in GEOM_List theFaces) ;
GEOM_Object MakeFilletFacesR1R2 (in GEOM_Object theShape,
in double theR1,
in double theR2,
in GEOM_List theFaces) ;
GEOM_Object MakeFillet2D (in GEOM_Object theShape,
in double theR,
in GEOM_List theVertexes) ;
GEOM_Object MakeChamferAll (in GEOM_Object theShape,
in double theD) ;
GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
in double theD1, in double theD2,
in long theFace1, in long theFace2) ;
GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape,
in double theD, in double theAngle,
in long theFace1, in long theFace2) ;
GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
in double theD1, in double theD2,
in GEOM_List theFaces) ;
GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape,
in double theD, in double theAngle,
in GEOM_List theFaces) ;
GEOM_Object MakeChamferEdges (in GEOM_Object theShape,
in double theD1, in double theD2,
in GEOM_List theEdges) ;
GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape,
in double theD, in double theAngle,
in GEOM_List theEdges) ;
GEOM_Object MakeArchimede (in GEOM_Object theShape,
in double theWeight,
in double theWaterDensity,
in double theMeshDeflection) ;
long GetSubShapeIndex (in GEOM_Object theShape,
in GEOM_Object theSubShape) ;
//-----------------------------------------------------------//
// GroupOperations //
//-----------------------------------------------------------//
GEOM_Object CreateGroup (in GEOM_Object theMainShape,
in long theShapeType) ;
void AddObject (in GEOM_Object theGroup,
in long theSubShapeId) ;
void RemoveObject (in GEOM_Object theGroup,
in long theSubShapeId) ;
long GetType (in GEOM_Object theGroup) ;
GEOM_Object GetMainShape(in GEOM_Object theGroup) ;
GEOM_List GetObjects(in GEOM_Object theGroup) ;
};
};
#endif