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");
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 && aStudyID > 0) { // mkr : IPAL12128
112 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
113 myStudyID = aStudyID;
116 myStudyID = theId; // mkr : IPAL12128
120 if ( isNewStudy(myLastStudyID,myStudyID) ) {
121 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
122 string anEngine = _orb->object_to_string( myGeomEngine );
124 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
125 if ( !CORBA::is_nil(anObj) ) {
126 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
127 if ( !CORBA::is_nil(aStudyManager) ) {
128 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
130 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
132 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
133 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
139 // mkr : PAL10770 <--
142 //=============================================================================
144 //=============================================================================
145 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
147 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
148 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
149 return aListPtr->_this();
152 //=============================================================================
153 // AddItemToListOfGO:
154 //=============================================================================
155 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
156 GEOM::GEOM_Object_ptr theObject)
158 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
159 if (GEOM_List_i<GEOM::ListOfGO>* aList =
160 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
161 aList->AddObject(theObject);
162 MESSAGE(" NewLength = "<<aList->GetList().length());
166 //=============================================================================
168 //=============================================================================
169 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
171 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
172 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
173 return aListPtr->_this();
176 //=============================================================================
177 // AddItemToListOfLong:
178 //=============================================================================
179 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
180 CORBA::Long theObject)
182 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
183 if (GEOM_List_i<GEOM::ListOfLong>* aList =
184 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
185 aList->AddObject(theObject);
186 MESSAGE(" NewLength = "<<aList->GetList().length());
190 //=============================================================================
191 // CreateListOfDouble:
192 //=============================================================================
193 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
195 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
196 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
197 return aListPtr->_this();
200 //=============================================================================
201 // AddItemToListOfDouble:
202 //=============================================================================
203 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
204 CORBA::Double theObject)
206 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
207 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
208 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
209 aList->AddObject(theObject);
210 MESSAGE(" NewLength = "<<aList->GetList().length());
214 //=============================================================================
216 //=============================================================================
217 void GEOM_Superv_i::getBasicOp()
219 if (CORBA::is_nil(myGeomEngine))
221 // get GEOM_IBasicOperations interface
222 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID))
223 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
226 //=============================================================================
228 //=============================================================================
229 void GEOM_Superv_i::get3DPrimOp()
231 if (CORBA::is_nil(myGeomEngine))
233 // get GEOM_I3DPrimOperations interface
234 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID))
235 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
238 //=============================================================================
240 //=============================================================================
241 void GEOM_Superv_i::getBoolOp()
243 if (CORBA::is_nil(myGeomEngine))
245 // get GEOM_IBooleanOperations interface
246 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID))
247 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
250 //=============================================================================
252 //=============================================================================
253 void GEOM_Superv_i::getInsOp()
255 if (CORBA::is_nil(myGeomEngine))
257 // get GEOM_IInsertOperations interface
258 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID))
259 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
262 //=============================================================================
264 //=============================================================================
265 void GEOM_Superv_i::getTransfOp()
267 if (CORBA::is_nil(myGeomEngine))
269 // get GEOM_ITransformOperations interface
270 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID))
271 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
274 //=============================================================================
276 //=============================================================================
277 void GEOM_Superv_i::getShapesOp()
279 if (CORBA::is_nil(myGeomEngine))
281 // get GEOM_IShapesOperations interface
282 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID))
283 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
286 //=============================================================================
288 //=============================================================================
289 void GEOM_Superv_i::getBlocksOp()
291 if (CORBA::is_nil(myGeomEngine))
293 // get GEOM_IBlocksOperations interface
294 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID))
295 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
298 //=============================================================================
300 //=============================================================================
301 void GEOM_Superv_i::getCurvesOp()
303 if (CORBA::is_nil(myGeomEngine))
305 // get GEOM_ICurvesOperations interface
306 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID))
307 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
310 //=============================================================================
312 //=============================================================================
313 void GEOM_Superv_i::getLocalOp()
315 if (CORBA::is_nil(myGeomEngine))
317 // get GEOM_ILocalOperations interface
318 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID))
319 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
322 //=============================================================================
324 //=============================================================================
325 void GEOM_Superv_i::getGroupOp()
327 if (CORBA::is_nil(myGeomEngine))
329 // get GEOM_IGroupOperations interface
330 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
331 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
334 //=============================================================================
336 //=============================================================================
337 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
338 PortableServer::POA_ptr thePOA)
340 if(CORBA::is_nil(theObject)) return NULL;
341 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
345 //============================================================================
347 // purpose : save OCAF/Geom document
348 //============================================================================
349 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
351 CORBA::Boolean isMultiFile)
353 SALOMEDS::TMPFile_var aStreamFile;
354 return aStreamFile._retn();
357 //============================================================================
358 // function : SaveASCII()
360 //============================================================================
361 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
363 CORBA::Boolean isMultiFile)
365 SALOMEDS::TMPFile_var aStreamFile;
366 return aStreamFile._retn();
369 //============================================================================
372 //============================================================================
373 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
374 const SALOMEDS::TMPFile& theStream,
376 CORBA::Boolean isMultiFile)
381 //============================================================================
382 // function : LoadASCII()
384 //============================================================================
385 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
386 const SALOMEDS::TMPFile& theStream,
388 CORBA::Boolean isMultiFile)
393 //============================================================================
394 // function : Close()
396 //============================================================================
397 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
401 //============================================================================
402 // function : ComponentDataType()
404 //============================================================================
405 char* GEOM_Superv_i::ComponentDataType()
410 //============================================================================
411 // function : IORToLocalPersistentID()
413 //============================================================================
414 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
415 const char* IORString,
416 CORBA::Boolean isMultiFile,
417 CORBA::Boolean isASCII)
422 //============================================================================
423 // function : LocalPersistentIDToIOR()
424 // purpose : Create/Load CORBA object from a persistent ref (an entry)
425 // : Used when a study is loaded
426 // : The IOR (IORName) of object created is returned
427 //============================================================================
428 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
429 const char* aLocalPersistentID,
430 CORBA::Boolean isMultiFile,
431 CORBA::Boolean isASCII)
436 //============================================================================
437 // function : CanPublishInStudy
439 //============================================================================
440 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
442 if (CORBA::is_nil(myGeomEngine))
444 return myGeomEngine->CanPublishInStudy(theIOR);
447 //============================================================================
448 // function : PublishInStudy
450 //============================================================================
451 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
452 SALOMEDS::SObject_ptr theSObject,
453 CORBA::Object_ptr theObject,
454 const char* theName) throw (SALOME::SALOME_Exception)
456 if (CORBA::is_nil(myGeomEngine))
458 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
461 //============================================================================
462 // function : CanCopy()
464 //============================================================================
465 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
470 //============================================================================
471 // function : CopyFrom()
473 //============================================================================
474 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
476 SALOMEDS::TMPFile_var aStreamFile;
477 return aStreamFile._retn();
480 //============================================================================
481 // function : CanPaste()
483 //============================================================================
484 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
489 //============================================================================
490 // function : PasteInto()
492 //============================================================================
493 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
494 CORBA::Long theObjectID,
495 SALOMEDS::SObject_ptr theObject)
497 SALOMEDS::SObject_var aNewSO;
498 return aNewSO._retn();
501 //================= Primitives Construction : BasicOperations =================
502 //=============================================================================
504 //=============================================================================
505 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
509 beginService( " GEOM_Superv_i::MakePointXYZ" );
510 MESSAGE("GEOM_Superv_i::MakePointXYZ");
512 // make vertex and return
513 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
514 endService( " GEOM_Superv_i::MakePointXYZ" );
518 //=============================================================================
519 // MakePointWithReference:
520 //=============================================================================
521 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
526 beginService( " GEOM_Superv_i::MakePointWithReference" );
527 MESSAGE("GEOM_Superv_i::MakePointWithReference");
529 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
530 endService( " GEOM_Superv_i::MakePointWithReference" );
534 //=============================================================================
536 //=============================================================================
537 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
538 CORBA::Double theParameter)
540 beginService( " GEOM_Superv_i::MakePointOnCurve" );
541 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
543 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
544 endService( " GEOM_Superv_i::MakePointOnCurve" );
548 //=============================================================================
549 // MakeTangentOnCurve:
550 //=============================================================================
551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
552 CORBA::Double theParameter)
554 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
555 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
557 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
558 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
562 //=============================================================================
564 //=============================================================================
565 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
569 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
570 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
572 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
573 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
577 //=============================================================================
579 //=============================================================================
580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
581 GEOM::GEOM_Object_ptr thePnt2)
583 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
584 MESSAGE("GEOM_Superv_i::MakeVector");
586 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
587 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
591 //=============================================================================
593 //=============================================================================
594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
595 GEOM::GEOM_Object_ptr thePnt2)
597 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
598 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
600 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
601 endService( " GEOM_Superv_i::MakeLineTwoPnt");
605 //=============================================================================
606 // MakePlaneThreePnt:
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
609 GEOM::GEOM_Object_ptr thePnt2,
610 GEOM::GEOM_Object_ptr thePnt3,
611 CORBA::Double theTrimSize)
613 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
614 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
616 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
617 endService( " GEOM_Superv_i::MakePlaneThreePnt");
621 //=============================================================================
623 //=============================================================================
624 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
625 GEOM::GEOM_Object_ptr theVec,
626 CORBA::Double theTrimSize)
628 beginService( " GEOM_Superv_i::MakePlanePntVec" );
629 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
631 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
632 endService( " GEOM_Superv_i::MakePlanePntVec" );
636 //=============================================================================
638 //=============================================================================
639 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
640 CORBA::Double theTrimSize)
642 beginService( " GEOM_Superv_i::MakePlaneFace" );
643 MESSAGE("GEOM_Superv_i::MakePlaneFace");
645 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
646 endService( " GEOM_Superv_i::MakePlaneFace" );
650 //=============================================================================
652 //=============================================================================
653 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
654 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
655 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
656 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
658 beginService( " GEOM_Superv_i::MakeMarker" );
659 MESSAGE("GEOM_Superv_i::MakeMarker");
661 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
662 endService( " GEOM_Superv_i::MakeMarker" );
666 //=============================================================================
667 // MakeTangentPlaneOnFace:
668 //=============================================================================
669 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
670 CORBA::Double theParameterU,
671 CORBA::Double theParameterV,
672 CORBA::Double theTrimSize)
674 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
675 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
677 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
678 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
682 //================= Primitives Construction : 3DPrimOperations ================
683 //=============================================================================
685 //=============================================================================
686 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
693 beginService( " GEOM_Superv_i::MakeBox" );
694 MESSAGE("GEOM_Superv_i::MakeBox");
697 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
698 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
699 endService( " GEOM_Superv_i::MakeBox" );
703 //=============================================================================
705 //=============================================================================
706 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
710 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
711 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
713 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
714 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
718 //=============================================================================
720 //=============================================================================
721 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
722 GEOM::GEOM_Object_ptr thePnt2)
724 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
725 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
727 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
728 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
732 //=============================================================================
733 // MakeCylinderPntVecRH:
734 //=============================================================================
735 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
736 GEOM::GEOM_Object_ptr theAxis,
737 CORBA::Double theRadius,
738 CORBA::Double theHeight)
740 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
741 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
743 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
744 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
748 //=============================================================================
750 //=============================================================================
751 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
754 beginService( " GEOM_Superv_i::MakeCylinderRH" );
755 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
757 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
758 endService( " GEOM_Superv_i::MakeCylinderRH" );
762 //=============================================================================
764 //=============================================================================
765 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
768 CORBA::Double theRadius)
770 beginService( " GEOM_Superv_i::MakeSphepe" );
771 MESSAGE("GEOM_Superv_i::MakeSphepe");
774 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
775 endService( " GEOM_Superv_i::MakeSphepe" );
779 //=============================================================================
781 //=============================================================================
782 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
784 beginService( " GEOM_Superv_i::MakeSphereR" );
785 MESSAGE("GEOM_Superv_i::MakeSphereR");
787 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
788 endService( " GEOM_Superv_i::MakeSphereR" );
792 //=============================================================================
794 //=============================================================================
795 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
798 beginService( " GEOM_Superv_i::MakeSpherePntR" );
799 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
801 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
802 endService( " GEOM_Superv_i::MakeSpherePntR" );
806 //=============================================================================
807 // MakeTorusPntVecRR:
808 //=============================================================================
809 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
810 GEOM::GEOM_Object_ptr theVec,
811 CORBA::Double theRMajor,
812 CORBA::Double theRMinor)
814 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
815 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
817 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
818 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
822 //=============================================================================
824 //=============================================================================
825 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
826 CORBA::Double theRMinor)
828 beginService( " GEOM_Superv_i::MakeTorusRR" );
829 MESSAGE("GEOM_Superv_i::MakeTorusRR");
831 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
832 endService( " GEOM_Superv_i::MakeTorusRR" );
836 //=============================================================================
837 // MakeConePntVecR1R2H:
838 //=============================================================================
839 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
840 GEOM::GEOM_Object_ptr theAxis,
843 CORBA::Double theHeight)
845 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
846 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
848 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
849 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
853 //=============================================================================
855 //=============================================================================
856 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
858 CORBA::Double theHeight)
860 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
861 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
863 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
864 endService( " GEOM_Superv_i::MakeConeR1R2H" );
868 //=============================================================================
870 //=============================================================================
871 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
872 GEOM::GEOM_Object_ptr theVec,
875 beginService( " GEOM_Superv_i::MakePrismVecH" );
876 MESSAGE("GEOM_Superv_i::MakePrismVecH");
878 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
879 endService( " GEOM_Superv_i::MakePrismVecH" );
884 //=============================================================================
886 //=============================================================================
887 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
888 GEOM::GEOM_Object_ptr thePoint1,
889 GEOM::GEOM_Object_ptr thePoint2)
891 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
892 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
894 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
895 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
899 //=============================================================================
901 //=============================================================================
902 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
903 GEOM::GEOM_Object_ptr thePath)
905 beginService( " GEOM_Superv_i::MakePipe" );
906 MESSAGE("GEOM_Superv_i::MakePipe");
908 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
909 endService( " GEOM_Superv_i::MakePipe" );
913 //=============================================================================
914 // MakeRevolutionAxisAngle:
915 //=============================================================================
916 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
917 GEOM::GEOM_Object_ptr theAxis,
918 CORBA::Double theAngle)
920 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
921 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
923 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
924 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
928 //=============================================================================
930 //=============================================================================
931 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
932 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
933 CORBA::Double theTol2D, CORBA::Double theTol3D,
934 CORBA::Long theNbIter)
936 beginService( " GEOM_Superv_i::MakeFilling" );
937 MESSAGE("GEOM_Superv_i::MakeFilling");
939 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
940 endService( " GEOM_Superv_i::MakeFilling" );
944 //============================= BooleanOperations =============================
945 //=============================================================================
947 //=============================================================================
948 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
949 GEOM::GEOM_Object_ptr theShape2,
950 CORBA::Long theOperation)
952 beginService( " GEOM_Superv_i::MakeBoolean" );
953 // theOperation indicates the operation to be done:
954 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
955 MESSAGE("GEOM_Superv_i::MakeBoolean");
957 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
958 endService( " GEOM_Superv_i::MakeBoolean" );
962 //=============================================================================
964 //=============================================================================
965 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
966 CORBA::Boolean theModeSolid,
967 CORBA::Double thePreci,
968 CORBA::Boolean theRuled)
970 beginService( " GEOM_Superv_i::MakeThruSections" );
971 MESSAGE("GEOM_Superv_i::MakeThruSections");
973 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
974 endService( " GEOM_Superv_i::MakeThruSections" );
978 //=============================================================================
980 //=============================================================================
981 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
982 (const GEOM::ListOfGO& theBases,
983 const GEOM::ListOfGO& theLocations,
984 GEOM::GEOM_Object_ptr thePath,
985 CORBA::Boolean theWithContact,
986 CORBA::Boolean theWithCorrections)
988 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
989 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
991 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
992 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
997 //=============================================================================
999 //=============================================================================
1000 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1001 (const GEOM::ListOfGO& theBases,
1002 const GEOM::ListOfGO& theSubBases,
1003 const GEOM::ListOfGO& theLocations,
1004 GEOM::GEOM_Object_ptr thePath,
1005 CORBA::Boolean theWithContact,
1006 CORBA::Boolean theWithCorrections)
1008 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1009 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1011 GEOM::GEOM_Object_ptr anObj =
1012 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1013 theLocations, thePath,
1014 theWithContact, theWithCorrections);
1015 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1020 //=============================================================================
1022 //=============================================================================
1023 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1024 GEOM::GEOM_Object_ptr theShape2)
1026 beginService( " GEOM_Superv_i::MakeFuse" );
1027 MESSAGE("GEOM_Superv_i::MakeFuse");
1029 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1030 endService( " GEOM_Superv_i::MakeFuse" );
1034 //=============================================================================
1036 //=============================================================================
1037 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1038 GEOM::GEOM_List_ptr theTools,
1039 GEOM::GEOM_List_ptr theKeepInside,
1040 GEOM::GEOM_List_ptr theRemoveInside,
1041 CORBA::Short theLimit,
1042 CORBA::Boolean theRemoveWebs,
1043 GEOM::GEOM_List_ptr theMaterials,
1044 CORBA::Short theKeepNonlimitShapes)
1046 beginService( " GEOM_Superv_i::MakePartition" );
1047 MESSAGE("GEOM_Superv_i::MakePartition");
1048 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1049 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1050 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1051 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1052 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1053 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1054 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1055 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1056 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1057 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1058 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1060 GEOM::GEOM_Object_ptr anObj =
1061 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1062 aListImplKI->GetList(), aListImplRI->GetList(),
1063 theLimit, theRemoveWebs, aListImplM->GetList(),
1064 theKeepNonlimitShapes);
1065 endService( " GEOM_Superv_i::MakePartition" );
1068 endService( " GEOM_Superv_i::MakePartition" );
1072 //=============================================================================
1073 // MakeHalfPartition:
1074 //=============================================================================
1075 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1076 GEOM::GEOM_Object_ptr thePlane)
1078 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1079 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1081 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1082 endService( " GEOM_Superv_i::MakeHalfPartition" );
1086 //============================== InsertOperations =============================
1087 //=============================================================================
1089 //=============================================================================
1090 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1092 beginService( " GEOM_Superv_i::MakeCopy" );
1093 MESSAGE("GEOM_Superv_i::MakeCopy");
1095 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1096 endService( " GEOM_Superv_i::MakeCopy" );
1100 //=============================================================================
1102 //=============================================================================
1103 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1104 const char* theFileName,
1105 const char* theFormatName)
1107 beginService( " GEOM_Superv_i::Export" );
1108 MESSAGE("GEOM_Superv_i::Export");
1110 myInsOp->Export(theObject, theFileName, theFormatName);
1111 endService( " GEOM_Superv_i::Export" );
1114 //=============================================================================
1116 //=============================================================================
1117 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1118 const char* theFormatName)
1120 beginService( " GEOM_Superv_i::Import" );
1121 MESSAGE("GEOM_Superv_i::Import");
1123 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1124 endService( " GEOM_Superv_i::Import" );
1128 //=============================================================================
1129 // ImportTranslators:
1130 //=============================================================================
1131 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1132 GEOM::string_array_out thePatterns)
1134 beginService( " GEOM_Superv_i::ImportTranslators" );
1135 MESSAGE("GEOM_Superv_i::ImportTranslators");
1137 myInsOp->ImportTranslators(theFormats, thePatterns);
1138 endService( " GEOM_Superv_i::ImportTranslators" );
1141 //=============================================================================
1142 // ExportTranslators:
1143 //=============================================================================
1144 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1145 GEOM::string_array_out thePatterns)
1147 beginService( " GEOM_Superv_i::ExportTranslators" );
1148 MESSAGE("GEOM_Superv_i::ExportTranslators");
1150 myInsOp->ExportTranslators(theFormats, thePatterns);
1151 endService( " GEOM_Superv_i::ExportTranslators" );
1154 //============================= TransformOperations ===========================
1155 //=============================================================================
1156 // TranslateTwoPoints:
1157 //=============================================================================
1158 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1159 GEOM::GEOM_Object_ptr thePoint1,
1160 GEOM::GEOM_Object_ptr thePoint2)
1162 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1163 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1165 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1166 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1170 //=============================================================================
1171 // TranslateTwoPointsCopy:
1172 //=============================================================================
1173 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1174 GEOM::GEOM_Object_ptr thePoint1,
1175 GEOM::GEOM_Object_ptr thePoint2)
1177 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1178 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1180 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1181 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1185 //=============================================================================
1187 //=============================================================================
1188 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1189 CORBA::Double theDX,
1190 CORBA::Double theDY,
1191 CORBA::Double theDZ)
1193 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1194 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1196 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1197 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1201 //=============================================================================
1202 // TranslateDXDYDZCopy:
1203 //=============================================================================
1204 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1205 CORBA::Double theDX,
1206 CORBA::Double theDY,
1207 CORBA::Double theDZ)
1209 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1210 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1212 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1213 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1217 //=============================================================================
1219 //=============================================================================
1220 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1221 GEOM::GEOM_Object_ptr theVector)
1223 beginService( " GEOM_Superv_i::TranslateVector" );
1224 MESSAGE("GEOM_Superv_i::TranslateVector");
1226 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1227 endService( " GEOM_Superv_i::TranslateVector" );
1231 //=============================================================================
1232 // TranslateVectorCopy:
1233 //=============================================================================
1234 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1235 GEOM::GEOM_Object_ptr theVector)
1237 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1238 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1240 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1241 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1245 //=============================================================================
1246 // MultiTranslate1D:
1247 //=============================================================================
1248 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1249 GEOM::GEOM_Object_ptr theVector,
1250 CORBA::Double theStep,
1251 CORBA::Long theNbTimes)
1253 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1254 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1256 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1257 endService( " GEOM_Superv_i::MultiTranslate1D" );
1261 //=============================================================================
1262 // MultiTranslate2D:
1263 //=============================================================================
1264 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1265 GEOM::GEOM_Object_ptr theVector1,
1266 CORBA::Double theStep1,
1267 CORBA::Long theNbTimes1,
1268 GEOM::GEOM_Object_ptr theVector2,
1269 CORBA::Double theStep2,
1270 CORBA::Long theNbTimes2)
1272 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1273 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1275 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1276 theVector2, theStep2, theNbTimes2);
1277 endService( " GEOM_Superv_i::MultiTranslate2D" );
1281 //=============================================================================
1283 //=============================================================================
1284 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1285 GEOM::GEOM_Object_ptr theAxis,
1286 CORBA::Double theAngle)
1288 beginService( " GEOM_Superv_i::Rotate" );
1289 MESSAGE("GEOM_Superv_i::Rotate");
1291 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1292 endService( " GEOM_Superv_i::Rotate" );
1296 //=============================================================================
1298 //=============================================================================
1299 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1300 GEOM::GEOM_Object_ptr theAxis,
1301 CORBA::Double theAngle)
1303 beginService( " GEOM_Superv_i::RotateCopy" );
1304 MESSAGE("GEOM_Superv_i::RotateCopy");
1306 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1307 endService( " GEOM_Superv_i::RotateCopy" );
1310 //=============================================================================
1311 // RotateThreePoints:
1312 //=============================================================================
1313 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1314 GEOM::GEOM_Object_ptr theCentPoint,
1315 GEOM::GEOM_Object_ptr thePoint1,
1316 GEOM::GEOM_Object_ptr thePoint2)
1318 beginService( " GEOM_Superv_i::RotateThreePoints" );
1319 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1321 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1322 endService( " GEOM_Superv_i::RotateThreePoints" );
1326 //=============================================================================
1327 // RotateThreePointsCopy:
1328 //=============================================================================
1329 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1330 GEOM::GEOM_Object_ptr theCentPoint,
1331 GEOM::GEOM_Object_ptr thePoint1,
1332 GEOM::GEOM_Object_ptr thePoint2)
1334 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1335 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1337 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1338 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1342 //=============================================================================
1344 //=============================================================================
1345 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1346 GEOM::GEOM_Object_ptr theAxis,
1347 CORBA::Long theNbTimes)
1349 beginService( " GEOM_Superv_i::MultiRotate1D" );
1350 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1352 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1353 endService( " GEOM_Superv_i::MultiRotate1D" );
1357 //=============================================================================
1359 //=============================================================================
1360 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1361 GEOM::GEOM_Object_ptr theAxis,
1362 CORBA::Double theAngle,
1363 CORBA::Long theNbTimes1,
1364 CORBA::Double theStep,
1365 CORBA::Long theNbTimes2)
1367 beginService( " GEOM_Superv_i::MultiRotate2D" );
1368 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1370 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1371 endService( " GEOM_Superv_i::MultiRotate2D" );
1375 //=============================================================================
1377 //=============================================================================
1378 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1379 GEOM::GEOM_Object_ptr thePlane)
1381 beginService( " GEOM_Superv_i::MirrorPlane" );
1382 MESSAGE("GEOM_Superv_i::MirrorPlane");
1384 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1385 endService( " GEOM_Superv_i::MirrorPlane" );
1389 //=============================================================================
1391 //=============================================================================
1392 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1393 GEOM::GEOM_Object_ptr thePlane)
1395 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1396 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1398 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1399 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1403 //=============================================================================
1405 //=============================================================================
1406 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1407 GEOM::GEOM_Object_ptr theAxis)
1409 beginService( " GEOM_Superv_i::MirrorAxis" );
1410 MESSAGE("GEOM_Superv_i::MirrorAxis");
1412 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1413 endService( " GEOM_Superv_i::MirrorAxis" );
1417 //=============================================================================
1419 //=============================================================================
1420 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1421 GEOM::GEOM_Object_ptr theAxis)
1423 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1424 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1426 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1427 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1431 //=============================================================================
1433 //=============================================================================
1434 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1435 GEOM::GEOM_Object_ptr thePoint)
1437 beginService( " GEOM_Superv_i::MirrorPoint" );
1438 MESSAGE("GEOM_Superv_i::MirrorPoint");
1440 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1441 endService( " GEOM_Superv_i::MirrorPoint" );
1445 //=============================================================================
1447 //=============================================================================
1448 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1449 GEOM::GEOM_Object_ptr thePoint)
1451 beginService( " GEOM_Superv_i::MirrorPoint" );
1452 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1454 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1455 endService( " GEOM_Superv_i::MirrorPoint" );
1459 //=============================================================================
1461 //=============================================================================
1462 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1463 CORBA::Double theOffset)
1465 beginService( " GEOM_Superv_i::OffsetShape" );
1466 MESSAGE("GEOM_Superv_i::OffsetShape");
1468 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1469 endService( " GEOM_Superv_i::OffsetShape" );
1473 //=============================================================================
1475 //=============================================================================
1476 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1477 CORBA::Double theOffset)
1479 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1480 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1482 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1483 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1487 //=============================================================================
1489 //=============================================================================
1490 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1491 GEOM::GEOM_Object_ptr thePoint,
1492 CORBA::Double theFactor)
1494 beginService( " GEOM_Superv_i::ScaleShape" );
1495 MESSAGE("GEOM_Superv_i::ScaleShape");
1497 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1498 endService( " GEOM_Superv_i::ScaleShape" );
1502 //=============================================================================
1504 //=============================================================================
1505 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1506 GEOM::GEOM_Object_ptr thePoint,
1507 CORBA::Double theFactor)
1509 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1510 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1512 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1513 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1517 //=============================================================================
1519 //=============================================================================
1520 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1521 GEOM::GEOM_Object_ptr theStartLCS,
1522 GEOM::GEOM_Object_ptr theEndLCS)
1524 beginService( " GEOM_Superv_i::PositionShape" );
1525 MESSAGE("GEOM_Superv_i::PositionShape");
1527 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1528 endService( " GEOM_Superv_i::PositionShape" );
1532 //=============================================================================
1533 // PositionShapeCopy:
1534 //=============================================================================
1535 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1536 GEOM::GEOM_Object_ptr theStartLCS,
1537 GEOM::GEOM_Object_ptr theEndLCS)
1539 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1540 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1542 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1543 endService( " GEOM_Superv_i::PositionShapeCopy" );
1547 //=============================== ShapesOperations ============================
1548 //=============================================================================
1550 //=============================================================================
1551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1552 GEOM::GEOM_Object_ptr thePnt2)
1554 beginService( " GEOM_Superv_i::MakeEdge" );
1555 MESSAGE("GEOM_Superv_i::MakeEdge");
1557 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1558 endService( " GEOM_Superv_i::MakeEdge" );
1562 //=============================================================================
1564 //=============================================================================
1565 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1567 beginService( " GEOM_Superv_i::MakeWire" );
1568 MESSAGE("GEOM_Superv_i::MakeWire");
1569 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1570 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1572 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
1573 endService( " GEOM_Superv_i::MakeWire" );
1576 endService( " GEOM_Superv_i::MakeWire" );
1580 //=============================================================================
1582 //=============================================================================
1583 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1584 CORBA::Boolean isPlanarWanted)
1586 beginService( " GEOM_Superv_i::MakeFace" );
1587 MESSAGE("GEOM_Superv_i::MakeFace");
1589 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1590 endService( " GEOM_Superv_i::MakeFace" );
1594 //=============================================================================
1596 //=============================================================================
1597 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1598 CORBA::Boolean isPlanarWanted)
1600 beginService( " GEOM_Superv_i::MakeFaceWires" );
1601 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1602 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1603 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1605 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1606 endService( " GEOM_Superv_i::MakeFaceWires" );
1609 endService( " GEOM_Superv_i::MakeFaceWires" );
1613 //=============================================================================
1615 //=============================================================================
1616 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1618 beginService( " GEOM_Superv_i::MakeShell" );
1619 MESSAGE("GEOM_Superv_i::MakeShell");
1620 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1621 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1623 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1624 endService( " GEOM_Superv_i::MakeShell" );
1627 endService( " GEOM_Superv_i::MakeShell" );
1631 //=============================================================================
1633 //=============================================================================
1634 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1636 beginService( " GEOM_Superv_i::MakeSolidShell" );
1637 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1639 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1640 endService( " GEOM_Superv_i::MakeSolidShell" );
1644 //=============================================================================
1646 //=============================================================================
1647 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1649 beginService( " GEOM_Superv_i::MakeSolidShells" );
1650 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1651 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1652 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1654 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1655 endService( " GEOM_Superv_i::MakeSolidShells" );
1658 endService( " GEOM_Superv_i::MakeSolidShells" );
1662 //=============================================================================
1664 //=============================================================================
1665 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1667 beginService( " GEOM_Superv_i::MakeCompound" );
1668 MESSAGE("GEOM_Superv_i::MakeCompound");
1669 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1670 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1672 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
1673 endService( " GEOM_Superv_i::MakeCompound" );
1676 endService( " GEOM_Superv_i::MakeCompound" );
1680 //=============================================================================
1682 //=============================================================================
1683 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1684 CORBA::Double theTolerance,
1685 CORBA::Boolean doKeepNonSolids)
1687 beginService( " GEOM_Superv_i::MakeGlueFaces" );
1688 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1690 GEOM::GEOM_Object_ptr anObj =
1691 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
1692 endService( " GEOM_Superv_i::MakeGlueFaces" );
1696 //=============================================================================
1698 //=============================================================================
1699 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
1700 CORBA::Double theTolerance)
1702 beginService( " GEOM_Superv_i::GetGlueFaces" );
1703 MESSAGE("GEOM_Superv_i::GetGlueFaces");
1705 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
1706 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1707 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1708 endService( " GEOM_Superv_i::GetGlueFaces" );
1709 return aListPtr->_this();
1712 //=============================================================================
1713 // MakeGlueFacesByList:
1714 //=============================================================================
1715 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
1716 CORBA::Double theTolerance,
1717 const GEOM::ListOfGO& theFaces,
1718 CORBA::Boolean doKeepNonSolids)
1720 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
1721 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
1723 GEOM::GEOM_Object_ptr anObj =
1724 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids);
1725 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
1729 //=============================================================================
1731 //=============================================================================
1732 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
1733 CORBA::Long theShapeType,
1734 CORBA::Boolean isSorted)
1736 beginService( " GEOM_Superv_i::MakeExplode" );
1737 MESSAGE("GEOM_Superv_i::MakeExplode");
1740 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
1741 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1742 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1743 endService( " GEOM_Superv_i::MakeExplode" );
1744 return aListPtr->_this();
1747 //=============================================================================
1749 //=============================================================================
1750 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
1752 beginService( " GEOM_Superv_i::NumberOfFaces" );
1753 MESSAGE("GEOM_Superv_i::NumberOfFaces");
1755 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
1756 endService( " GEOM_Superv_i::NumberOfFaces" );
1760 //=============================================================================
1762 //=============================================================================
1763 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
1765 beginService( " GEOM_Superv_i::NumberOfEdges" );
1766 MESSAGE("GEOM_Superv_i::NumberOfEdges");
1768 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
1769 endService( " GEOM_Superv_i::NumberOfEdges" );
1773 //=============================================================================
1774 // ChangeOrientation:
1775 //=============================================================================
1776 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
1778 beginService( " GEOM_Superv_i::ChangeOrientation" );
1779 MESSAGE("GEOM_Superv_i::ChangeOrientation");
1781 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
1782 endService( " GEOM_Superv_i::ChangeOrientation" );
1787 //=============================== BlocksOperations ============================
1788 //=============================================================================
1789 // MakeQuad4Vertices:
1790 //=============================================================================
1791 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
1792 GEOM::GEOM_Object_ptr thePnt2,
1793 GEOM::GEOM_Object_ptr thePnt3,
1794 GEOM::GEOM_Object_ptr thePnt4)
1796 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
1797 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
1799 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
1800 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
1804 //=============================================================================
1806 //=============================================================================
1807 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
1808 GEOM::GEOM_Object_ptr theEdge2,
1809 GEOM::GEOM_Object_ptr theEdge3,
1810 GEOM::GEOM_Object_ptr theEdge4)
1812 beginService( " GEOM_Superv_i::MakeQuad" );
1813 MESSAGE("GEOM_Superv_i::MakeQuad");
1815 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
1816 endService( " GEOM_Superv_i::MakeQuad" );
1820 //=============================================================================
1822 //=============================================================================
1823 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
1824 GEOM::GEOM_Object_ptr theEdge2)
1826 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
1827 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
1829 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
1830 endService( " GEOM_Superv_i::MakeQuad2Edges" );
1834 //=============================================================================
1836 //=============================================================================
1837 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
1838 GEOM::GEOM_Object_ptr theFace2,
1839 GEOM::GEOM_Object_ptr theFace3,
1840 GEOM::GEOM_Object_ptr theFace4,
1841 GEOM::GEOM_Object_ptr theFace5,
1842 GEOM::GEOM_Object_ptr theFace6)
1844 beginService( " GEOM_Superv_i::MakeHexa" );
1845 MESSAGE("GEOM_Superv_i::MakeHexa");
1847 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
1848 endService( " GEOM_Superv_i::MakeHexa" );
1852 //=============================================================================
1854 //=============================================================================
1855 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
1856 GEOM::GEOM_Object_ptr theFace2)
1858 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
1859 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
1861 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
1862 endService( " GEOM_Superv_i::MakeHexa2Faces" );
1866 //=============================================================================
1868 //=============================================================================
1869 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
1873 CORBA::Double theEpsilon)
1875 beginService( " GEOM_Superv_i::GetPoint" );
1876 MESSAGE("GEOM_Superv_i::GetPoint");
1878 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
1879 endService( " GEOM_Superv_i::GetPoint" );
1883 //=============================================================================
1885 //=============================================================================
1886 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
1887 GEOM::GEOM_Object_ptr thePoint1,
1888 GEOM::GEOM_Object_ptr thePoint2)
1890 beginService( " GEOM_Superv_i::GetEdge" );
1891 MESSAGE("GEOM_Superv_i::GetEdge");
1893 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
1894 endService( " GEOM_Superv_i::GetEdge" );
1898 //=============================================================================
1899 // GetEdgeNearPoint:
1900 //=============================================================================
1901 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
1902 GEOM::GEOM_Object_ptr thePoint)
1904 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
1905 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
1907 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
1908 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
1912 //=============================================================================
1914 //=============================================================================
1915 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
1916 GEOM::GEOM_Object_ptr thePoint1,
1917 GEOM::GEOM_Object_ptr thePoint2,
1918 GEOM::GEOM_Object_ptr thePoint3,
1919 GEOM::GEOM_Object_ptr thePoint4)
1921 beginService( " GEOM_Superv_i::GetFaceByPoints" );
1922 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
1924 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
1925 endService( " GEOM_Superv_i::GetFaceByPoints" );
1929 //=============================================================================
1931 //=============================================================================
1932 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
1933 GEOM::GEOM_Object_ptr theEdge1,
1934 GEOM::GEOM_Object_ptr theEdge2)
1936 beginService( " GEOM_Superv_i::GetFaceByEdges" );
1937 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
1939 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
1940 endService( " GEOM_Superv_i::GetFaceByEdges" );
1944 //=============================================================================
1946 //=============================================================================
1947 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
1948 GEOM::GEOM_Object_ptr theFace)
1950 beginService( " GEOM_Superv_i::GetOppositeFace" );
1951 MESSAGE("GEOM_Superv_i::GetOppositeFace");
1953 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
1954 endService( " GEOM_Superv_i::GetOppositeFace" );
1958 //=============================================================================
1959 // GetFaceNearPoint:
1960 //=============================================================================
1961 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
1962 GEOM::GEOM_Object_ptr thePoint)
1964 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
1965 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
1967 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
1968 endService( " GEOM_Superv_i::GetFaceNearPoint" );
1972 //=============================================================================
1973 // GetFaceByNormale:
1974 //=============================================================================
1975 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
1976 GEOM::GEOM_Object_ptr theVector)
1978 beginService( " GEOM_Superv_i::GetFaceByNormale" );
1979 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
1981 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
1982 endService( " GEOM_Superv_i::GetFaceByNormale" );
1986 //=============================================================================
1987 // IsCompoundOfBlocks:
1988 //=============================================================================
1989 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
1990 CORBA::Long theMinNbFaces,
1991 CORBA::Long theMaxNbFaces,
1992 CORBA::Long& theNbBlocks)
1994 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
1995 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
1997 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
1998 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2002 //=============================================================================
2003 // CheckCompoundOfBlocks:
2004 //=============================================================================
2005 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2006 (GEOM::GEOM_Object_ptr theCompound,
2007 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2009 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2010 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2012 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2013 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2017 //=============================================================================
2019 //=============================================================================
2020 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2021 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2023 beginService( " GEOM_Superv_i::PrintBCErrors" );
2024 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2026 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2027 endService( " GEOM_Superv_i::PrintBCErrors" );
2031 //=============================================================================
2032 // ExplodeCompoundOfBlocks:
2033 //=============================================================================
2034 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2035 CORBA::Long theMinNbFaces,
2036 CORBA::Long theMaxNbFaces)
2038 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2039 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2041 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2042 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2043 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2044 return aListPtr->_this();
2047 //=============================================================================
2048 // GetBlockNearPoint:
2049 //=============================================================================
2050 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2051 GEOM::GEOM_Object_ptr thePoint)
2053 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2054 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2056 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2057 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2061 //=============================================================================
2063 //=============================================================================
2064 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2065 GEOM::GEOM_List_ptr theParts)
2067 beginService( " GEOM_Superv_i::GetBlockByParts" );
2068 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2069 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2070 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2072 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2073 endService( " GEOM_Superv_i::GetBlockByParts" );
2076 endService( " GEOM_Superv_i::GetBlockByParts" );
2080 //=============================================================================
2081 // GetBlocksByParts:
2082 //=============================================================================
2083 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2084 GEOM::GEOM_List_ptr theParts)
2086 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2087 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2088 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2089 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2092 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2093 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2094 endService( " GEOM_Superv_i::GetBlocksByParts" );
2095 return aListPtr->_this();
2097 endService( " GEOM_Superv_i::GetBlocksByParts" );
2101 //=============================================================================
2102 // MakeMultiTransformation1D:
2103 //=============================================================================
2104 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2105 CORBA::Long theDirFace1,
2106 CORBA::Long theDirFace2,
2107 CORBA::Long theNbTimes)
2109 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2110 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2112 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2113 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2117 //=============================================================================
2118 // MakeMultiTransformation2D:
2119 //=============================================================================
2120 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2121 (GEOM::GEOM_Object_ptr theBlock,
2122 CORBA::Long theDirFace1U,
2123 CORBA::Long theDirFace2U,
2124 CORBA::Long theNbTimesU,
2125 CORBA::Long theDirFace1V,
2126 CORBA::Long theDirFace2V,
2127 CORBA::Long theNbTimesV)
2129 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2130 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2132 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2133 theDirFace1U, theDirFace2U, theNbTimesU,
2134 theDirFace1V, theDirFace2V, theNbTimesV);
2135 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2139 //=============================== CurvesOperations ============================
2140 //=============================================================================
2141 // MakeCirclePntVecR:
2142 //=============================================================================
2143 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2144 GEOM::GEOM_Object_ptr theVector,
2147 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2148 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2150 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2151 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2155 //=============================================================================
2156 // MakeCircleThreePnt:
2157 //=============================================================================
2158 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2159 GEOM::GEOM_Object_ptr thePnt2,
2160 GEOM::GEOM_Object_ptr thePnt3)
2162 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2163 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2165 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2166 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2170 //=============================================================================
2172 //=============================================================================
2173 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2174 GEOM::GEOM_Object_ptr theVector,
2175 CORBA::Double theRMajor,
2176 CORBA::Double theRMinor)
2178 beginService( " GEOM_Superv_i::MakeEllipse" );
2179 MESSAGE("GEOM_Superv_i::MakeEllipse");
2181 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2182 endService( " GEOM_Superv_i::MakeEllipse" );
2186 //=============================================================================
2188 //=============================================================================
2189 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2190 GEOM::GEOM_Object_ptr thePnt2,
2191 GEOM::GEOM_Object_ptr thePnt3)
2193 beginService( " GEOM_Superv_i::MakeArc" );
2194 MESSAGE("GEOM_Superv_i::MakeArc");
2196 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2197 endService( " GEOM_Superv_i::MakeArc" );
2201 //=============================================================================
2203 //=============================================================================
2204 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2205 GEOM::GEOM_Object_ptr thePnt1,
2206 GEOM::GEOM_Object_ptr thePnt2,
2207 CORBA::Boolean theSense)
2209 beginService( " GEOM_Superv_i::MakeArcCenter" );
2210 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2212 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2213 endService( " GEOM_Superv_i::MakeArcCenter" );
2217 //=============================================================================
2219 //=============================================================================
2220 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2222 beginService( " GEOM_Superv_i::MakePolyline" );
2223 MESSAGE("GEOM_Superv_i::MakePolyline");
2224 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2225 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2227 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2228 endService( " GEOM_Superv_i::MakePolyline" );
2231 endService( " GEOM_Superv_i::MakePolyline" );
2235 //=============================================================================
2236 // MakeSplineBezier:
2237 //=============================================================================
2238 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2240 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2241 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2242 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2243 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2245 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2246 endService( " GEOM_Superv_i::MakeSplineBezier" );
2249 endService( " GEOM_Superv_i::MakeSplineBezier" );
2253 //=============================================================================
2254 // MakeSplineInterpolation:
2255 //=============================================================================
2256 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2258 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2259 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2260 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2261 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2263 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2264 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2267 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2271 //=============================================================================
2273 //=============================================================================
2274 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2275 GEOM::GEOM_List_ptr theWorkingPlane)
2277 beginService( " GEOM_Superv_i::MakeSketcher" );
2278 MESSAGE("GEOM_Superv_i::MakeSketcher");
2279 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2280 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2282 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2283 endService( " GEOM_Superv_i::MakeSketcher" );
2286 endService( " GEOM_Superv_i::MakeSketcher" );
2290 //=============================== LocalOperations =============================
2291 //=============================================================================
2293 //=============================================================================
2294 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2297 beginService( " GEOM_Superv_i::MakeFilletAll" );
2298 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2300 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2301 endService( " GEOM_Superv_i::MakeFilletAll" );
2305 //=============================================================================
2307 //=============================================================================
2308 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2310 GEOM::GEOM_List_ptr theEdges)
2312 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2313 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2314 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2315 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2317 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2318 endService( " GEOM_Superv_i::MakeFilletEdges" );
2321 endService( " GEOM_Superv_i::MakeFilletEdges" );
2325 //=============================================================================
2327 //=============================================================================
2328 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2330 GEOM::GEOM_List_ptr theFaces)
2332 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2333 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2334 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2335 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2337 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2338 endService( " GEOM_Superv_i::MakeFilletFaces" );
2341 endService( " GEOM_Superv_i::MakeFilletFaces" );
2345 //=============================================================================
2347 //=============================================================================
2348 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2350 beginService( " GEOM_Superv_i::MakeChamferAll" );
2351 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2353 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2354 endService( " GEOM_Superv_i::MakeChamferAll" );
2358 //=============================================================================
2360 //=============================================================================
2361 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2362 CORBA::Double theD1, CORBA::Double theD2,
2363 CORBA::Long theFace1, CORBA::Long theFace2)
2365 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2366 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2368 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2369 endService( " GEOM_Superv_i::MakeChamferEdge" );
2373 //=============================================================================
2374 // MakeChamferFaces:
2375 //=============================================================================
2376 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2377 CORBA::Double theD1, CORBA::Double theD2,
2378 GEOM::GEOM_List_ptr theFaces)
2380 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2381 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2382 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2383 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2385 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2386 endService( " GEOM_Superv_i::MakeChamferFaces" );
2389 endService( " GEOM_Superv_i::MakeChamferFaces" );
2393 //=============================================================================
2395 //=============================================================================
2396 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2397 CORBA::Double theWeight,
2398 CORBA::Double theWaterDensity,
2399 CORBA::Double theMeshingDeflection)
2401 beginService( " GEOM_Superv_i::MakeArchimede" );
2402 MESSAGE("GEOM_Superv_i::MakeArchimede");
2404 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2405 endService( " GEOM_Superv_i::MakeArchimede" );
2409 //=============================================================================
2410 // GetSubShapeIndexMakeFilletAll:
2411 //=============================================================================
2412 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2413 GEOM::GEOM_Object_ptr theSubShape)
2415 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2416 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
2418 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
2419 endService( " GEOM_Superv_i::GetSubShapeIndex" );
2423 //=============================== GroupOperations =============================
2424 //=============================================================================
2426 //=============================================================================
2427 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
2428 CORBA::Long theShapeType)
2430 beginService( " GEOM_Superv_i::CreateGroup" );
2431 MESSAGE("GEOM_Superv_i::CreateGroup");
2433 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
2434 endService( " GEOM_Superv_i::CreateGroup" );
2438 //=============================================================================
2440 //=============================================================================
2441 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
2442 CORBA::Long theSubShapeId)
2444 beginService( " GEOM_Superv_i::AddObject" );
2445 MESSAGE("GEOM_Superv_i::AddObject");
2447 myGroupOp->AddObject(theGroup, theSubShapeId);
2448 endService( " GEOM_Superv_i::AddObject" );
2451 //=============================================================================
2453 //=============================================================================
2454 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
2455 CORBA::Long theSubShapeId)
2457 beginService( " GEOM_Superv_i::RemoveObject" );
2458 MESSAGE("GEOM_Superv_i::RemoveObject");
2460 myGroupOp->RemoveObject(theGroup, theSubShapeId);
2461 endService( " GEOM_Superv_i::RemoveObject" );
2464 //=============================================================================
2466 //=============================================================================
2467 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
2469 beginService( " GEOM_Superv_i::GetType" );
2470 MESSAGE("GEOM_Superv_i::GetType");
2472 CORBA::Long aResult = myGroupOp->GetType(theGroup);
2473 endService( " GEOM_Superv_i::GetType" );
2477 //=============================================================================
2479 //=============================================================================
2480 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
2482 beginService( " GEOM_Superv_i::GetMainShape" );
2483 MESSAGE("GEOM_Superv_i::GetMainShape");
2485 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
2486 endService( " GEOM_Superv_i::GetMainShape" );
2490 //=============================================================================
2492 //=============================================================================
2493 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
2495 beginService( " GEOM_Superv_i::GetObjects" );
2496 MESSAGE("GEOM_Superv_i::GetObjects");
2499 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
2500 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
2501 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2502 endService( " GEOM_Superv_i::GetObjects" );
2503 return aListPtr->_this();
2506 //=====================================================================================
2508 //=====================================================================================
2511 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
2512 PortableServer::POA_ptr poa,
2513 PortableServer::ObjectId * contId,
2514 const char *instanceName,
2515 const char * interfaceName)
2517 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
2518 myGEOM_Superv_i->register_name("/myGEOM_Superv");
2519 return myGEOM_Superv_i->getId() ;