00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __GEOM_SUPERV_I_H__
00024 #define __GEOM_SUPERV_I_H__
00025
00026
00027 #include <SALOMEconfig.h>
00028 #include CORBA_SERVER_HEADER(GEOM_Superv)
00029
00030 #include "GEOM_Gen_i.hh"
00031 #include "GEOM_List_i.hh"
00032
00033 class GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
00034 public Engines_Component_i
00035 {
00036 public:
00037 GEOM_Superv_i(CORBA::ORB_ptr orb,
00038 PortableServer::POA_ptr poa,
00039 PortableServer::ObjectId * contId,
00040 const char *instanceName,
00041 const char *interfaceName);
00042 ~GEOM_Superv_i();
00043
00044
00045 void register_name(char * name);
00046 void setGeomEngine();
00047
00048 void getBasicOp();
00049 void get3DPrimOp();
00050 void getBoolOp();
00051 void getInsOp();
00052 void getTransfOp();
00053 void getShapesOp();
00054 void getBlocksOp();
00055 void getCurvesOp();
00056 void getLocalOp();
00057 void getGroupOp();
00058 void getAdvancedOp();
00059
00060 PortableServer::ServantBase_var GetServant(CORBA::Object_ptr theObject,
00061 PortableServer::POA_ptr thePOA);
00062
00063
00064
00065
00066 void SetStudyID( CORBA::Long theId );
00067
00068
00069
00070
00071 GEOM::GEOM_List_ptr CreateListOfGO();
00072 void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
00073 GEOM::GEOM_Object_ptr theObject);
00074
00075
00076
00077
00078 GEOM::GEOM_List_ptr CreateListOfLong();
00079 void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
00080 CORBA::Long theObject);
00081
00082
00083
00084
00085 GEOM::GEOM_List_ptr CreateListOfDouble();
00086 void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
00087 CORBA::Double theObject);
00088
00089
00090
00091
00092
00093 SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
00094 const char* theURL,
00095 CORBA::Boolean isMultiFile);
00096
00097 SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
00098 const char* theURL,
00099 CORBA::Boolean isMultiFile);
00100
00101 CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
00102 const SALOMEDS::TMPFile& theStream,
00103 const char* theURL,
00104 CORBA::Boolean isMultiFile);
00105
00106 CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
00107 const SALOMEDS::TMPFile& theStream,
00108 const char* theURL,
00109 CORBA::Boolean isMultiFile);
00110
00111 void Close(SALOMEDS::SComponent_ptr theComponent);
00112 char* ComponentDataType();
00113
00114
00115 char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
00116 const char* IORString,
00117 CORBA::Boolean isMultiFile,
00118 CORBA::Boolean isASCII);
00119 char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
00120 const char* aLocalPersistentID,
00121 CORBA::Boolean isMultiFile,
00122 CORBA::Boolean isASCII);
00123
00124 CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR);
00125 SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
00126 SALOMEDS::SObject_ptr theSObject,
00127 CORBA::Object_ptr theObject,
00128 const char* theName) throw (SALOME::SALOME_Exception) ;
00129
00130 GEOM::ListOfGO* PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
00131
00132 CORBA::Object_ptr theObject);
00133
00134 CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
00135 SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
00136 CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
00137 SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
00138 CORBA::Long theObjectID,
00139 SALOMEDS::SObject_ptr theObject);
00140
00141
00142
00143
00144 GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
00145 CORBA::Double theY,
00146 CORBA::Double theZ);
00147 GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
00148 CORBA::Double theX,
00149 CORBA::Double theY,
00150 CORBA::Double theZ);
00151 GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
00152 CORBA::Double theParameter);
00153 GEOM::GEOM_Object_ptr MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
00154 CORBA::Double theLength,
00155 GEOM::GEOM_Object_ptr theStartPoint);
00156 GEOM::GEOM_Object_ptr MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
00157 CORBA::Double theXParameter,
00158 CORBA::Double theYParameter,
00159 CORBA::Double theZParameter);
00160 GEOM::GEOM_Object_ptr MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
00161 CORBA::Double theUParameter,
00162 CORBA::Double theVParameter);
00163 GEOM::GEOM_Object_ptr MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
00164 CORBA::Double theXParameter,
00165 CORBA::Double theYParameter,
00166 CORBA::Double theZParameter);
00167 GEOM::GEOM_Object_ptr MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
00168 GEOM::GEOM_Object_ptr theRefLine2);
00169 GEOM::GEOM_Object_ptr MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
00170 CORBA::Double theParameter);
00171 GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
00172 CORBA::Double theDY,
00173 CORBA::Double theDZ);
00174 GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00175 GEOM::GEOM_Object_ptr thePnt2);
00176 GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00177 GEOM::GEOM_Object_ptr thePnt2);
00178 GEOM::GEOM_Object_ptr MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
00179 GEOM::GEOM_Object_ptr theFace2);
00180 GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00181 GEOM::GEOM_Object_ptr thePnt2,
00182 GEOM::GEOM_Object_ptr thePnt3,
00183 CORBA::Double theTrimSize);
00184 GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
00185 GEOM::GEOM_Object_ptr theVec,
00186 CORBA::Double theTrimSize);
00187 GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
00188 CORBA::Double theTrimSize);
00189 GEOM::GEOM_Object_ptr MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
00190 GEOM::GEOM_Object_ptr theVec2,
00191 CORBA::Double theTrimSize);
00192 GEOM::GEOM_Object_ptr MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
00193 CORBA::Double theTrimSize,
00194 CORBA::Double theOrientation);
00195 GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
00196 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
00197 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
00198
00199 GEOM::GEOM_Object_ptr MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape);
00200
00201 GEOM::GEOM_Object_ptr MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
00202 GEOM::GEOM_Object_ptr theXVec,
00203 GEOM::GEOM_Object_ptr theYVec);
00204
00205 GEOM::GEOM_Object_ptr MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
00206 CORBA::Double theParameterU,
00207 CORBA::Double theParameterV,
00208 CORBA::Double theTrimSize);
00209
00210
00211
00212
00213 GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
00214 CORBA::Double theY1,
00215 CORBA::Double theZ1,
00216 CORBA::Double theX2,
00217 CORBA::Double theY2,
00218 CORBA::Double theZ2);
00219 GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX,
00220 CORBA::Double theDY,
00221 CORBA::Double theDZ);
00222 GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
00223 GEOM::GEOM_Object_ptr thePnt2);
00224 GEOM::GEOM_Object_ptr MakeFaceHW (CORBA::Double theH,
00225 CORBA::Double theW,
00226 CORBA::Short theOrientation);
00227 GEOM::GEOM_Object_ptr MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
00228 CORBA::Double theH,
00229 CORBA::Double theW);
00230 GEOM::GEOM_Object_ptr MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
00231 GEOM::GEOM_Object_ptr theVector,
00232 CORBA::Double theR);
00233 GEOM::GEOM_Object_ptr MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00234 GEOM::GEOM_Object_ptr thePnt2,
00235 GEOM::GEOM_Object_ptr thePnt3);
00236 GEOM::GEOM_Object_ptr MakeDiskR (CORBA::Double theR,
00237 CORBA::Short theOrientation);
00238 GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
00239 GEOM::GEOM_Object_ptr theAxis,
00240 CORBA::Double theRadius,
00241 CORBA::Double theHeight);
00242 GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR,
00243 CORBA::Double theH);
00244 GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
00245 CORBA::Double theY,
00246 CORBA::Double theZ,
00247 CORBA::Double theRadius);
00248 GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
00249 GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
00250 CORBA::Double theR);
00251 GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
00252 GEOM::GEOM_Object_ptr theVec,
00253 CORBA::Double theRMajor,
00254 CORBA::Double theRMinor);
00255 GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
00256 CORBA::Double theRMinor);
00257 GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
00258 GEOM::GEOM_Object_ptr theAxis,
00259 CORBA::Double theR1,
00260 CORBA::Double theR2,
00261 CORBA::Double theHeight);
00262 GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1,
00263 CORBA::Double theR2,
00264 CORBA::Double theHeight);
00265 GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
00266 GEOM::GEOM_Object_ptr theVec,
00267 CORBA::Double theH);
00268 GEOM::GEOM_Object_ptr MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
00269 GEOM::GEOM_Object_ptr theVec,
00270 CORBA::Double theH);
00271 GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
00272 GEOM::GEOM_Object_ptr thePoint1,
00273 GEOM::GEOM_Object_ptr thePoint2);
00274 GEOM::GEOM_Object_ptr MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
00275 GEOM::GEOM_Object_ptr thePoint1,
00276 GEOM::GEOM_Object_ptr thePoint2);
00277 GEOM::GEOM_Object_ptr MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
00278 CORBA::Double theDX,
00279 CORBA::Double theDY,
00280 CORBA::Double theDZ);
00281 GEOM::GEOM_Object_ptr MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
00282 CORBA::Double theDX,
00283 CORBA::Double theDY,
00284 CORBA::Double theDZ);
00285 GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase,
00286 GEOM::GEOM_Object_ptr thePath);
00287 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
00288 GEOM::GEOM_Object_ptr theAxis,
00289 CORBA::Double theAngle);
00290 GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
00291 GEOM::GEOM_Object_ptr theAxis,
00292 CORBA::Double theAngle);
00293 GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
00294 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
00295 CORBA::Double theTol2D, CORBA::Double theTol3D,
00296 CORBA::Long theNbIter,
00297 GEOM::filling_oper_method theMethod,
00298 CORBA::Boolean theApprox);
00299
00300 GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections,
00301 CORBA::Boolean theModeSolid,
00302 CORBA::Double thePreci,
00303 CORBA::Boolean theRuled);
00304
00305 GEOM::GEOM_Object_ptr MakePipeWithDifferentSections(const GEOM::ListOfGO& theBases,
00306 const GEOM::ListOfGO& theLocations,
00307 GEOM::GEOM_Object_ptr thePath,
00308 CORBA::Boolean theWithContact,
00309 CORBA::Boolean theWithCorrections);
00310
00311 GEOM::GEOM_Object_ptr MakePipeWithShellSections(const GEOM::ListOfGO& theBases,
00312 const GEOM::ListOfGO& theSubBases,
00313 const GEOM::ListOfGO& theLocations,
00314 GEOM::GEOM_Object_ptr thePath,
00315 CORBA::Boolean theWithContact,
00316 CORBA::Boolean theWithCorrections);
00317
00318 GEOM::GEOM_Object_ptr MakePipeShellsWithoutPath(const GEOM::ListOfGO& theBases,
00319 const GEOM::ListOfGO& theLocations);
00320
00321 GEOM::GEOM_Object_ptr MakePipeBiNormalAlongVector (GEOM::GEOM_Object_ptr theBase,
00322 GEOM::GEOM_Object_ptr thePath,
00323 GEOM::GEOM_Object_ptr theVec);
00324
00325
00326
00327
00328 GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
00329 GEOM::GEOM_Object_ptr theShape2,
00330 CORBA::Long theOperation);
00331 GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
00332 GEOM::GEOM_Object_ptr theShape2);
00333 GEOM::GEOM_Object_ptr MakePartition (GEOM::GEOM_List_ptr theShapes,
00334 GEOM::GEOM_List_ptr theTools,
00335 GEOM::GEOM_List_ptr theKeepInside,
00336 GEOM::GEOM_List_ptr theRemoveInside,
00337 CORBA::Short theLimit,
00338 CORBA::Boolean theRemoveWebs,
00339 GEOM::GEOM_List_ptr theMaterials,
00340 CORBA::Short theKeepNonlimitShapes);
00341 GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
00342 GEOM::GEOM_Object_ptr thePlane);
00343
00344
00345
00346
00347 GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
00348 void Export (GEOM::GEOM_Object_ptr theObject,
00349 const char* theFileName,
00350 const char* theFormatName);
00351 GEOM::GEOM_Object_ptr ImportFile (const char* theFileName,
00352 const char* theFormatName);
00353 void ImportTranslators (GEOM::string_array_out theFormats,
00354 GEOM::string_array_out thePatterns);
00355 void ExportTranslators (GEOM::string_array_out theFormats,
00356 GEOM::string_array_out thePatterns);
00357
00358
00359
00360
00361 GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
00362 GEOM::GEOM_Object_ptr thePoint1,
00363 GEOM::GEOM_Object_ptr thePoint2);
00364 GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
00365 GEOM::GEOM_Object_ptr thePoint1,
00366 GEOM::GEOM_Object_ptr thePoint2);
00367 GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
00368 CORBA::Double theDX,
00369 CORBA::Double theDY,
00370 CORBA::Double theDZ);
00371 GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
00372 CORBA::Double theDX,
00373 CORBA::Double theDY,
00374 CORBA::Double theDZ);
00375 GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
00376 GEOM::GEOM_Object_ptr theVector);
00377 GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
00378 GEOM::GEOM_Object_ptr theVector);
00379 GEOM::GEOM_Object_ptr TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
00380 GEOM::GEOM_Object_ptr theVector,
00381 CORBA::Double theDistance,
00382 CORBA::Boolean theCopy);
00383 GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
00384 GEOM::GEOM_Object_ptr theVector,
00385 CORBA::Double theStep,
00386 CORBA::Long theNbTimes);
00387 GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
00388 GEOM::GEOM_Object_ptr theVector1,
00389 CORBA::Double theStep1,
00390 CORBA::Long theNbTimes1,
00391 GEOM::GEOM_Object_ptr theVector2,
00392 CORBA::Double theStep2,
00393 CORBA::Long theNbTimes2);
00394 GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
00395 GEOM::GEOM_Object_ptr theAxis,
00396 CORBA::Double theAngle);
00397 GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
00398 GEOM::GEOM_Object_ptr theAxis,
00399 CORBA::Double theAngle);
00400
00401 GEOM::GEOM_Object_ptr RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
00402 GEOM::GEOM_Object_ptr theCentPoint,
00403 GEOM::GEOM_Object_ptr thePoint1,
00404 GEOM::GEOM_Object_ptr thePoint2);
00405
00406 GEOM::GEOM_Object_ptr RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
00407 GEOM::GEOM_Object_ptr theCentPoint,
00408 GEOM::GEOM_Object_ptr thePoint1,
00409 GEOM::GEOM_Object_ptr thePoint2);
00410
00411 GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
00412 GEOM::GEOM_Object_ptr theAxis,
00413 CORBA::Long theNbTimes);
00414 GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
00415 GEOM::GEOM_Object_ptr theAxis,
00416 CORBA::Double theAngle,
00417 CORBA::Long theNbTimes1,
00418 CORBA::Double theStep,
00419 CORBA::Long theNbTimes2);
00420 GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject,
00421 GEOM::GEOM_Object_ptr thePlane);
00422 GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
00423 GEOM::GEOM_Object_ptr thePlane);
00424 GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject,
00425 GEOM::GEOM_Object_ptr theAxis);
00426 GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
00427 GEOM::GEOM_Object_ptr theAxis);
00428 GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject,
00429 GEOM::GEOM_Object_ptr thePoint);
00430 GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
00431 GEOM::GEOM_Object_ptr thePoint);
00432 GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject,
00433 CORBA::Double theOffset);
00434 GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
00435 CORBA::Double theOffset);
00436 GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject,
00437 GEOM::GEOM_Object_ptr thePoint,
00438 CORBA::Double theFactor);
00439 GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
00440 GEOM::GEOM_Object_ptr thePoint,
00441 CORBA::Double theFactor);
00442 GEOM::GEOM_Object_ptr ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
00443 GEOM::GEOM_Object_ptr thePoint,
00444 CORBA::Double theFactorX,
00445 CORBA::Double theFactorY,
00446 CORBA::Double theFactorZ);
00447 GEOM::GEOM_Object_ptr ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
00448 GEOM::GEOM_Object_ptr thePoint,
00449 CORBA::Double theFactorX,
00450 CORBA::Double theFactorY,
00451 CORBA::Double theFactorZ);
00452 GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
00453 GEOM::GEOM_Object_ptr theStartLCS,
00454 GEOM::GEOM_Object_ptr theEndLCS);
00455 GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
00456 GEOM::GEOM_Object_ptr theStartLCS,
00457 GEOM::GEOM_Object_ptr theEndLCS);
00458 GEOM::GEOM_Object_ptr PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
00459 GEOM::GEOM_Object_ptr thePath,
00460 CORBA::Double theDistance,
00461 CORBA::Boolean theCopy,
00462 CORBA::Boolean theReverse);
00463
00464
00465
00466
00467 GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
00468 GEOM::GEOM_Object_ptr thePnt2);
00469 GEOM::GEOM_Object_ptr MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
00470 CORBA::Double theLength,
00471 GEOM::GEOM_Object_ptr theStartPoint);
00472 GEOM::GEOM_Object_ptr MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
00473 CORBA::Double theTolerance);
00474 GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
00475 CORBA::Boolean isPlanarWanted);
00476 GEOM::GEOM_Object_ptr MakeFaceWires (GEOM::GEOM_List_ptr theWires,
00477 CORBA::Boolean isPlanarWanted);
00478 GEOM::GEOM_Object_ptr MakeShell (GEOM::GEOM_List_ptr theFacesAndShells);
00479 GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
00480 GEOM::GEOM_Object_ptr MakeSolidShells (GEOM::GEOM_List_ptr theShells);
00481 GEOM::GEOM_Object_ptr MakeCompound (GEOM::GEOM_List_ptr theShapes);
00482 GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
00483 CORBA::Double theTolerance,
00484 CORBA::Boolean doKeepNonSolids);
00485 GEOM::GEOM_List_ptr GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
00486 CORBA::Double theTolerance);
00487 GEOM::GEOM_Object_ptr MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
00488 CORBA::Double theTolerance,
00489 const GEOM::ListOfGO& theFaces,
00490 CORBA::Boolean doKeepNonSolids,
00491 CORBA::Boolean doGlueAllEdges);
00492 GEOM::GEOM_List_ptr MakeExplode (GEOM::GEOM_Object_ptr theShape,
00493 CORBA::Long theShapeType,
00494 CORBA::Boolean isSorted);
00495 CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
00496 CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
00497 GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
00498
00499 GEOM::GEOM_List_ptr GetShapesOnShape (GEOM::GEOM_Object_ptr theCheckShape,
00500 GEOM::GEOM_Object_ptr theShape,
00501 CORBA::Short theShapeType,
00502 GEOM::shape_state theState);
00503 GEOM::GEOM_Object_ptr GetShapesOnShapeAsCompound
00504 (GEOM::GEOM_Object_ptr theCheckShape,
00505 GEOM::GEOM_Object_ptr theShape,
00506 CORBA::Short theShapeType,
00507 GEOM::shape_state theState);
00508
00509
00510
00511
00512
00513 GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
00514 GEOM::GEOM_Object_ptr thePnt2,
00515 GEOM::GEOM_Object_ptr thePnt3,
00516 GEOM::GEOM_Object_ptr thePnt4);
00517 GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
00518 GEOM::GEOM_Object_ptr theEdge2,
00519 GEOM::GEOM_Object_ptr theEdge3,
00520 GEOM::GEOM_Object_ptr theEdge4);
00521 GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
00522 GEOM::GEOM_Object_ptr theEdge2);
00523 GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
00524 GEOM::GEOM_Object_ptr theFace2,
00525 GEOM::GEOM_Object_ptr theFace3,
00526 GEOM::GEOM_Object_ptr theFace4,
00527 GEOM::GEOM_Object_ptr theFace5,
00528 GEOM::GEOM_Object_ptr theFace6);
00529 GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
00530 GEOM::GEOM_Object_ptr theFace2);
00531 GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
00532 CORBA::Double theX,
00533 CORBA::Double theY,
00534 CORBA::Double theZ,
00535 CORBA::Double theEpsilon);
00536 GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
00537 GEOM::GEOM_Object_ptr thePoint1,
00538 GEOM::GEOM_Object_ptr thePoint2);
00539 GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
00540 GEOM::GEOM_Object_ptr thePoint);
00541 GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
00542 GEOM::GEOM_Object_ptr thePoint1,
00543 GEOM::GEOM_Object_ptr thePoint2,
00544 GEOM::GEOM_Object_ptr thePoint3,
00545 GEOM::GEOM_Object_ptr thePoint4);
00546 GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
00547 GEOM::GEOM_Object_ptr theEdge1,
00548 GEOM::GEOM_Object_ptr theEdge2);
00549 GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
00550 GEOM::GEOM_Object_ptr theFace);
00551 GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
00552 GEOM::GEOM_Object_ptr thePoint);
00553 GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
00554 GEOM::GEOM_Object_ptr theVector);
00555 CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00556 CORBA::Long theMinNbFaces,
00557 CORBA::Long theMaxNbFaces,
00558 CORBA::Long& theNbBlocks);
00559 CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00560 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
00561 char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
00562 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
00563 GEOM::GEOM_List_ptr ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
00564 CORBA::Long theMinNbFaces,
00565 CORBA::Long theMaxNbFaces);
00566 GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
00567 GEOM::GEOM_Object_ptr thePoint);
00568 GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
00569 GEOM::GEOM_List_ptr theParts);
00570 GEOM::GEOM_List_ptr GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
00571 GEOM::GEOM_List_ptr theParts);
00572 GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
00573 CORBA::Long theDirFace1,
00574 CORBA::Long theDirFace2,
00575 CORBA::Long theNbTimes);
00576 GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
00577 CORBA::Long theDirFace1U,
00578 CORBA::Long theDirFace2U,
00579 CORBA::Long theNbTimesU,
00580 CORBA::Long theDirFace1V,
00581 CORBA::Long theDirFace2V,
00582 CORBA::Long theNbTimesV);
00583
00584
00585
00586
00587 GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
00588 GEOM::GEOM_Object_ptr theVector,
00589 CORBA::Double theR);
00590 GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
00591 GEOM::GEOM_Object_ptr thePnt2,
00592 GEOM::GEOM_Object_ptr thePnt3);
00593 GEOM::GEOM_Object_ptr MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
00594 GEOM::GEOM_Object_ptr thePnt2,
00595 GEOM::GEOM_Object_ptr thePnt3);
00596 GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
00597 GEOM::GEOM_Object_ptr theVector,
00598 CORBA::Double theRMajor, CORBA::Double theRMinor);
00599 GEOM::GEOM_Object_ptr MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
00600 GEOM::GEOM_Object_ptr theVector,
00601 CORBA::Double theRMajor, CORBA::Double theRMinor,
00602 GEOM::GEOM_Object_ptr theVectorMajor);
00603 GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
00604 GEOM::GEOM_Object_ptr thePnt2,
00605 GEOM::GEOM_Object_ptr thePnt3);
00606 GEOM::GEOM_Object_ptr MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
00607 GEOM::GEOM_Object_ptr thePnt1,
00608 GEOM::GEOM_Object_ptr thePnt2,
00609 CORBA::Boolean theSense);
00610 GEOM::GEOM_Object_ptr MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
00611 GEOM::GEOM_Object_ptr thePnt2,
00612 GEOM::GEOM_Object_ptr thePnt3);
00613 GEOM::GEOM_Object_ptr MakePolyline (GEOM::GEOM_List_ptr thePoints,
00614 CORBA::Boolean theIsClosed);
00615 GEOM::GEOM_Object_ptr MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
00616 CORBA::Boolean theIsClosed);
00617 GEOM::GEOM_Object_ptr MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
00618 CORBA::Boolean theIsClosed,
00619 CORBA::Boolean theDoReordering);
00620 GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand,
00621 GEOM::GEOM_List_ptr theWorkingPlane);
00622 GEOM::GEOM_Object_ptr Make3DSketcher (GEOM::GEOM_List_ptr theCoordinates);
00623
00624
00625
00626
00627 GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
00628 CORBA::Double theR);
00629 GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00630 GEOM::GEOM_List_ptr theEdges);
00631 GEOM::GEOM_Object_ptr MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
00632 CORBA::Double theR2, GEOM::GEOM_List_ptr theEdges);
00633 GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00634 GEOM::GEOM_List_ptr theFaces);
00635 GEOM::GEOM_Object_ptr MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR1,
00636 CORBA::Double theR2, GEOM::GEOM_List_ptr theFaces);
00637 GEOM::GEOM_Object_ptr MakeFillet2D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00638 GEOM::GEOM_List_ptr theVertexes);
00639 GEOM::GEOM_Object_ptr MakeFillet1D (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
00640 GEOM::GEOM_List_ptr theVertexes);
00641 GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
00642 GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
00643 CORBA::Double theD1, CORBA::Double theD2,
00644 CORBA::Long theFace1, CORBA::Long theFace2);
00645 GEOM::GEOM_Object_ptr MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
00646 CORBA::Double theD, CORBA::Double theAngle,
00647 CORBA::Long theFace1, CORBA::Long theFace2);
00648 GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
00649 CORBA::Double theD1, CORBA::Double theD2,
00650 GEOM::GEOM_List_ptr theFaces);
00651 GEOM::GEOM_Object_ptr MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
00652 CORBA::Double theD, CORBA::Double theAngle,
00653 GEOM::GEOM_List_ptr theFaces);
00654 GEOM::GEOM_Object_ptr MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
00655 CORBA::Double theD1, CORBA::Double theD2,
00656 GEOM::GEOM_List_ptr theEdges);
00657 GEOM::GEOM_Object_ptr MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
00658 CORBA::Double theD, CORBA::Double theAngle,
00659 GEOM::GEOM_List_ptr theEdges);
00660 GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
00661 CORBA::Double theWeight,
00662 CORBA::Double theWaterDensity,
00663 CORBA::Double theMeshingDeflection);
00664 CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
00665 GEOM::GEOM_Object_ptr theSubShape);
00666
00667
00668
00669
00670 GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
00671 CORBA::Long theShapeType);
00672 void AddObject (GEOM::GEOM_Object_ptr theGroup,
00673 CORBA::Long theSubShapeId);
00674 void RemoveObject (GEOM::GEOM_Object_ptr theGroup,
00675 CORBA::Long theSubShapeId);
00676 CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
00677 GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
00678 GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
00679
00680
00681
00682
00683 GEOM::GEOM_List_ptr MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00684 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00685 CORBA::Boolean theHexMesh);
00686 GEOM::GEOM_List_ptr MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00687 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00688 CORBA::Boolean theHexMesh,
00689 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00690 GEOM::GEOM_List_ptr MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00691 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00692 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh);
00693 GEOM::GEOM_List_ptr MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00694 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00695 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
00696 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00697 GEOM::GEOM_List_ptr MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00698 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00699 CORBA::Double theRF, CORBA::Boolean theHexMesh);
00700 GEOM::GEOM_List_ptr MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
00701 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
00702 CORBA::Double theRF, CORBA::Boolean theHexMesh,
00703 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
00704
00705
00706 private:
00707 SALOME_NamingService * name_service;
00708 GEOM::GEOM_Gen_var myGeomEngine;
00709 CORBA::Long myStudyID;
00710 CORBA::Long myLastStudyID;
00711 PortableServer::POA_var myPOA;
00712
00713 GEOM::GEOM_IBasicOperations_var myBasicOp;
00714 GEOM::GEOM_I3DPrimOperations_var my3DPrimOp;
00715 GEOM::GEOM_IBooleanOperations_var myBoolOp;
00716 GEOM::GEOM_IInsertOperations_var myInsOp;
00717 GEOM::GEOM_ITransformOperations_var myTransfOp;
00718 GEOM::GEOM_IShapesOperations_var myShapesOp;
00719 GEOM::GEOM_IBlocksOperations_var myBlocksOp;
00720 GEOM::GEOM_ICurvesOperations_var myCurvesOp;
00721 GEOM::GEOM_ILocalOperations_var myLocalOp;
00722 GEOM::GEOM_IGroupOperations_var myGroupOp;
00723 GEOM::GEOM_IAdvancedOperations_var myAdvancedOp;
00724 };
00725
00726 #endif