1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #include "GEOM_Superv_i.hh"
22 #include "SALOME_LifeCycleCORBA.hxx"
24 #include CORBA_SERVER_HEADER(SALOME_Session)
25 #include "SALOMEDSClient_ClientFactory.hxx"
27 #define isNewStudy(a,b) (a > 0 && a != b)
30 //=============================================================================
32 //=============================================================================
33 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
34 PortableServer::POA_ptr poa,
35 PortableServer::ObjectId * contId,
36 const char *instanceName,
37 const char *interfaceName) :
38 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
40 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
43 _id = _poa->activate_object(_thisObj);
44 name_service = new SALOME_NamingService(_orb);
45 //get RootPOA (the default)
46 //myPOA = PortableServer::RefCountServantBase::_default_POA();
47 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
48 myPOA = PortableServer::POA::_narrow(anObj);
55 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
56 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
57 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
58 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
59 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
60 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
61 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
62 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
63 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
64 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
67 //=============================================================================
69 //=============================================================================
70 GEOM_Superv_i::~GEOM_Superv_i()
72 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
73 if (!CORBA::is_nil(myBasicOp))
75 if (!CORBA::is_nil(myBoolOp))
77 if (!CORBA::is_nil(my3DPrimOp))
78 my3DPrimOp->Destroy();
82 //============================================================================
83 // function : register()
84 // purpose : register 'name' in 'name_service'
85 //============================================================================
86 void GEOM_Superv_i::register_name(char * name)
88 GEOM::GEOM_Superv_var g = _this();
89 name_service->Register(g, name);
92 //=============================================================================
94 //=============================================================================
95 void GEOM_Superv_i::setGeomEngine()
97 if ( !CORBA::is_nil(myGeomEngine) )
100 // get GEOM_Gen engine
101 Engines::Container_var cont=GetContainerRef();
102 CORBA::String_var container_name=cont->name();
103 std::string shortName=container_name.in();
104 shortName=shortName.substr(12); // substract "/Containers/"
105 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
106 Engines::Component_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
109 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
112 //=============================================================================
114 //=============================================================================
115 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
117 // mkr : PAL10770 -->
118 myLastStudyID = myStudyID;
120 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
121 if ( !CORBA::is_nil(anObject) ) {
122 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
123 if ( !CORBA::is_nil(aSession) ) {
124 int aStudyID = aSession->GetActiveStudyId();
125 if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128
126 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
127 myStudyID = aStudyID;
130 myStudyID = theId; // mkr : IPAL12128
134 if ( isNewStudy(myLastStudyID,myStudyID) ) {
135 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
136 string anEngine = _orb->object_to_string( myGeomEngine );
138 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
139 if ( !CORBA::is_nil(anObj) ) {
140 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
141 if ( !CORBA::is_nil(aStudyManager) ) {
142 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
144 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
146 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
147 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
153 // mkr : PAL10770 <--
156 //=============================================================================
158 //=============================================================================
159 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
161 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
162 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
163 return aListPtr->_this();
166 //=============================================================================
167 // AddItemToListOfGO:
168 //=============================================================================
169 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
170 GEOM::GEOM_Object_ptr theObject)
172 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
173 if (GEOM_List_i<GEOM::ListOfGO>* aList =
174 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
175 aList->AddObject(theObject);
176 MESSAGE(" NewLength = "<<aList->GetList().length());
180 //=============================================================================
182 //=============================================================================
183 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
185 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
186 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
187 return aListPtr->_this();
190 //=============================================================================
191 // AddItemToListOfLong:
192 //=============================================================================
193 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
194 CORBA::Long theObject)
196 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
197 if (GEOM_List_i<GEOM::ListOfLong>* aList =
198 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
199 aList->AddObject(theObject);
200 MESSAGE(" NewLength = "<<aList->GetList().length());
204 //=============================================================================
205 // CreateListOfDouble:
206 //=============================================================================
207 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
209 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
210 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
211 return aListPtr->_this();
214 //=============================================================================
215 // AddItemToListOfDouble:
216 //=============================================================================
217 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
218 CORBA::Double theObject)
220 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
221 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
222 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
223 aList->AddObject(theObject);
224 MESSAGE(" NewLength = "<<aList->GetList().length());
228 //=============================================================================
230 //=============================================================================
231 void GEOM_Superv_i::getBasicOp()
233 if (CORBA::is_nil(myGeomEngine))
235 // get GEOM_IBasicOperations interface
236 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID))
237 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
240 //=============================================================================
242 //=============================================================================
243 void GEOM_Superv_i::get3DPrimOp()
245 if (CORBA::is_nil(myGeomEngine))
247 // get GEOM_I3DPrimOperations interface
248 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID))
249 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
252 //=============================================================================
254 //=============================================================================
255 void GEOM_Superv_i::getBoolOp()
257 if (CORBA::is_nil(myGeomEngine))
259 // get GEOM_IBooleanOperations interface
260 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID))
261 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
264 //=============================================================================
266 //=============================================================================
267 void GEOM_Superv_i::getInsOp()
269 if (CORBA::is_nil(myGeomEngine))
271 // get GEOM_IInsertOperations interface
272 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID))
273 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
276 //=============================================================================
278 //=============================================================================
279 void GEOM_Superv_i::getTransfOp()
281 if (CORBA::is_nil(myGeomEngine))
283 // get GEOM_ITransformOperations interface
284 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID))
285 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
288 //=============================================================================
290 //=============================================================================
291 void GEOM_Superv_i::getShapesOp()
293 if (CORBA::is_nil(myGeomEngine))
295 // get GEOM_IShapesOperations interface
296 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID))
297 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
300 //=============================================================================
302 //=============================================================================
303 void GEOM_Superv_i::getBlocksOp()
305 if (CORBA::is_nil(myGeomEngine))
307 // get GEOM_IBlocksOperations interface
308 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID))
309 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
312 //=============================================================================
314 //=============================================================================
315 void GEOM_Superv_i::getCurvesOp()
317 if (CORBA::is_nil(myGeomEngine))
319 // get GEOM_ICurvesOperations interface
320 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID))
321 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
324 //=============================================================================
326 //=============================================================================
327 void GEOM_Superv_i::getLocalOp()
329 if (CORBA::is_nil(myGeomEngine))
331 // get GEOM_ILocalOperations interface
332 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID))
333 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
336 //=============================================================================
338 //=============================================================================
339 void GEOM_Superv_i::getGroupOp()
341 if (CORBA::is_nil(myGeomEngine))
343 // get GEOM_IGroupOperations interface
344 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
345 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
348 //=============================================================================
350 //=============================================================================
351 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
352 PortableServer::POA_ptr thePOA)
354 if(CORBA::is_nil(theObject)) return NULL;
355 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
359 //============================================================================
361 // purpose : save OCAF/Geom document
362 //============================================================================
363 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
365 CORBA::Boolean isMultiFile)
367 SALOMEDS::TMPFile_var aStreamFile;
368 return aStreamFile._retn();
371 //============================================================================
372 // function : SaveASCII()
374 //============================================================================
375 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
377 CORBA::Boolean isMultiFile)
379 SALOMEDS::TMPFile_var aStreamFile;
380 return aStreamFile._retn();
383 //============================================================================
386 //============================================================================
387 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
388 const SALOMEDS::TMPFile& theStream,
390 CORBA::Boolean isMultiFile)
395 //============================================================================
396 // function : LoadASCII()
398 //============================================================================
399 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
400 const SALOMEDS::TMPFile& theStream,
402 CORBA::Boolean isMultiFile)
407 //============================================================================
408 // function : Close()
410 //============================================================================
411 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
415 //============================================================================
416 // function : ComponentDataType()
418 //============================================================================
419 char* GEOM_Superv_i::ComponentDataType()
424 //============================================================================
425 // function : IORToLocalPersistentID()
427 //============================================================================
428 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
429 const char* IORString,
430 CORBA::Boolean isMultiFile,
431 CORBA::Boolean isASCII)
436 //============================================================================
437 // function : LocalPersistentIDToIOR()
438 // purpose : Create/Load CORBA object from a persistent ref (an entry)
439 // : Used when a study is loaded
440 // : The IOR (IORName) of object created is returned
441 //============================================================================
442 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
443 const char* aLocalPersistentID,
444 CORBA::Boolean isMultiFile,
445 CORBA::Boolean isASCII)
450 //============================================================================
451 // function : CanPublishInStudy
453 //============================================================================
454 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
456 if (CORBA::is_nil(myGeomEngine))
458 return myGeomEngine->CanPublishInStudy(theIOR);
461 //============================================================================
462 // function : PublishInStudy
464 //============================================================================
465 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
466 SALOMEDS::SObject_ptr theSObject,
467 CORBA::Object_ptr theObject,
468 const char* theName) throw (SALOME::SALOME_Exception)
470 if (CORBA::is_nil(myGeomEngine))
472 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
475 //============================================================================
476 // function : CanCopy()
478 //============================================================================
479 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
484 //============================================================================
485 // function : CopyFrom()
487 //============================================================================
488 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
490 SALOMEDS::TMPFile_var aStreamFile;
491 return aStreamFile._retn();
494 //============================================================================
495 // function : CanPaste()
497 //============================================================================
498 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
503 //============================================================================
504 // function : PasteInto()
506 //============================================================================
507 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
508 CORBA::Long theObjectID,
509 SALOMEDS::SObject_ptr theObject)
511 SALOMEDS::SObject_var aNewSO;
512 return aNewSO._retn();
515 //================= Primitives Construction : BasicOperations =================
516 //=============================================================================
518 //=============================================================================
519 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
523 beginService( " GEOM_Superv_i::MakePointXYZ" );
524 MESSAGE("GEOM_Superv_i::MakePointXYZ");
526 // make vertex and return
527 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
528 endService( " GEOM_Superv_i::MakePointXYZ" );
532 //=============================================================================
533 // MakePointWithReference:
534 //=============================================================================
535 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
540 beginService( " GEOM_Superv_i::MakePointWithReference" );
541 MESSAGE("GEOM_Superv_i::MakePointWithReference");
543 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
544 endService( " GEOM_Superv_i::MakePointWithReference" );
548 //=============================================================================
550 //=============================================================================
551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
552 CORBA::Double theParameter)
554 beginService( " GEOM_Superv_i::MakePointOnCurve" );
555 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
557 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
558 endService( " GEOM_Superv_i::MakePointOnCurve" );
562 //=============================================================================
563 // MakePointOnLinesIntersection:
564 //=============================================================================
565 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
566 GEOM::GEOM_Object_ptr theRefLine2)
568 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
569 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
571 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
572 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
576 //=============================================================================
577 // MakeTangentOnCurve:
578 //=============================================================================
579 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
580 CORBA::Double theParameter)
582 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
583 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
585 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
586 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
590 //=============================================================================
592 //=============================================================================
593 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
597 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
598 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
600 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
601 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
605 //=============================================================================
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
609 GEOM::GEOM_Object_ptr thePnt2)
611 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
612 MESSAGE("GEOM_Superv_i::MakeVector");
614 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
615 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
619 //=============================================================================
621 //=============================================================================
622 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
623 GEOM::GEOM_Object_ptr thePnt2)
625 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
626 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
628 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
629 endService( " GEOM_Superv_i::MakeLineTwoPnt");
633 //=============================================================================
635 //=============================================================================
636 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
637 GEOM::GEOM_Object_ptr theFace2)
639 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
640 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
642 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
643 endService( " GEOM_Superv_i::MakeLineTwoFaces");
647 //=============================================================================
648 // MakePlaneThreePnt:
649 //=============================================================================
650 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
651 GEOM::GEOM_Object_ptr thePnt2,
652 GEOM::GEOM_Object_ptr thePnt3,
653 CORBA::Double theTrimSize)
655 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
656 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
658 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
659 endService( " GEOM_Superv_i::MakePlaneThreePnt");
663 //=============================================================================
665 //=============================================================================
666 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
667 GEOM::GEOM_Object_ptr theVec,
668 CORBA::Double theTrimSize)
670 beginService( " GEOM_Superv_i::MakePlanePntVec" );
671 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
673 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
674 endService( " GEOM_Superv_i::MakePlanePntVec" );
678 //=============================================================================
680 //=============================================================================
681 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
682 CORBA::Double theTrimSize)
684 beginService( " GEOM_Superv_i::MakePlaneFace" );
685 MESSAGE("GEOM_Superv_i::MakePlaneFace");
687 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
688 endService( " GEOM_Superv_i::MakePlaneFace" );
692 //=============================================================================
694 //=============================================================================
695 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
696 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
697 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
698 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
700 beginService( " GEOM_Superv_i::MakeMarker" );
701 MESSAGE("GEOM_Superv_i::MakeMarker");
703 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
704 endService( " GEOM_Superv_i::MakeMarker" );
708 //=============================================================================
709 // MakeTangentPlaneOnFace:
710 //=============================================================================
711 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
712 CORBA::Double theParameterU,
713 CORBA::Double theParameterV,
714 CORBA::Double theTrimSize)
716 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
717 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
719 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
720 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
724 //================= Primitives Construction : 3DPrimOperations ================
725 //=============================================================================
727 //=============================================================================
728 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
735 beginService( " GEOM_Superv_i::MakeBox" );
736 MESSAGE("GEOM_Superv_i::MakeBox");
739 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
740 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
741 endService( " GEOM_Superv_i::MakeBox" );
745 //=============================================================================
747 //=============================================================================
748 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
752 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
753 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
755 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
756 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
760 //=============================================================================
762 //=============================================================================
763 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
764 GEOM::GEOM_Object_ptr thePnt2)
766 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
767 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
769 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
770 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
774 //=============================================================================
776 //=============================================================================
777 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
779 CORBA::Short theOrientation)
781 beginService( " GEOM_Superv_i::MakeFaceHW" );
782 MESSAGE("GEOM_Superv_i::MakeFaceHW");
784 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
785 endService( " GEOM_Superv_i::MakeFaceHW" );
789 //=============================================================================
791 //=============================================================================
792 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
796 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
797 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
799 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
800 endService( " GEOM_Superv_i::MakeFaceObjHW" );
804 //=============================================================================
806 //=============================================================================
807 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
808 GEOM::GEOM_Object_ptr theVector,
811 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
812 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
814 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
815 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
819 //=============================================================================
821 //=============================================================================
822 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
823 GEOM::GEOM_Object_ptr thePnt2,
824 GEOM::GEOM_Object_ptr thePnt3)
826 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
827 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
829 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
830 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
834 //=============================================================================
836 //=============================================================================
837 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
838 CORBA::Short theOrientation)
840 beginService( " GEOM_Superv_i::MakeDiskR" );
841 MESSAGE("GEOM_Superv_i::MakeDiskR");
843 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
844 endService( " GEOM_Superv_i::MakeDiskR" );
848 //=============================================================================
849 // MakeCylinderPntVecRH:
850 //=============================================================================
851 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
852 GEOM::GEOM_Object_ptr theAxis,
853 CORBA::Double theRadius,
854 CORBA::Double theHeight)
856 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
857 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
859 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
860 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
864 //=============================================================================
866 //=============================================================================
867 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
870 beginService( " GEOM_Superv_i::MakeCylinderRH" );
871 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
873 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
874 endService( " GEOM_Superv_i::MakeCylinderRH" );
878 //=============================================================================
880 //=============================================================================
881 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
884 CORBA::Double theRadius)
886 beginService( " GEOM_Superv_i::MakeSphepe" );
887 MESSAGE("GEOM_Superv_i::MakeSphepe");
890 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
891 endService( " GEOM_Superv_i::MakeSphepe" );
895 //=============================================================================
897 //=============================================================================
898 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
900 beginService( " GEOM_Superv_i::MakeSphereR" );
901 MESSAGE("GEOM_Superv_i::MakeSphereR");
903 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
904 endService( " GEOM_Superv_i::MakeSphereR" );
908 //=============================================================================
910 //=============================================================================
911 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
914 beginService( " GEOM_Superv_i::MakeSpherePntR" );
915 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
917 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
918 endService( " GEOM_Superv_i::MakeSpherePntR" );
922 //=============================================================================
923 // MakeTorusPntVecRR:
924 //=============================================================================
925 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
926 GEOM::GEOM_Object_ptr theVec,
927 CORBA::Double theRMajor,
928 CORBA::Double theRMinor)
930 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
931 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
933 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
934 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
938 //=============================================================================
940 //=============================================================================
941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
942 CORBA::Double theRMinor)
944 beginService( " GEOM_Superv_i::MakeTorusRR" );
945 MESSAGE("GEOM_Superv_i::MakeTorusRR");
947 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
948 endService( " GEOM_Superv_i::MakeTorusRR" );
952 //=============================================================================
953 // MakeConePntVecR1R2H:
954 //=============================================================================
955 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
956 GEOM::GEOM_Object_ptr theAxis,
959 CORBA::Double theHeight)
961 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
962 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
964 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
965 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
969 //=============================================================================
971 //=============================================================================
972 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
974 CORBA::Double theHeight)
976 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
977 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
979 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
980 endService( " GEOM_Superv_i::MakeConeR1R2H" );
984 //=============================================================================
986 //=============================================================================
987 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
988 GEOM::GEOM_Object_ptr theVec,
991 beginService( " GEOM_Superv_i::MakePrismVecH" );
992 MESSAGE("GEOM_Superv_i::MakePrismVecH");
994 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
995 endService( " GEOM_Superv_i::MakePrismVecH" );
999 //=============================================================================
1000 // MakePrismVecH2Ways:
1001 //=============================================================================
1002 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1003 GEOM::GEOM_Object_ptr theVec,
1006 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1007 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1009 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1010 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1014 //=============================================================================
1016 //=============================================================================
1017 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1018 GEOM::GEOM_Object_ptr thePoint1,
1019 GEOM::GEOM_Object_ptr thePoint2)
1021 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1022 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1024 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1025 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1029 //=============================================================================
1030 // MakePrismTwoPnt2Ways:
1031 //=============================================================================
1032 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1033 GEOM::GEOM_Object_ptr thePoint1,
1034 GEOM::GEOM_Object_ptr thePoint2)
1036 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1037 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1039 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1040 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1044 //=============================================================================
1046 //=============================================================================
1047 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1048 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1050 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1051 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1053 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1054 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1058 //=============================================================================
1060 //=============================================================================
1061 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1062 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1064 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1065 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1067 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1068 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1072 //=============================================================================
1074 //=============================================================================
1075 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1076 GEOM::GEOM_Object_ptr thePath)
1078 beginService( " GEOM_Superv_i::MakePipe" );
1079 MESSAGE("GEOM_Superv_i::MakePipe");
1081 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
1082 endService( " GEOM_Superv_i::MakePipe" );
1086 //=============================================================================
1087 // MakeRevolutionAxisAngle:
1088 //=============================================================================
1089 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1090 GEOM::GEOM_Object_ptr theAxis,
1091 CORBA::Double theAngle)
1093 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1094 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1096 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1097 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1101 //=============================================================================
1102 // MakeRevolutionAxisAngle:
1103 //=============================================================================
1104 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1105 GEOM::GEOM_Object_ptr theAxis,
1106 CORBA::Double theAngle)
1108 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1109 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1111 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1112 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1116 //=============================================================================
1118 //=============================================================================
1119 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1120 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
1121 CORBA::Double theTol2D, CORBA::Double theTol3D,
1122 CORBA::Long theNbIter, CORBA::Boolean theApprox)
1124 beginService( " GEOM_Superv_i::MakeFilling" );
1125 MESSAGE("GEOM_Superv_i::MakeFilling");
1127 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
1128 endService( " GEOM_Superv_i::MakeFilling" );
1132 //============================= BooleanOperations =============================
1133 //=============================================================================
1135 //=============================================================================
1136 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
1137 GEOM::GEOM_Object_ptr theShape2,
1138 CORBA::Long theOperation)
1140 beginService( " GEOM_Superv_i::MakeBoolean" );
1141 // theOperation indicates the operation to be done:
1142 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1143 MESSAGE("GEOM_Superv_i::MakeBoolean");
1145 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
1146 endService( " GEOM_Superv_i::MakeBoolean" );
1150 //=============================================================================
1151 // MakeThruSections:
1152 //=============================================================================
1153 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1154 CORBA::Boolean theModeSolid,
1155 CORBA::Double thePreci,
1156 CORBA::Boolean theRuled)
1158 beginService( " GEOM_Superv_i::MakeThruSections" );
1159 MESSAGE("GEOM_Superv_i::MakeThruSections");
1161 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1162 endService( " GEOM_Superv_i::MakeThruSections" );
1166 //=============================================================================
1168 //=============================================================================
1169 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1170 (const GEOM::ListOfGO& theBases,
1171 const GEOM::ListOfGO& theLocations,
1172 GEOM::GEOM_Object_ptr thePath,
1173 CORBA::Boolean theWithContact,
1174 CORBA::Boolean theWithCorrections)
1176 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1177 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1179 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
1180 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1185 //=============================================================================
1187 //=============================================================================
1188 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1189 (const GEOM::ListOfGO& theBases,
1190 const GEOM::ListOfGO& theSubBases,
1191 const GEOM::ListOfGO& theLocations,
1192 GEOM::GEOM_Object_ptr thePath,
1193 CORBA::Boolean theWithContact,
1194 CORBA::Boolean theWithCorrections)
1196 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1197 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1199 GEOM::GEOM_Object_ptr anObj =
1200 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1201 theLocations, thePath,
1202 theWithContact, theWithCorrections);
1203 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1208 //=============================================================================
1210 //=============================================================================
1211 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1212 (const GEOM::ListOfGO& theBases,
1213 const GEOM::ListOfGO& theLocations)
1215 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1216 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1218 GEOM::GEOM_Object_ptr anObj =
1219 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1220 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1225 //=============================================================================
1227 //=============================================================================
1228 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1229 (GEOM::GEOM_Object_ptr theBase,
1230 GEOM::GEOM_Object_ptr thePath,
1231 GEOM::GEOM_Object_ptr theVec)
1233 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1234 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1236 GEOM::GEOM_Object_ptr anObj =
1237 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec);
1238 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1243 //=============================================================================
1245 //=============================================================================
1246 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1247 GEOM::GEOM_Object_ptr theShape2)
1249 beginService( " GEOM_Superv_i::MakeFuse" );
1250 MESSAGE("GEOM_Superv_i::MakeFuse");
1252 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1253 endService( " GEOM_Superv_i::MakeFuse" );
1257 //=============================================================================
1259 //=============================================================================
1260 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1261 GEOM::GEOM_List_ptr theTools,
1262 GEOM::GEOM_List_ptr theKeepInside,
1263 GEOM::GEOM_List_ptr theRemoveInside,
1264 CORBA::Short theLimit,
1265 CORBA::Boolean theRemoveWebs,
1266 GEOM::GEOM_List_ptr theMaterials,
1267 CORBA::Short theKeepNonlimitShapes)
1269 beginService( " GEOM_Superv_i::MakePartition" );
1270 MESSAGE("GEOM_Superv_i::MakePartition");
1271 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1272 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1273 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1274 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1275 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1276 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1277 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1278 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1279 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1280 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1281 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1283 GEOM::GEOM_Object_ptr anObj =
1284 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1285 aListImplKI->GetList(), aListImplRI->GetList(),
1286 theLimit, theRemoveWebs, aListImplM->GetList(),
1287 theKeepNonlimitShapes);
1288 endService( " GEOM_Superv_i::MakePartition" );
1291 endService( " GEOM_Superv_i::MakePartition" );
1295 //=============================================================================
1296 // MakeHalfPartition:
1297 //=============================================================================
1298 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1299 GEOM::GEOM_Object_ptr thePlane)
1301 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1302 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1304 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1305 endService( " GEOM_Superv_i::MakeHalfPartition" );
1309 //============================== InsertOperations =============================
1310 //=============================================================================
1312 //=============================================================================
1313 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1315 beginService( " GEOM_Superv_i::MakeCopy" );
1316 MESSAGE("GEOM_Superv_i::MakeCopy");
1318 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1319 endService( " GEOM_Superv_i::MakeCopy" );
1323 //=============================================================================
1325 //=============================================================================
1326 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1327 const char* theFileName,
1328 const char* theFormatName)
1330 beginService( " GEOM_Superv_i::Export" );
1331 MESSAGE("GEOM_Superv_i::Export");
1333 myInsOp->Export(theObject, theFileName, theFormatName);
1334 endService( " GEOM_Superv_i::Export" );
1337 //=============================================================================
1339 //=============================================================================
1340 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1341 const char* theFormatName)
1343 beginService( " GEOM_Superv_i::Import" );
1344 MESSAGE("GEOM_Superv_i::Import");
1346 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1347 endService( " GEOM_Superv_i::Import" );
1351 //=============================================================================
1352 // ImportTranslators:
1353 //=============================================================================
1354 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1355 GEOM::string_array_out thePatterns)
1357 beginService( " GEOM_Superv_i::ImportTranslators" );
1358 MESSAGE("GEOM_Superv_i::ImportTranslators");
1360 myInsOp->ImportTranslators(theFormats, thePatterns);
1361 endService( " GEOM_Superv_i::ImportTranslators" );
1364 //=============================================================================
1365 // ExportTranslators:
1366 //=============================================================================
1367 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1368 GEOM::string_array_out thePatterns)
1370 beginService( " GEOM_Superv_i::ExportTranslators" );
1371 MESSAGE("GEOM_Superv_i::ExportTranslators");
1373 myInsOp->ExportTranslators(theFormats, thePatterns);
1374 endService( " GEOM_Superv_i::ExportTranslators" );
1377 //============================= TransformOperations ===========================
1378 //=============================================================================
1379 // TranslateTwoPoints:
1380 //=============================================================================
1381 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1382 GEOM::GEOM_Object_ptr thePoint1,
1383 GEOM::GEOM_Object_ptr thePoint2)
1385 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1386 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1388 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1389 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1393 //=============================================================================
1394 // TranslateTwoPointsCopy:
1395 //=============================================================================
1396 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1397 GEOM::GEOM_Object_ptr thePoint1,
1398 GEOM::GEOM_Object_ptr thePoint2)
1400 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1401 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1403 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1404 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1408 //=============================================================================
1410 //=============================================================================
1411 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1412 CORBA::Double theDX,
1413 CORBA::Double theDY,
1414 CORBA::Double theDZ)
1416 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1417 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1419 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1420 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1424 //=============================================================================
1425 // TranslateDXDYDZCopy:
1426 //=============================================================================
1427 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1428 CORBA::Double theDX,
1429 CORBA::Double theDY,
1430 CORBA::Double theDZ)
1432 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1433 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1435 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1436 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1440 //=============================================================================
1442 //=============================================================================
1443 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1444 GEOM::GEOM_Object_ptr theVector)
1446 beginService( " GEOM_Superv_i::TranslateVector" );
1447 MESSAGE("GEOM_Superv_i::TranslateVector");
1449 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1450 endService( " GEOM_Superv_i::TranslateVector" );
1454 //=============================================================================
1455 // TranslateVectorCopy:
1456 //=============================================================================
1457 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1458 GEOM::GEOM_Object_ptr theVector)
1460 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1461 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1463 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1464 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1468 //=============================================================================
1469 // TranslateVectorDistance:
1470 //=============================================================================
1471 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1472 GEOM::GEOM_Object_ptr theVector,
1473 CORBA::Double theDistance,
1474 CORBA::Boolean theCopy)
1476 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1477 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1479 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1480 theVector, theDistance, theCopy);
1481 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1485 //=============================================================================
1486 // MultiTranslate1D:
1487 //=============================================================================
1488 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1489 GEOM::GEOM_Object_ptr theVector,
1490 CORBA::Double theStep,
1491 CORBA::Long theNbTimes)
1493 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1494 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1496 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1497 endService( " GEOM_Superv_i::MultiTranslate1D" );
1501 //=============================================================================
1502 // MultiTranslate2D:
1503 //=============================================================================
1504 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1505 GEOM::GEOM_Object_ptr theVector1,
1506 CORBA::Double theStep1,
1507 CORBA::Long theNbTimes1,
1508 GEOM::GEOM_Object_ptr theVector2,
1509 CORBA::Double theStep2,
1510 CORBA::Long theNbTimes2)
1512 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1513 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1515 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1516 theVector2, theStep2, theNbTimes2);
1517 endService( " GEOM_Superv_i::MultiTranslate2D" );
1521 //=============================================================================
1523 //=============================================================================
1524 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1525 GEOM::GEOM_Object_ptr theAxis,
1526 CORBA::Double theAngle)
1528 beginService( " GEOM_Superv_i::Rotate" );
1529 MESSAGE("GEOM_Superv_i::Rotate");
1531 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1532 endService( " GEOM_Superv_i::Rotate" );
1536 //=============================================================================
1538 //=============================================================================
1539 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1540 GEOM::GEOM_Object_ptr theAxis,
1541 CORBA::Double theAngle)
1543 beginService( " GEOM_Superv_i::RotateCopy" );
1544 MESSAGE("GEOM_Superv_i::RotateCopy");
1546 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1547 endService( " GEOM_Superv_i::RotateCopy" );
1550 //=============================================================================
1551 // RotateThreePoints:
1552 //=============================================================================
1553 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1554 GEOM::GEOM_Object_ptr theCentPoint,
1555 GEOM::GEOM_Object_ptr thePoint1,
1556 GEOM::GEOM_Object_ptr thePoint2)
1558 beginService( " GEOM_Superv_i::RotateThreePoints" );
1559 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1561 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1562 endService( " GEOM_Superv_i::RotateThreePoints" );
1566 //=============================================================================
1567 // RotateThreePointsCopy:
1568 //=============================================================================
1569 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1570 GEOM::GEOM_Object_ptr theCentPoint,
1571 GEOM::GEOM_Object_ptr thePoint1,
1572 GEOM::GEOM_Object_ptr thePoint2)
1574 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1575 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1577 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1578 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1582 //=============================================================================
1584 //=============================================================================
1585 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1586 GEOM::GEOM_Object_ptr theAxis,
1587 CORBA::Long theNbTimes)
1589 beginService( " GEOM_Superv_i::MultiRotate1D" );
1590 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1592 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1593 endService( " GEOM_Superv_i::MultiRotate1D" );
1597 //=============================================================================
1599 //=============================================================================
1600 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1601 GEOM::GEOM_Object_ptr theAxis,
1602 CORBA::Double theAngle,
1603 CORBA::Long theNbTimes1,
1604 CORBA::Double theStep,
1605 CORBA::Long theNbTimes2)
1607 beginService( " GEOM_Superv_i::MultiRotate2D" );
1608 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1610 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1611 endService( " GEOM_Superv_i::MultiRotate2D" );
1615 //=============================================================================
1617 //=============================================================================
1618 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1619 GEOM::GEOM_Object_ptr thePlane)
1621 beginService( " GEOM_Superv_i::MirrorPlane" );
1622 MESSAGE("GEOM_Superv_i::MirrorPlane");
1624 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1625 endService( " GEOM_Superv_i::MirrorPlane" );
1629 //=============================================================================
1631 //=============================================================================
1632 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1633 GEOM::GEOM_Object_ptr thePlane)
1635 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1636 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1638 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1639 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1643 //=============================================================================
1645 //=============================================================================
1646 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1647 GEOM::GEOM_Object_ptr theAxis)
1649 beginService( " GEOM_Superv_i::MirrorAxis" );
1650 MESSAGE("GEOM_Superv_i::MirrorAxis");
1652 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1653 endService( " GEOM_Superv_i::MirrorAxis" );
1657 //=============================================================================
1659 //=============================================================================
1660 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1661 GEOM::GEOM_Object_ptr theAxis)
1663 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1664 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1666 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1667 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1671 //=============================================================================
1673 //=============================================================================
1674 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1675 GEOM::GEOM_Object_ptr thePoint)
1677 beginService( " GEOM_Superv_i::MirrorPoint" );
1678 MESSAGE("GEOM_Superv_i::MirrorPoint");
1680 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1681 endService( " GEOM_Superv_i::MirrorPoint" );
1685 //=============================================================================
1687 //=============================================================================
1688 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1689 GEOM::GEOM_Object_ptr thePoint)
1691 beginService( " GEOM_Superv_i::MirrorPoint" );
1692 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1694 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1695 endService( " GEOM_Superv_i::MirrorPoint" );
1699 //=============================================================================
1701 //=============================================================================
1702 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1703 CORBA::Double theOffset)
1705 beginService( " GEOM_Superv_i::OffsetShape" );
1706 MESSAGE("GEOM_Superv_i::OffsetShape");
1708 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1709 endService( " GEOM_Superv_i::OffsetShape" );
1713 //=============================================================================
1715 //=============================================================================
1716 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1717 CORBA::Double theOffset)
1719 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1720 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1722 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1723 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1727 //=============================================================================
1729 //=============================================================================
1730 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1731 GEOM::GEOM_Object_ptr thePoint,
1732 CORBA::Double theFactor)
1734 beginService( " GEOM_Superv_i::ScaleShape" );
1735 MESSAGE("GEOM_Superv_i::ScaleShape");
1737 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1738 endService( " GEOM_Superv_i::ScaleShape" );
1742 //=============================================================================
1744 //=============================================================================
1745 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1746 GEOM::GEOM_Object_ptr thePoint,
1747 CORBA::Double theFactor)
1749 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1750 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1752 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1753 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1757 //=============================================================================
1758 // ScaleShapeAlongAxes:
1759 //=============================================================================
1760 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
1761 GEOM::GEOM_Object_ptr thePoint,
1762 CORBA::Double theFactorX,
1763 CORBA::Double theFactorY,
1764 CORBA::Double theFactorZ)
1766 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1767 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
1769 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
1770 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1771 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1775 //=============================================================================
1776 // ScaleShapeAlongAxesCopy:
1777 //=============================================================================
1778 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
1779 GEOM::GEOM_Object_ptr thePoint,
1780 CORBA::Double theFactorX,
1781 CORBA::Double theFactorY,
1782 CORBA::Double theFactorZ)
1784 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1785 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
1787 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
1788 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1789 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1793 //=============================================================================
1795 //=============================================================================
1796 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1797 GEOM::GEOM_Object_ptr theStartLCS,
1798 GEOM::GEOM_Object_ptr theEndLCS)
1800 beginService( " GEOM_Superv_i::PositionShape" );
1801 MESSAGE("GEOM_Superv_i::PositionShape");
1803 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1804 endService( " GEOM_Superv_i::PositionShape" );
1808 //=============================================================================
1809 // PositionShapeCopy:
1810 //=============================================================================
1811 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1812 GEOM::GEOM_Object_ptr theStartLCS,
1813 GEOM::GEOM_Object_ptr theEndLCS)
1815 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1816 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1818 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1819 endService( " GEOM_Superv_i::PositionShapeCopy" );
1823 //=============================== ShapesOperations ============================
1824 //=============================================================================
1826 //=============================================================================
1827 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1828 GEOM::GEOM_Object_ptr thePnt2)
1830 beginService( " GEOM_Superv_i::MakeEdge" );
1831 MESSAGE("GEOM_Superv_i::MakeEdge");
1833 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1834 endService( " GEOM_Superv_i::MakeEdge" );
1838 //=============================================================================
1840 //=============================================================================
1841 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1843 beginService( " GEOM_Superv_i::MakeWire" );
1844 MESSAGE("GEOM_Superv_i::MakeWire");
1845 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1846 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1848 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
1849 endService( " GEOM_Superv_i::MakeWire" );
1852 endService( " GEOM_Superv_i::MakeWire" );
1856 //=============================================================================
1858 //=============================================================================
1859 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1860 CORBA::Boolean isPlanarWanted)
1862 beginService( " GEOM_Superv_i::MakeFace" );
1863 MESSAGE("GEOM_Superv_i::MakeFace");
1865 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1866 endService( " GEOM_Superv_i::MakeFace" );
1870 //=============================================================================
1872 //=============================================================================
1873 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1874 CORBA::Boolean isPlanarWanted)
1876 beginService( " GEOM_Superv_i::MakeFaceWires" );
1877 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1878 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1879 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1881 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1882 endService( " GEOM_Superv_i::MakeFaceWires" );
1885 endService( " GEOM_Superv_i::MakeFaceWires" );
1889 //=============================================================================
1891 //=============================================================================
1892 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1894 beginService( " GEOM_Superv_i::MakeShell" );
1895 MESSAGE("GEOM_Superv_i::MakeShell");
1896 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1897 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1899 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1900 endService( " GEOM_Superv_i::MakeShell" );
1903 endService( " GEOM_Superv_i::MakeShell" );
1907 //=============================================================================
1909 //=============================================================================
1910 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1912 beginService( " GEOM_Superv_i::MakeSolidShell" );
1913 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1915 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1916 endService( " GEOM_Superv_i::MakeSolidShell" );
1920 //=============================================================================
1922 //=============================================================================
1923 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1925 beginService( " GEOM_Superv_i::MakeSolidShells" );
1926 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1927 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1928 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1930 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1931 endService( " GEOM_Superv_i::MakeSolidShells" );
1934 endService( " GEOM_Superv_i::MakeSolidShells" );
1938 //=============================================================================
1940 //=============================================================================
1941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1943 beginService( " GEOM_Superv_i::MakeCompound" );
1944 MESSAGE("GEOM_Superv_i::MakeCompound");
1945 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1946 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1948 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
1949 endService( " GEOM_Superv_i::MakeCompound" );
1952 endService( " GEOM_Superv_i::MakeCompound" );
1956 //=============================================================================
1958 //=============================================================================
1959 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1960 CORBA::Double theTolerance,
1961 CORBA::Boolean doKeepNonSolids)
1963 beginService( " GEOM_Superv_i::MakeGlueFaces" );
1964 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1966 GEOM::GEOM_Object_ptr anObj =
1967 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
1968 endService( " GEOM_Superv_i::MakeGlueFaces" );
1972 //=============================================================================
1974 //=============================================================================
1975 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
1976 CORBA::Double theTolerance)
1978 beginService( " GEOM_Superv_i::GetGlueFaces" );
1979 MESSAGE("GEOM_Superv_i::GetGlueFaces");
1981 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
1982 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1983 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1984 endService( " GEOM_Superv_i::GetGlueFaces" );
1985 return aListPtr->_this();
1988 //=============================================================================
1989 // MakeGlueFacesByList:
1990 //=============================================================================
1991 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
1992 CORBA::Double theTolerance,
1993 const GEOM::ListOfGO& theFaces,
1994 CORBA::Boolean doKeepNonSolids)
1996 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
1997 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
1999 GEOM::GEOM_Object_ptr anObj =
2000 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids);
2001 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2005 //=============================================================================
2007 //=============================================================================
2008 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2009 CORBA::Long theShapeType,
2010 CORBA::Boolean isSorted)
2012 beginService( " GEOM_Superv_i::MakeExplode" );
2013 MESSAGE("GEOM_Superv_i::MakeExplode");
2016 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2017 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2018 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2019 endService( " GEOM_Superv_i::MakeExplode" );
2020 return aListPtr->_this();
2023 //=============================================================================
2025 //=============================================================================
2026 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2028 beginService( " GEOM_Superv_i::NumberOfFaces" );
2029 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2031 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2032 endService( " GEOM_Superv_i::NumberOfFaces" );
2036 //=============================================================================
2038 //=============================================================================
2039 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2041 beginService( " GEOM_Superv_i::NumberOfEdges" );
2042 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2044 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2045 endService( " GEOM_Superv_i::NumberOfEdges" );
2050 //=============================================================================
2051 // ChangeOrientation:
2052 //=============================================================================
2053 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2055 beginService( " GEOM_Superv_i::ChangeOrientation" );
2056 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2058 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2059 endService( " GEOM_Superv_i::ChangeOrientation" );
2064 //=============================================================================
2065 // GetShapesOnShape:
2066 //=============================================================================
2067 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2068 (GEOM::GEOM_Object_ptr theCheckShape,
2069 GEOM::GEOM_Object_ptr theShape,
2070 CORBA::Short theShapeType,
2071 GEOM::shape_state theState)
2073 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2074 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2076 GEOM::ListOfGO* aList =
2077 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2078 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2079 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2080 endService( " GEOM_Superv_i::GetShapesOnShape" );
2081 return aListPtr->_this();
2085 //=============================================================================
2086 // GetShapesOnShapeAsCompound:
2087 //=============================================================================
2088 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2089 (GEOM::GEOM_Object_ptr theCheckShape,
2090 GEOM::GEOM_Object_ptr theShape,
2091 CORBA::Short theShapeType,
2092 GEOM::shape_state theState)
2094 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2095 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2097 GEOM::GEOM_Object_ptr anObj =
2098 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2099 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2104 //=============================== BlocksOperations ============================
2105 //=============================================================================
2106 // MakeQuad4Vertices:
2107 //=============================================================================
2108 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2109 GEOM::GEOM_Object_ptr thePnt2,
2110 GEOM::GEOM_Object_ptr thePnt3,
2111 GEOM::GEOM_Object_ptr thePnt4)
2113 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2114 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2116 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2117 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2121 //=============================================================================
2123 //=============================================================================
2124 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2125 GEOM::GEOM_Object_ptr theEdge2,
2126 GEOM::GEOM_Object_ptr theEdge3,
2127 GEOM::GEOM_Object_ptr theEdge4)
2129 beginService( " GEOM_Superv_i::MakeQuad" );
2130 MESSAGE("GEOM_Superv_i::MakeQuad");
2132 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2133 endService( " GEOM_Superv_i::MakeQuad" );
2137 //=============================================================================
2139 //=============================================================================
2140 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2141 GEOM::GEOM_Object_ptr theEdge2)
2143 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2144 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2146 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2147 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2151 //=============================================================================
2153 //=============================================================================
2154 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2155 GEOM::GEOM_Object_ptr theFace2,
2156 GEOM::GEOM_Object_ptr theFace3,
2157 GEOM::GEOM_Object_ptr theFace4,
2158 GEOM::GEOM_Object_ptr theFace5,
2159 GEOM::GEOM_Object_ptr theFace6)
2161 beginService( " GEOM_Superv_i::MakeHexa" );
2162 MESSAGE("GEOM_Superv_i::MakeHexa");
2164 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2165 endService( " GEOM_Superv_i::MakeHexa" );
2169 //=============================================================================
2171 //=============================================================================
2172 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2173 GEOM::GEOM_Object_ptr theFace2)
2175 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2176 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2178 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2179 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2183 //=============================================================================
2185 //=============================================================================
2186 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2190 CORBA::Double theEpsilon)
2192 beginService( " GEOM_Superv_i::GetPoint" );
2193 MESSAGE("GEOM_Superv_i::GetPoint");
2195 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2196 endService( " GEOM_Superv_i::GetPoint" );
2200 //=============================================================================
2202 //=============================================================================
2203 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2204 GEOM::GEOM_Object_ptr thePoint1,
2205 GEOM::GEOM_Object_ptr thePoint2)
2207 beginService( " GEOM_Superv_i::GetEdge" );
2208 MESSAGE("GEOM_Superv_i::GetEdge");
2210 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2211 endService( " GEOM_Superv_i::GetEdge" );
2215 //=============================================================================
2216 // GetEdgeNearPoint:
2217 //=============================================================================
2218 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2219 GEOM::GEOM_Object_ptr thePoint)
2221 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2222 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2224 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2225 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2229 //=============================================================================
2231 //=============================================================================
2232 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2233 GEOM::GEOM_Object_ptr thePoint1,
2234 GEOM::GEOM_Object_ptr thePoint2,
2235 GEOM::GEOM_Object_ptr thePoint3,
2236 GEOM::GEOM_Object_ptr thePoint4)
2238 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2239 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2241 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2242 endService( " GEOM_Superv_i::GetFaceByPoints" );
2246 //=============================================================================
2248 //=============================================================================
2249 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2250 GEOM::GEOM_Object_ptr theEdge1,
2251 GEOM::GEOM_Object_ptr theEdge2)
2253 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2254 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2256 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2257 endService( " GEOM_Superv_i::GetFaceByEdges" );
2261 //=============================================================================
2263 //=============================================================================
2264 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2265 GEOM::GEOM_Object_ptr theFace)
2267 beginService( " GEOM_Superv_i::GetOppositeFace" );
2268 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2270 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2271 endService( " GEOM_Superv_i::GetOppositeFace" );
2275 //=============================================================================
2276 // GetFaceNearPoint:
2277 //=============================================================================
2278 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2279 GEOM::GEOM_Object_ptr thePoint)
2281 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2282 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2284 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2285 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2289 //=============================================================================
2290 // GetFaceByNormale:
2291 //=============================================================================
2292 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2293 GEOM::GEOM_Object_ptr theVector)
2295 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2296 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2298 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2299 endService( " GEOM_Superv_i::GetFaceByNormale" );
2303 //=============================================================================
2304 // IsCompoundOfBlocks:
2305 //=============================================================================
2306 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2307 CORBA::Long theMinNbFaces,
2308 CORBA::Long theMaxNbFaces,
2309 CORBA::Long& theNbBlocks)
2311 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2312 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2314 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2315 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2319 //=============================================================================
2320 // CheckCompoundOfBlocks:
2321 //=============================================================================
2322 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2323 (GEOM::GEOM_Object_ptr theCompound,
2324 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2326 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2327 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2329 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2330 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2334 //=============================================================================
2336 //=============================================================================
2337 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2338 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2340 beginService( " GEOM_Superv_i::PrintBCErrors" );
2341 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2343 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2344 endService( " GEOM_Superv_i::PrintBCErrors" );
2348 //=============================================================================
2349 // ExplodeCompoundOfBlocks:
2350 //=============================================================================
2351 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2352 CORBA::Long theMinNbFaces,
2353 CORBA::Long theMaxNbFaces)
2355 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2356 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2358 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2359 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2360 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2361 return aListPtr->_this();
2364 //=============================================================================
2365 // GetBlockNearPoint:
2366 //=============================================================================
2367 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2368 GEOM::GEOM_Object_ptr thePoint)
2370 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2371 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2373 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2374 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2378 //=============================================================================
2380 //=============================================================================
2381 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2382 GEOM::GEOM_List_ptr theParts)
2384 beginService( " GEOM_Superv_i::GetBlockByParts" );
2385 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2386 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2387 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2389 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2390 endService( " GEOM_Superv_i::GetBlockByParts" );
2393 endService( " GEOM_Superv_i::GetBlockByParts" );
2397 //=============================================================================
2398 // GetBlocksByParts:
2399 //=============================================================================
2400 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2401 GEOM::GEOM_List_ptr theParts)
2403 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2404 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2405 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2406 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2409 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2410 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2411 endService( " GEOM_Superv_i::GetBlocksByParts" );
2412 return aListPtr->_this();
2414 endService( " GEOM_Superv_i::GetBlocksByParts" );
2418 //=============================================================================
2419 // MakeMultiTransformation1D:
2420 //=============================================================================
2421 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2422 CORBA::Long theDirFace1,
2423 CORBA::Long theDirFace2,
2424 CORBA::Long theNbTimes)
2426 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2427 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2429 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2430 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2434 //=============================================================================
2435 // MakeMultiTransformation2D:
2436 //=============================================================================
2437 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2438 (GEOM::GEOM_Object_ptr theBlock,
2439 CORBA::Long theDirFace1U,
2440 CORBA::Long theDirFace2U,
2441 CORBA::Long theNbTimesU,
2442 CORBA::Long theDirFace1V,
2443 CORBA::Long theDirFace2V,
2444 CORBA::Long theNbTimesV)
2446 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2447 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2449 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2450 theDirFace1U, theDirFace2U, theNbTimesU,
2451 theDirFace1V, theDirFace2V, theNbTimesV);
2452 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2456 //=============================== CurvesOperations ============================
2457 //=============================================================================
2458 // MakeCirclePntVecR:
2459 //=============================================================================
2460 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2461 GEOM::GEOM_Object_ptr theVector,
2464 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2465 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2467 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2468 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2472 //=============================================================================
2473 // MakeCircleThreePnt:
2474 //=============================================================================
2475 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2476 GEOM::GEOM_Object_ptr thePnt2,
2477 GEOM::GEOM_Object_ptr thePnt3)
2479 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2480 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2482 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2483 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2486 //=============================================================================
2487 // MakeCircleCenter2Pnt:
2488 //=============================================================================
2489 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2490 GEOM::GEOM_Object_ptr thePnt2,
2491 GEOM::GEOM_Object_ptr thePnt3)
2493 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2494 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2496 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2497 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2501 //=============================================================================
2503 //=============================================================================
2504 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2505 GEOM::GEOM_Object_ptr theVector,
2506 CORBA::Double theRMajor,
2507 CORBA::Double theRMinor)
2509 beginService( " GEOM_Superv_i::MakeEllipse" );
2510 MESSAGE("GEOM_Superv_i::MakeEllipse");
2512 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2513 endService( " GEOM_Superv_i::MakeEllipse" );
2517 //=============================================================================
2519 //=============================================================================
2520 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2521 GEOM::GEOM_Object_ptr thePnt2,
2522 GEOM::GEOM_Object_ptr thePnt3)
2524 beginService( " GEOM_Superv_i::MakeArc" );
2525 MESSAGE("GEOM_Superv_i::MakeArc");
2527 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2528 endService( " GEOM_Superv_i::MakeArc" );
2532 //=============================================================================
2534 //=============================================================================
2535 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2536 GEOM::GEOM_Object_ptr thePnt1,
2537 GEOM::GEOM_Object_ptr thePnt2,
2538 CORBA::Boolean theSense)
2540 beginService( " GEOM_Superv_i::MakeArcCenter" );
2541 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2543 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2544 endService( " GEOM_Superv_i::MakeArcCenter" );
2548 //=============================================================================
2550 //=============================================================================
2551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2553 beginService( " GEOM_Superv_i::MakePolyline" );
2554 MESSAGE("GEOM_Superv_i::MakePolyline");
2555 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2556 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2558 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2559 endService( " GEOM_Superv_i::MakePolyline" );
2562 endService( " GEOM_Superv_i::MakePolyline" );
2566 //=============================================================================
2567 // MakeSplineBezier:
2568 //=============================================================================
2569 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2571 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2572 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2573 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2574 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2576 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2577 endService( " GEOM_Superv_i::MakeSplineBezier" );
2580 endService( " GEOM_Superv_i::MakeSplineBezier" );
2584 //=============================================================================
2585 // MakeSplineInterpolation:
2586 //=============================================================================
2587 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2589 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2590 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2591 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2592 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2594 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2595 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2598 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2602 //=============================================================================
2604 //=============================================================================
2605 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2606 GEOM::GEOM_List_ptr theWorkingPlane)
2608 beginService( " GEOM_Superv_i::MakeSketcher" );
2609 MESSAGE("GEOM_Superv_i::MakeSketcher");
2610 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2611 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2613 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2614 endService( " GEOM_Superv_i::MakeSketcher" );
2617 endService( " GEOM_Superv_i::MakeSketcher" );
2621 //=============================== LocalOperations =============================
2622 //=============================================================================
2624 //=============================================================================
2625 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2628 beginService( " GEOM_Superv_i::MakeFilletAll" );
2629 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2631 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2632 endService( " GEOM_Superv_i::MakeFilletAll" );
2636 //=============================================================================
2638 //=============================================================================
2639 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2641 GEOM::GEOM_List_ptr theEdges)
2643 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2644 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2645 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2646 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2648 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2649 endService( " GEOM_Superv_i::MakeFilletEdges" );
2652 endService( " GEOM_Superv_i::MakeFilletEdges" );
2656 //=============================================================================
2657 // MakeFilletEdges R1 R2:
2658 //=============================================================================
2659 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
2660 CORBA::Double theR1,
2661 CORBA::Double theR2,
2662 GEOM::GEOM_List_ptr theEdges)
2664 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2665 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
2666 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2667 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2669 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
2670 theR2, aListImplE->GetList());
2671 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2674 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2678 //=============================================================================
2680 //=============================================================================
2681 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2683 GEOM::GEOM_List_ptr theFaces)
2685 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2686 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2687 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2688 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2690 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2691 endService( " GEOM_Superv_i::MakeFilletFaces" );
2694 endService( " GEOM_Superv_i::MakeFilletFaces" );
2698 //=============================================================================
2699 // MakeFilletFaces R1 R2:
2700 //=============================================================================
2701 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
2702 CORBA::Double theR1,
2703 CORBA::Double theR2,
2704 GEOM::GEOM_List_ptr theFaces)
2706 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2707 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
2708 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2709 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2711 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
2712 aListImplF->GetList());
2713 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2716 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2720 //=============================================================================
2722 //=============================================================================
2723 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2725 beginService( " GEOM_Superv_i::MakeChamferAll" );
2726 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2728 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2729 endService( " GEOM_Superv_i::MakeChamferAll" );
2733 //=============================================================================
2735 //=============================================================================
2736 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2737 CORBA::Double theD1, CORBA::Double theD2,
2738 CORBA::Long theFace1, CORBA::Long theFace2)
2740 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2741 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2743 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2744 endService( " GEOM_Superv_i::MakeChamferEdge" );
2748 //=============================================================================
2749 // MakeChamferEdgeAD:
2750 //=============================================================================
2751 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
2752 CORBA::Double theD, CORBA::Double theAngle,
2753 CORBA::Long theFace1, CORBA::Long theFace2)
2755 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2756 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
2758 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
2759 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2763 //=============================================================================
2764 // MakeChamferFaces:
2765 //=============================================================================
2766 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2767 CORBA::Double theD1, CORBA::Double theD2,
2768 GEOM::GEOM_List_ptr theFaces)
2770 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2771 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2772 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2773 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2775 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2776 endService( " GEOM_Superv_i::MakeChamferFaces" );
2779 endService( " GEOM_Superv_i::MakeChamferFaces" );
2783 //=============================================================================
2784 // MakeChamferFacesAD:
2785 //=============================================================================
2786 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
2787 CORBA::Double theD, CORBA::Double theAngle,
2788 GEOM::GEOM_List_ptr theFaces)
2790 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
2791 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
2792 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2793 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2795 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
2796 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2799 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2803 //=============================================================================
2804 // MakeChamferEdges:
2805 //=============================================================================
2806 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
2807 CORBA::Double theD1, CORBA::Double theD2,
2808 GEOM::GEOM_List_ptr theEdges)
2810 beginService( " GEOM_Superv_i::MakeChamferEdges" );
2811 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
2812 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2813 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2815 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
2816 endService( " GEOM_Superv_i::MakeChamferEdges" );
2819 endService( " GEOM_Superv_i::MakeChamferEdges" );
2823 //=============================================================================
2824 // MakeChamferEdgesAD:
2825 //=============================================================================
2826 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
2827 CORBA::Double theD, CORBA::Double theAngle,
2828 GEOM::GEOM_List_ptr theEdges)
2830 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2831 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
2832 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2833 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2835 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
2836 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2839 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2843 //=============================================================================
2845 //=============================================================================
2846 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2847 CORBA::Double theWeight,
2848 CORBA::Double theWaterDensity,
2849 CORBA::Double theMeshingDeflection)
2851 beginService( " GEOM_Superv_i::MakeArchimede" );
2852 MESSAGE("GEOM_Superv_i::MakeArchimede");
2854 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2855 endService( " GEOM_Superv_i::MakeArchimede" );
2859 //=============================================================================
2860 // GetSubShapeIndexMakeFilletAll:
2861 //=============================================================================
2862 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2863 GEOM::GEOM_Object_ptr theSubShape)
2865 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2866 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
2868 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
2869 endService( " GEOM_Superv_i::GetSubShapeIndex" );
2873 //=============================== GroupOperations =============================
2874 //=============================================================================
2876 //=============================================================================
2877 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
2878 CORBA::Long theShapeType)
2880 beginService( " GEOM_Superv_i::CreateGroup" );
2881 MESSAGE("GEOM_Superv_i::CreateGroup");
2883 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
2884 endService( " GEOM_Superv_i::CreateGroup" );
2888 //=============================================================================
2890 //=============================================================================
2891 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
2892 CORBA::Long theSubShapeId)
2894 beginService( " GEOM_Superv_i::AddObject" );
2895 MESSAGE("GEOM_Superv_i::AddObject");
2897 myGroupOp->AddObject(theGroup, theSubShapeId);
2898 endService( " GEOM_Superv_i::AddObject" );
2901 //=============================================================================
2903 //=============================================================================
2904 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
2905 CORBA::Long theSubShapeId)
2907 beginService( " GEOM_Superv_i::RemoveObject" );
2908 MESSAGE("GEOM_Superv_i::RemoveObject");
2910 myGroupOp->RemoveObject(theGroup, theSubShapeId);
2911 endService( " GEOM_Superv_i::RemoveObject" );
2914 //=============================================================================
2916 //=============================================================================
2917 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
2919 beginService( " GEOM_Superv_i::GetType" );
2920 MESSAGE("GEOM_Superv_i::GetType");
2922 CORBA::Long aResult = myGroupOp->GetType(theGroup);
2923 endService( " GEOM_Superv_i::GetType" );
2927 //=============================================================================
2929 //=============================================================================
2930 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
2932 beginService( " GEOM_Superv_i::GetMainShape" );
2933 MESSAGE("GEOM_Superv_i::GetMainShape");
2935 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
2936 endService( " GEOM_Superv_i::GetMainShape" );
2940 //=============================================================================
2942 //=============================================================================
2943 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
2945 beginService( " GEOM_Superv_i::GetObjects" );
2946 MESSAGE("GEOM_Superv_i::GetObjects");
2949 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
2950 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
2951 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2952 endService( " GEOM_Superv_i::GetObjects" );
2953 return aListPtr->_this();
2956 //=====================================================================================
2958 //=====================================================================================
2961 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
2962 PortableServer::POA_ptr poa,
2963 PortableServer::ObjectId * contId,
2964 const char *instanceName,
2965 const char * interfaceName)
2967 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
2968 //Don't understand the reason why this component is registered ???
2969 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
2970 return myGEOM_Superv_i->getId() ;