mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-25 17:00:35 +05:00
419 lines
17 KiB
Plaintext
419 lines
17 KiB
Plaintext
// 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_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 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 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) ;
|
|
|
|
//-----------------------------------------------------------//
|
|
// 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 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 MakePrismTwoPnt (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 MakeFilling (in GEOM_Object theShape,
|
|
in long theMinDeg, in long theMaxDeg,
|
|
in double theTol2D, in double theTol3D,
|
|
in long theNbIter) ;
|
|
|
|
//-----------------------------------------------------------//
|
|
// 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) ;
|
|
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 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 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 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) ;
|
|
|
|
//-----------------------------------------------------------//
|
|
// 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) ;
|
|
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) ;
|
|
|
|
//-----------------------------------------------------------//
|
|
// 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 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 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 MakeFilletFaces (in GEOM_Object theShape,
|
|
in double theR,
|
|
in GEOM_List theFaces) ;
|
|
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 MakeChamferFaces (in GEOM_Object theShape,
|
|
in double theD1, in double theD2,
|
|
in GEOM_List theFaces) ;
|
|
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
|