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/
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");
76 //============================================================================
77 // function : register()
78 // purpose : register 'name' in 'name_service'
79 //============================================================================
80 void GEOM_Superv_i::register_name(char * name)
82 GEOM::GEOM_Superv_ptr g = GEOM::GEOM_Superv::_narrow(POA_GEOM::GEOM_Superv::_this());
83 name_service->Register(g, strdup(name));
86 //=============================================================================
88 //=============================================================================
89 void GEOM_Superv_i::setGeomEngine()
91 // get GEOM_Gen engine
92 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
93 Engines::Component_var comp = lcc->FindOrLoad_Component( "FactoryServer", "GEOM" );
95 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
98 //=============================================================================
100 //=============================================================================
101 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
103 // mkr : PAL10770 -->
104 myLastStudyID = myStudyID;
106 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
107 if ( !CORBA::is_nil(anObject) ) {
108 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
109 if ( !CORBA::is_nil(aSession) ) {
110 int aStudyID = aSession->GetActiveStudyId();
111 if ( theId != aStudyID ) MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
112 myStudyID = aStudyID;
116 if ( isNewStudy(myLastStudyID,myStudyID) ) {
117 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
118 string anEngine = _orb->object_to_string( myGeomEngine );
120 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
121 if ( !CORBA::is_nil(anObj) ) {
122 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
123 if ( !CORBA::is_nil(aStudyManager) ) {
124 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
126 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
128 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
129 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
135 // mkr : PAL10770 <--
138 //=============================================================================
140 //=============================================================================
141 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
143 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
144 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
145 return aListPtr->_this();
148 //=============================================================================
149 // AddItemToListOfGO:
150 //=============================================================================
151 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
152 GEOM::GEOM_Object_ptr theObject)
154 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
155 if (GEOM_List_i<GEOM::ListOfGO>* aList =
156 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
157 aList->AddObject(theObject);
158 MESSAGE(" NewLength = "<<aList->GetList().length());
162 //=============================================================================
164 //=============================================================================
165 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
167 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
168 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
169 return aListPtr->_this();
172 //=============================================================================
173 // AddItemToListOfLong:
174 //=============================================================================
175 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
178 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
179 if (GEOM_List_i<GEOM::ListOfLong>* aList =
180 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
181 aList->AddObject(theObject);
182 MESSAGE(" NewLength = "<<aList->GetList().length());
186 //=============================================================================
187 // CreateListOfDouble:
188 //=============================================================================
189 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
191 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
192 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
193 return aListPtr->_this();
196 //=============================================================================
197 // AddItemToListOfDouble:
198 //=============================================================================
199 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
202 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
203 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
204 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
205 aList->AddObject(theObject);
206 MESSAGE(" NewLength = "<<aList->GetList().length());
210 //=============================================================================
212 //=============================================================================
213 void GEOM_Superv_i::getBasicOp()
215 if (CORBA::is_nil(myGeomEngine))
217 // get GEOM_IBasicOperations interface
218 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID))
219 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
222 //=============================================================================
224 //=============================================================================
225 void GEOM_Superv_i::get3DPrimOp()
227 if (CORBA::is_nil(myGeomEngine))
229 // get GEOM_I3DPrimOperations interface
230 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID))
231 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
234 //=============================================================================
236 //=============================================================================
237 void GEOM_Superv_i::getBoolOp()
239 if (CORBA::is_nil(myGeomEngine))
241 // get GEOM_IBooleanOperations interface
242 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID))
243 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
246 //=============================================================================
248 //=============================================================================
249 void GEOM_Superv_i::getInsOp()
251 if (CORBA::is_nil(myGeomEngine))
253 // get GEOM_IInsertOperations interface
254 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID))
255 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
258 //=============================================================================
260 //=============================================================================
261 void GEOM_Superv_i::getTransfOp()
263 if (CORBA::is_nil(myGeomEngine))
265 // get GEOM_ITransformOperations interface
266 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID))
267 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
270 //=============================================================================
272 //=============================================================================
273 void GEOM_Superv_i::getShapesOp()
275 if (CORBA::is_nil(myGeomEngine))
277 // get GEOM_IShapesOperations interface
278 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID))
279 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
282 //=============================================================================
284 //=============================================================================
285 void GEOM_Superv_i::getBlocksOp()
287 if (CORBA::is_nil(myGeomEngine))
289 // get GEOM_IBlocksOperations interface
290 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID))
291 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
294 //=============================================================================
296 //=============================================================================
297 void GEOM_Superv_i::getCurvesOp()
299 if (CORBA::is_nil(myGeomEngine))
301 // get GEOM_ICurvesOperations interface
302 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID))
303 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
306 //=============================================================================
308 //=============================================================================
309 void GEOM_Superv_i::getLocalOp()
311 if (CORBA::is_nil(myGeomEngine))
313 // get GEOM_ILocalOperations interface
314 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID))
315 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
318 //=============================================================================
320 //=============================================================================
321 void GEOM_Superv_i::getGroupOp()
323 if (CORBA::is_nil(myGeomEngine))
325 // get GEOM_IGroupOperations interface
326 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
327 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
330 //=============================================================================
332 //=============================================================================
333 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
334 PortableServer::POA_ptr thePOA)
336 if(CORBA::is_nil(theObject)) return NULL;
337 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
341 //============================================================================
343 // purpose : save OCAF/Geom document
344 //============================================================================
345 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
349 SALOMEDS::TMPFile_var aStreamFile;
350 return aStreamFile._retn();
353 //============================================================================
354 // function : SaveASCII()
356 //============================================================================
357 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
361 SALOMEDS::TMPFile_var aStreamFile;
362 return aStreamFile._retn();
365 //============================================================================
368 //============================================================================
369 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
370 const SALOMEDS::TMPFile& theStream,
377 //============================================================================
378 // function : LoadASCII()
380 //============================================================================
381 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
382 const SALOMEDS::TMPFile& theStream,
389 //============================================================================
390 // function : Close()
392 //============================================================================
393 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
397 //============================================================================
398 // function : ComponentDataType()
400 //============================================================================
401 char* GEOM_Superv_i::ComponentDataType()
406 //============================================================================
407 // function : IORToLocalPersistentID()
409 //============================================================================
410 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
411 const char* IORString,
412 CORBA::Boolean isMultiFile,
413 CORBA::Boolean isASCII)
418 //============================================================================
419 // function : LocalPersistentIDToIOR()
420 // purpose : Create/Load CORBA object from a persistent ref (an entry)
421 // : Used when a study is loaded
422 // : The IOR (IORName) of object created is returned
423 //============================================================================
424 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
425 const char* aLocalPersistentID,
426 CORBA::Boolean isMultiFile,
427 CORBA::Boolean isASCII)
432 //============================================================================
433 // function : CanPublishInStudy
435 //============================================================================
436 bool GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
438 if (CORBA::is_nil(myGeomEngine))
440 return myGeomEngine->CanPublishInStudy(theIOR);
443 //============================================================================
444 // function : PublishInStudy
446 //============================================================================
447 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
448 SALOMEDS::SObject_ptr theSObject,
449 CORBA::Object_ptr theObject,
450 const char* theName) throw (SALOME::SALOME_Exception)
452 if (CORBA::is_nil(myGeomEngine))
454 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
457 //============================================================================
458 // function : CanCopy()
460 //============================================================================
461 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
466 //============================================================================
467 // function : CopyFrom()
469 //============================================================================
470 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
472 SALOMEDS::TMPFile_var aStreamFile;
473 return aStreamFile._retn();
476 //============================================================================
477 // function : CanPaste()
479 //============================================================================
480 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
485 //============================================================================
486 // function : PasteInto()
488 //============================================================================
489 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
490 CORBA::Long theObjectID,
491 SALOMEDS::SObject_ptr theObject)
493 SALOMEDS::SObject_var aNewSO;
494 return aNewSO._retn();
497 //================= Primitives Construction : BasicOperations =================
498 //=============================================================================
500 //=============================================================================
501 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
505 MESSAGE("GEOM_Superv_i::MakePointXYZ");
507 // make vertex and return
508 return myBasicOp->MakePointXYZ(theX, theY, theZ);
511 //=============================================================================
512 // MakePointWithReference:
513 //=============================================================================
514 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
519 MESSAGE("GEOM_Superv_i::MakePointWithReference");
521 return myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
524 //=============================================================================
526 //=============================================================================
527 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
528 CORBA::Double theParameter)
530 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
532 return myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
535 //=============================================================================
537 //=============================================================================
538 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
542 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
544 return myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
547 //=============================================================================
549 //=============================================================================
550 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
551 GEOM::GEOM_Object_ptr thePnt2)
553 MESSAGE("GEOM_Superv_i::MakeVector");
555 return myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
558 //=============================================================================
560 //=============================================================================
561 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
562 GEOM::GEOM_Object_ptr thePnt2)
564 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
566 return myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
569 //=============================================================================
570 // MakePlaneThreePnt:
571 //=============================================================================
572 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
573 GEOM::GEOM_Object_ptr thePnt2,
574 GEOM::GEOM_Object_ptr thePnt3,
575 CORBA::Double theTrimSize)
577 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
579 return myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
582 //=============================================================================
584 //=============================================================================
585 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
586 GEOM::GEOM_Object_ptr theVec,
587 CORBA::Double theTrimSize)
589 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
591 return myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
594 //=============================================================================
596 //=============================================================================
597 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
598 CORBA::Double theTrimSize)
600 MESSAGE("GEOM_Superv_i::MakePlaneFace");
602 return myBasicOp->MakePlaneFace(theFace, theTrimSize);
605 //=============================================================================
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
609 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
610 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
611 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
613 MESSAGE("GEOM_Superv_i::MakeMarker");
615 return myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
618 //================= Primitives Construction : 3DPrimOperations ================
619 //=============================================================================
621 //=============================================================================
622 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
629 MESSAGE("GEOM_Superv_i::MakeBox");
632 return my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
633 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
636 //=============================================================================
638 //=============================================================================
639 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
643 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
645 return my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
648 //=============================================================================
650 //=============================================================================
651 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
652 GEOM::GEOM_Object_ptr thePnt2)
654 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
656 return my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
659 //=============================================================================
660 // MakeCylinderPntVecRH:
661 //=============================================================================
662 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
663 GEOM::GEOM_Object_ptr theAxis,
664 CORBA::Double theRadius,
665 CORBA::Double theHeight)
667 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
669 return my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
672 //=============================================================================
674 //=============================================================================
675 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
678 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
680 return my3DPrimOp->MakeCylinderRH(theR, theH);
683 //=============================================================================
685 //=============================================================================
686 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
689 CORBA::Double theRadius)
691 MESSAGE("GEOM_Superv_i::MakeSphepe");
694 return my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
697 //=============================================================================
699 //=============================================================================
700 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
702 MESSAGE("GEOM_Superv_i::MakeSphereR");
704 return my3DPrimOp->MakeSphereR(theR);
707 //=============================================================================
709 //=============================================================================
710 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
713 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
715 return my3DPrimOp->MakeSpherePntR(thePnt, theR);
718 //=============================================================================
719 // MakeTorusPntVecRR:
720 //=============================================================================
721 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
722 GEOM::GEOM_Object_ptr theVec,
723 CORBA::Double theRMajor,
724 CORBA::Double theRMinor)
726 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
728 return my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
731 //=============================================================================
733 //=============================================================================
734 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
735 CORBA::Double theRMinor)
737 MESSAGE("GEOM_Superv_i::MakeTorusRR");
739 return my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
742 //=============================================================================
743 // MakeConePntVecR1R2H:
744 //=============================================================================
745 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
746 GEOM::GEOM_Object_ptr theAxis,
749 CORBA::Double theHeight)
751 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
753 return my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
756 //=============================================================================
758 //=============================================================================
759 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
761 CORBA::Double theHeight)
763 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
765 return my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
768 //=============================================================================
770 //=============================================================================
771 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
772 GEOM::GEOM_Object_ptr theVec,
775 MESSAGE("GEOM_Superv_i::MakePrismVecH");
777 return my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
781 //=============================================================================
783 //=============================================================================
784 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
785 GEOM::GEOM_Object_ptr thePoint1,
786 GEOM::GEOM_Object_ptr thePoint2)
788 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
790 return my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
793 //=============================================================================
795 //=============================================================================
796 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
797 GEOM::GEOM_Object_ptr thePath)
799 MESSAGE("GEOM_Superv_i::MakePipe");
801 return my3DPrimOp->MakePipe(theBase, thePath);
804 //=============================================================================
805 // MakeRevolutionAxisAngle:
806 //=============================================================================
807 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
808 GEOM::GEOM_Object_ptr theAxis,
809 CORBA::Double theAngle)
811 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
813 return my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
816 //=============================================================================
818 //=============================================================================
819 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
820 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
821 CORBA::Double theTol2D, CORBA::Double theTol3D,
822 CORBA::Long theNbIter)
824 MESSAGE("GEOM_Superv_i::MakeFilling");
826 return my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
829 //============================= BooleanOperations =============================
830 //=============================================================================
832 //=============================================================================
833 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
834 GEOM::GEOM_Object_ptr theShape2,
835 CORBA::Long theOperation)
837 // theOperation indicates the operation to be done:
838 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
839 MESSAGE("GEOM_Superv_i::MakeBoolean");
841 return myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
844 //=============================================================================
846 //=============================================================================
847 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
848 GEOM::GEOM_Object_ptr theShape2)
850 MESSAGE("GEOM_Superv_i::MakeFuse");
852 return myBoolOp->MakeBoolean(theShape1, theShape2, 3);
855 //=============================================================================
857 //=============================================================================
858 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
859 GEOM::GEOM_List_ptr theTools,
860 GEOM::GEOM_List_ptr theKeepInside,
861 GEOM::GEOM_List_ptr theRemoveInside,
862 CORBA::Short theLimit,
863 CORBA::Boolean theRemoveWebs,
864 GEOM::GEOM_List_ptr theMaterials)
866 MESSAGE("GEOM_Superv_i::MakePartition");
867 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
868 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
869 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
870 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
871 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
872 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
873 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
874 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
875 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
876 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
877 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
879 return myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
880 aListImplKI->GetList(), aListImplRI->GetList(),
881 theLimit, theRemoveWebs, aListImplM->GetList());
886 //=============================================================================
887 // MakeHalfPartition:
888 //=============================================================================
889 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
890 GEOM::GEOM_Object_ptr thePlane)
892 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
894 return myBoolOp->MakeHalfPartition(theShape, thePlane);
897 //============================== InsertOperations =============================
898 //=============================================================================
900 //=============================================================================
901 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
903 MESSAGE("GEOM_Superv_i::MakeCopy");
905 return myInsOp->MakeCopy(theOriginal);
908 //=============================================================================
910 //=============================================================================
911 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
912 const char* theFileName,
913 const char* theFormatName)
915 MESSAGE("GEOM_Superv_i::Export");
917 myInsOp->Export(theObject, theFileName, theFormatName);
920 //=============================================================================
922 //=============================================================================
923 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
924 const char* theFormatName)
926 MESSAGE("GEOM_Superv_i::Import");
928 return myInsOp->Import(theFileName, theFormatName);
931 //=============================================================================
932 // ImportTranslators:
933 //=============================================================================
934 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
935 GEOM::string_array_out thePatterns)
937 MESSAGE("GEOM_Superv_i::ImportTranslators");
939 myInsOp->ImportTranslators(theFormats, thePatterns);
942 //=============================================================================
943 // ExportTranslators:
944 //=============================================================================
945 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
946 GEOM::string_array_out thePatterns)
948 MESSAGE("GEOM_Superv_i::ExportTranslators");
950 myInsOp->ExportTranslators(theFormats, thePatterns);
953 //============================= TransformOperations ===========================
954 //=============================================================================
955 // TranslateTwoPoints:
956 //=============================================================================
957 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
958 GEOM::GEOM_Object_ptr thePoint1,
959 GEOM::GEOM_Object_ptr thePoint2)
961 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
963 return myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
966 //=============================================================================
967 // TranslateTwoPointsCopy:
968 //=============================================================================
969 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
970 GEOM::GEOM_Object_ptr thePoint1,
971 GEOM::GEOM_Object_ptr thePoint2)
973 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
975 return myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
978 //=============================================================================
980 //=============================================================================
981 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
986 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
988 return myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
991 //=============================================================================
992 // TranslateDXDYDZCopy:
993 //=============================================================================
994 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
999 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1001 return myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1004 //=============================================================================
1006 //=============================================================================
1007 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1008 GEOM::GEOM_Object_ptr theVector)
1010 MESSAGE("GEOM_Superv_i::TranslateVector");
1012 return myTransfOp->TranslateVector(theObject, theVector);
1015 //=============================================================================
1016 // TranslateVectorCopy:
1017 //=============================================================================
1018 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1019 GEOM::GEOM_Object_ptr theVector)
1021 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1023 return myTransfOp->TranslateVectorCopy(theObject, theVector);
1026 //=============================================================================
1027 // MultiTranslate1D:
1028 //=============================================================================
1029 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1030 GEOM::GEOM_Object_ptr theVector,
1031 CORBA::Double theStep,
1032 CORBA::Long theNbTimes)
1034 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1036 return myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1039 //=============================================================================
1040 // MultiTranslate2D:
1041 //=============================================================================
1042 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1043 GEOM::GEOM_Object_ptr theVector1,
1044 CORBA::Double theStep1,
1045 CORBA::Long theNbTimes1,
1046 GEOM::GEOM_Object_ptr theVector2,
1047 CORBA::Double theStep2,
1048 CORBA::Long theNbTimes2)
1050 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1052 return myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1053 theVector2, theStep2, theNbTimes2);
1056 //=============================================================================
1058 //=============================================================================
1059 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1060 GEOM::GEOM_Object_ptr theAxis,
1061 CORBA::Double theAngle)
1063 MESSAGE("GEOM_Superv_i::Rotate");
1065 return myTransfOp->Rotate(theObject, theAxis, theAngle);
1068 //=============================================================================
1070 //=============================================================================
1071 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1072 GEOM::GEOM_Object_ptr theAxis,
1073 CORBA::Double theAngle)
1075 MESSAGE("GEOM_Superv_i::RotateCopy");
1077 return myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1080 //=============================================================================
1082 //=============================================================================
1083 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1084 GEOM::GEOM_Object_ptr theAxis,
1085 CORBA::Long theNbTimes)
1087 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1089 return myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1092 //=============================================================================
1094 //=============================================================================
1095 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1096 GEOM::GEOM_Object_ptr theAxis,
1097 CORBA::Double theAngle,
1098 CORBA::Long theNbTimes1,
1099 CORBA::Double theStep,
1100 CORBA::Long theNbTimes2)
1102 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1104 return myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1107 //=============================================================================
1109 //=============================================================================
1110 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1111 GEOM::GEOM_Object_ptr thePlane)
1113 MESSAGE("GEOM_Superv_i::MirrorPlane");
1115 return myTransfOp->MirrorPlane(theObject, thePlane);
1118 //=============================================================================
1120 //=============================================================================
1121 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1122 GEOM::GEOM_Object_ptr thePlane)
1124 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1126 return myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1129 //=============================================================================
1131 //=============================================================================
1132 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1133 GEOM::GEOM_Object_ptr theAxis)
1135 MESSAGE("GEOM_Superv_i::MirrorAxis");
1137 return myTransfOp->MirrorAxis(theObject, theAxis);
1140 //=============================================================================
1142 //=============================================================================
1143 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1144 GEOM::GEOM_Object_ptr theAxis)
1146 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1148 return myTransfOp->MirrorAxisCopy(theObject, theAxis);
1151 //=============================================================================
1153 //=============================================================================
1154 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1155 GEOM::GEOM_Object_ptr thePoint)
1157 MESSAGE("GEOM_Superv_i::MirrorPoint");
1159 return myTransfOp->MirrorPoint(theObject, thePoint);
1162 //=============================================================================
1164 //=============================================================================
1165 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1166 GEOM::GEOM_Object_ptr thePoint)
1168 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1170 return myTransfOp->MirrorPointCopy(theObject, thePoint);
1173 //=============================================================================
1175 //=============================================================================
1176 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1177 CORBA::Double theOffset)
1179 MESSAGE("GEOM_Superv_i::OffsetShape");
1181 return myTransfOp->OffsetShape(theObject, theOffset);
1184 //=============================================================================
1186 //=============================================================================
1187 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1188 CORBA::Double theOffset)
1190 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1192 return myTransfOp->OffsetShapeCopy(theObject, theOffset);
1195 //=============================================================================
1197 //=============================================================================
1198 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1199 GEOM::GEOM_Object_ptr thePoint,
1200 CORBA::Double theFactor)
1202 MESSAGE("GEOM_Superv_i::ScaleShape");
1204 return myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1207 //=============================================================================
1209 //=============================================================================
1210 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1211 GEOM::GEOM_Object_ptr thePoint,
1212 CORBA::Double theFactor)
1214 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1216 return myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1219 //=============================================================================
1221 //=============================================================================
1222 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1223 GEOM::GEOM_Object_ptr theStartLCS,
1224 GEOM::GEOM_Object_ptr theEndLCS)
1226 MESSAGE("GEOM_Superv_i::PositionShape");
1228 return myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1231 //=============================================================================
1232 // PositionShapeCopy:
1233 //=============================================================================
1234 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1235 GEOM::GEOM_Object_ptr theStartLCS,
1236 GEOM::GEOM_Object_ptr theEndLCS)
1238 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1240 return myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1243 //=============================== ShapesOperations ============================
1244 //=============================================================================
1246 //=============================================================================
1247 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1248 GEOM::GEOM_Object_ptr thePnt2)
1250 MESSAGE("GEOM_Superv_i::MakeEdge");
1252 return myShapesOp->MakeEdge(thePnt1, thePnt2);
1255 //=============================================================================
1257 //=============================================================================
1258 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1260 MESSAGE("GEOM_Superv_i::MakeWire");
1261 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1262 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1264 return myShapesOp->MakeWire(aListImplEW->GetList());
1269 //=============================================================================
1271 //=============================================================================
1272 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1273 CORBA::Boolean isPlanarWanted)
1275 MESSAGE("GEOM_Superv_i::MakeFace");
1277 return myShapesOp->MakeFace(theWire, isPlanarWanted);
1280 //=============================================================================
1282 //=============================================================================
1283 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1284 CORBA::Boolean isPlanarWanted)
1286 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1287 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1288 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1290 return myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1295 //=============================================================================
1297 //=============================================================================
1298 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1300 MESSAGE("GEOM_Superv_i::MakeShell");
1301 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1302 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1304 return myShapesOp->MakeShell(aListImplFS->GetList());
1309 //=============================================================================
1311 //=============================================================================
1312 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1314 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1316 return myShapesOp->MakeSolidShell(theShell);
1319 //=============================================================================
1321 //=============================================================================
1322 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1324 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1325 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1326 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1328 return myShapesOp->MakeSolidShells(aListImplS->GetList());
1333 //=============================================================================
1335 //=============================================================================
1336 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1338 MESSAGE("GEOM_Superv_i::MakeCompound");
1339 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1340 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1342 return myShapesOp->MakeCompound(aListImpl->GetList());
1347 //=============================================================================
1349 //=============================================================================
1350 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1351 CORBA::Double theTolerance)
1353 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1355 return myShapesOp->MakeGlueFaces(theShape, theTolerance);
1358 //=============================================================================
1360 //=============================================================================
1361 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
1362 CORBA::Long theShapeType,
1363 CORBA::Boolean isSorted)
1365 MESSAGE("GEOM_Superv_i::MakeExplode");
1368 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
1369 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1370 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1371 return aListPtr->_this();
1374 //=============================================================================
1376 //=============================================================================
1377 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
1379 MESSAGE("GEOM_Superv_i::NumberOfFaces");
1381 return myShapesOp->NumberOfFaces(theShape);
1384 //=============================================================================
1386 //=============================================================================
1387 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
1389 MESSAGE("GEOM_Superv_i::NumberOfEdges");
1391 return myShapesOp->NumberOfEdges(theShape);
1394 //=============================================================================
1395 // ChangeOrientation:
1396 //=============================================================================
1397 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
1399 MESSAGE("GEOM_Superv_i::ChangeOrientation");
1401 return myShapesOp->ChangeOrientation(theShape);
1405 //=============================== BlocksOperations ============================
1406 //=============================================================================
1407 // MakeQuad4Vertices:
1408 //=============================================================================
1409 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
1410 GEOM::GEOM_Object_ptr thePnt2,
1411 GEOM::GEOM_Object_ptr thePnt3,
1412 GEOM::GEOM_Object_ptr thePnt4)
1414 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
1416 return myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
1419 //=============================================================================
1421 //=============================================================================
1422 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
1423 GEOM::GEOM_Object_ptr theEdge2,
1424 GEOM::GEOM_Object_ptr theEdge3,
1425 GEOM::GEOM_Object_ptr theEdge4)
1427 MESSAGE("GEOM_Superv_i::MakeQuad");
1429 return myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
1432 //=============================================================================
1434 //=============================================================================
1435 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
1436 GEOM::GEOM_Object_ptr theEdge2)
1438 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
1440 return myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
1443 //=============================================================================
1445 //=============================================================================
1446 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
1447 GEOM::GEOM_Object_ptr theFace2,
1448 GEOM::GEOM_Object_ptr theFace3,
1449 GEOM::GEOM_Object_ptr theFace4,
1450 GEOM::GEOM_Object_ptr theFace5,
1451 GEOM::GEOM_Object_ptr theFace6)
1453 MESSAGE("GEOM_Superv_i::MakeHexa");
1455 return myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
1458 //=============================================================================
1460 //=============================================================================
1461 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
1462 GEOM::GEOM_Object_ptr theFace2)
1464 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
1466 return myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
1469 //=============================================================================
1471 //=============================================================================
1472 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
1476 CORBA::Double theEpsilon)
1478 MESSAGE("GEOM_Superv_i::GetPoint");
1480 return myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
1483 //=============================================================================
1485 //=============================================================================
1486 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
1487 GEOM::GEOM_Object_ptr thePoint1,
1488 GEOM::GEOM_Object_ptr thePoint2)
1490 MESSAGE("GEOM_Superv_i::GetEdge");
1492 return myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
1495 //=============================================================================
1496 // GetEdgeNearPoint:
1497 //=============================================================================
1498 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
1499 GEOM::GEOM_Object_ptr thePoint)
1501 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
1503 return myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
1506 //=============================================================================
1508 //=============================================================================
1509 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
1510 GEOM::GEOM_Object_ptr thePoint1,
1511 GEOM::GEOM_Object_ptr thePoint2,
1512 GEOM::GEOM_Object_ptr thePoint3,
1513 GEOM::GEOM_Object_ptr thePoint4)
1515 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
1517 return myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
1520 //=============================================================================
1522 //=============================================================================
1523 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
1524 GEOM::GEOM_Object_ptr theEdge1,
1525 GEOM::GEOM_Object_ptr theEdge2)
1527 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
1529 return myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
1532 //=============================================================================
1534 //=============================================================================
1535 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
1536 GEOM::GEOM_Object_ptr theFace)
1538 MESSAGE("GEOM_Superv_i::GetOppositeFace");
1540 return myBlocksOp->GetOppositeFace(theBlock, theFace);
1543 //=============================================================================
1544 // GetFaceNearPoint:
1545 //=============================================================================
1546 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
1547 GEOM::GEOM_Object_ptr thePoint)
1549 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
1551 return myBlocksOp->GetFaceNearPoint(theShape, thePoint);
1554 //=============================================================================
1555 // GetFaceByNormale:
1556 //=============================================================================
1557 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
1558 GEOM::GEOM_Object_ptr theVector)
1560 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
1562 return myBlocksOp->GetFaceByNormale(theBlock, theVector);
1565 //=============================================================================
1566 // IsCompoundOfBlocks:
1567 //=============================================================================
1568 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
1569 CORBA::Long theMinNbFaces,
1570 CORBA::Long theMaxNbFaces,
1571 CORBA::Long& theNbBlocks)
1573 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
1575 return myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
1578 //=============================================================================
1579 // CheckCompoundOfBlocks:
1580 //=============================================================================
1581 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
1582 (GEOM::GEOM_Object_ptr theCompound,
1583 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
1585 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
1587 return myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
1590 //=============================================================================
1592 //=============================================================================
1593 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
1594 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
1596 MESSAGE("GEOM_Superv_i::PrintBCErrors");
1598 return myBlocksOp->PrintBCErrors(theCompound, theErrors);
1601 //=============================================================================
1602 // ExplodeCompoundOfBlocks:
1603 //=============================================================================
1604 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
1605 CORBA::Long theMinNbFaces,
1606 CORBA::Long theMaxNbFaces)
1608 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
1610 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
1611 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
1612 return aListPtr->_this();
1615 //=============================================================================
1616 // GetBlockNearPoint:
1617 //=============================================================================
1618 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
1619 GEOM::GEOM_Object_ptr thePoint)
1621 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
1623 return myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
1626 //=============================================================================
1628 //=============================================================================
1629 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
1630 GEOM::GEOM_List_ptr theParts)
1632 MESSAGE("GEOM_Superv_i::GetBlockByParts");
1633 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
1634 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
1636 return myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
1641 //=============================================================================
1642 // GetBlocksByParts:
1643 //=============================================================================
1644 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
1645 GEOM::GEOM_List_ptr theParts)
1647 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
1648 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
1649 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
1652 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
1653 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
1654 return aListPtr->_this();
1659 //=============================================================================
1660 // MakeMultiTransformation1D:
1661 //=============================================================================
1662 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
1663 CORBA::Long theDirFace1,
1664 CORBA::Long theDirFace2,
1665 CORBA::Long theNbTimes)
1667 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
1669 return myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
1672 //=============================================================================
1673 // MakeMultiTransformation2D:
1674 //=============================================================================
1675 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
1676 (GEOM::GEOM_Object_ptr theBlock,
1677 CORBA::Long theDirFace1U,
1678 CORBA::Long theDirFace2U,
1679 CORBA::Long theNbTimesU,
1680 CORBA::Long theDirFace1V,
1681 CORBA::Long theDirFace2V,
1682 CORBA::Long theNbTimesV)
1684 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
1686 return myBlocksOp->MakeMultiTransformation2D(theBlock,
1687 theDirFace1U, theDirFace2U, theNbTimesU,
1688 theDirFace1V, theDirFace2V, theNbTimesV);
1691 //=============================== CurvesOperations ============================
1692 //=============================================================================
1693 // MakeCirclePntVecR:
1694 //=============================================================================
1695 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
1696 GEOM::GEOM_Object_ptr theVector,
1699 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
1701 return myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
1704 //=============================================================================
1705 // MakeCircleThreePnt:
1706 //=============================================================================
1707 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1708 GEOM::GEOM_Object_ptr thePnt2,
1709 GEOM::GEOM_Object_ptr thePnt3)
1711 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
1713 return myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
1716 //=============================================================================
1718 //=============================================================================
1719 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
1720 GEOM::GEOM_Object_ptr theVector,
1721 CORBA::Double theRMajor,
1722 CORBA::Double theRMinor)
1724 MESSAGE("GEOM_Superv_i::MakeEllipse");
1726 return myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
1729 //=============================================================================
1731 //=============================================================================
1732 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
1733 GEOM::GEOM_Object_ptr thePnt2,
1734 GEOM::GEOM_Object_ptr thePnt3)
1736 MESSAGE("GEOM_Superv_i::MakeArc");
1738 return myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
1741 //=============================================================================
1743 //=============================================================================
1744 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
1746 MESSAGE("GEOM_Superv_i::MakePolyline");
1747 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
1748 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
1750 return myCurvesOp->MakePolyline(aListImplP->GetList());
1755 //=============================================================================
1756 // MakeSplineBezier:
1757 //=============================================================================
1758 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
1760 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
1761 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
1762 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
1764 return myCurvesOp->MakeSplineBezier(aListImplP->GetList());
1769 //=============================================================================
1770 // MakeSplineInterpolation:
1771 //=============================================================================
1772 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
1774 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
1775 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
1776 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
1778 return myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
1783 //=============================================================================
1785 //=============================================================================
1786 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
1787 GEOM::GEOM_List_ptr theWorkingPlane)
1789 MESSAGE("GEOM_Superv_i::MakeSketcher");
1790 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
1791 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
1793 return myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
1798 //=============================== LocalOperations =============================
1799 //=============================================================================
1801 //=============================================================================
1802 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
1805 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
1807 return myLocalOp->MakeFilletAll(theShape, theR);
1810 //=============================================================================
1812 //=============================================================================
1813 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
1815 GEOM::GEOM_List_ptr theEdges)
1817 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
1818 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
1819 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
1821 return myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
1826 //=============================================================================
1828 //=============================================================================
1829 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
1831 GEOM::GEOM_List_ptr theFaces)
1833 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
1834 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
1835 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
1837 return myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
1842 //=============================================================================
1844 //=============================================================================
1845 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
1847 MESSAGE("GEOM_Superv_i::MakeChamferAll");
1849 return myLocalOp->MakeChamferAll(theShape, theD);
1852 //=============================================================================
1854 //=============================================================================
1855 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
1856 CORBA::Double theD1, CORBA::Double theD2,
1857 CORBA::Long theFace1, CORBA::Long theFace2)
1859 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
1861 return myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
1864 //=============================================================================
1865 // MakeChamferFaces:
1866 //=============================================================================
1867 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
1868 CORBA::Double theD1, CORBA::Double theD2,
1869 GEOM::GEOM_List_ptr theFaces)
1871 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
1872 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
1873 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
1875 return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
1880 //=============================================================================
1882 //=============================================================================
1883 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
1884 CORBA::Double theWeight,
1885 CORBA::Double theWaterDensity,
1886 CORBA::Double theMeshingDeflection)
1888 MESSAGE("GEOM_Superv_i::MakeArchimede");
1890 return myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
1893 //=============================================================================
1894 // GetSubShapeIndexMakeFilletAll:
1895 //=============================================================================
1896 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
1897 GEOM::GEOM_Object_ptr theSubShape)
1899 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
1901 return myLocalOp->GetSubShapeIndex(theShape, theSubShape);
1904 //=============================== GroupOperations =============================
1905 //=============================================================================
1907 //=============================================================================
1908 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
1909 CORBA::Long theShapeType)
1911 MESSAGE("GEOM_Superv_i::CreateGroup");
1913 return myGroupOp->CreateGroup(theMainShape, theShapeType);
1916 //=============================================================================
1918 //=============================================================================
1919 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
1920 CORBA::Long theSubShapeId)
1922 MESSAGE("GEOM_Superv_i::AddObject");
1924 myGroupOp->AddObject(theGroup, theSubShapeId);
1927 //=============================================================================
1929 //=============================================================================
1930 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
1931 CORBA::Long theSubShapeId)
1933 MESSAGE("GEOM_Superv_i::RemoveObject");
1935 myGroupOp->RemoveObject(theGroup, theSubShapeId);
1938 //=============================================================================
1940 //=============================================================================
1941 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
1943 MESSAGE("GEOM_Superv_i::GetType");
1945 return myGroupOp->GetType(theGroup);
1948 //=============================================================================
1950 //=============================================================================
1951 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
1953 MESSAGE("GEOM_Superv_i::GetMainShape");
1955 return myGroupOp->GetMainShape(theGroup);
1958 //=============================================================================
1960 //=============================================================================
1961 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
1963 MESSAGE("GEOM_Superv_i::GetObjects");
1966 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
1967 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
1968 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1969 return aListPtr->_this();
1972 //=====================================================================================
1974 //=====================================================================================
1977 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
1978 PortableServer::POA_ptr poa,
1979 PortableServer::ObjectId * contId,
1980 const char *instanceName,
1981 const char * interfaceName)
1983 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
1984 myGEOM_Superv_i->register_name("/myGEOM_Superv");
1985 return myGEOM_Superv_i->getId() ;