1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #include "GEOM_Superv_i.hh"
23 #include "SALOME_LifeCycleCORBA.hxx"
25 #include CORBA_SERVER_HEADER(SALOME_Session)
26 #include "SALOMEDSClient_ClientFactory.hxx"
28 #define isNewStudy(a,b) (a > 0 && a != b)
31 //=============================================================================
33 //=============================================================================
34 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
35 PortableServer::POA_ptr poa,
36 PortableServer::ObjectId * contId,
37 const char *instanceName,
38 const char *interfaceName) :
39 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
41 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
44 _id = _poa->activate_object(_thisObj);
45 name_service = new SALOME_NamingService(_orb);
46 //get RootPOA (the default)
47 //myPOA = PortableServer::RefCountServantBase::_default_POA();
48 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
49 myPOA = PortableServer::POA::_narrow(anObj);
56 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
57 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
58 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
59 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
60 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
61 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
62 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
63 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
64 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
65 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
68 //=============================================================================
70 //=============================================================================
71 GEOM_Superv_i::~GEOM_Superv_i()
73 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
74 if (!CORBA::is_nil(myBasicOp))
76 if (!CORBA::is_nil(myBoolOp))
78 if (!CORBA::is_nil(my3DPrimOp))
79 my3DPrimOp->Destroy();
83 //============================================================================
84 // function : register()
85 // purpose : register 'name' in 'name_service'
86 //============================================================================
87 void GEOM_Superv_i::register_name(char * name)
89 GEOM::GEOM_Superv_var g = _this();
90 name_service->Register(g, name);
93 //=============================================================================
95 //=============================================================================
96 void GEOM_Superv_i::setGeomEngine()
98 if ( !CORBA::is_nil(myGeomEngine) )
101 // get GEOM_Gen engine
102 Engines::Container_var cont=GetContainerRef();
103 CORBA::String_var container_name=cont->name();
104 std::string shortName=container_name.in();
105 shortName=shortName.substr(12); // substract "/Containers/"
106 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
107 Engines::Component_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
110 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
113 //=============================================================================
115 //=============================================================================
116 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
118 // mkr : PAL10770 -->
119 myLastStudyID = myStudyID;
121 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
122 if ( !CORBA::is_nil(anObject) ) {
123 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
124 if ( !CORBA::is_nil(aSession) ) {
125 int aStudyID = aSession->GetActiveStudyId();
126 if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128
127 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
128 myStudyID = aStudyID;
131 myStudyID = theId; // mkr : IPAL12128
135 if ( isNewStudy(myLastStudyID,myStudyID) ) {
136 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
137 string anEngine = _orb->object_to_string( myGeomEngine );
139 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
140 if ( !CORBA::is_nil(anObj) ) {
141 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
142 if ( !CORBA::is_nil(aStudyManager) ) {
143 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
145 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
147 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
148 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
154 // mkr : PAL10770 <--
157 //=============================================================================
159 //=============================================================================
160 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
162 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
163 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
164 return aListPtr->_this();
167 //=============================================================================
168 // AddItemToListOfGO:
169 //=============================================================================
170 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
171 GEOM::GEOM_Object_ptr theObject)
173 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
174 if (GEOM_List_i<GEOM::ListOfGO>* aList =
175 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
176 aList->AddObject(theObject);
177 MESSAGE(" NewLength = "<<aList->GetList().length());
181 //=============================================================================
183 //=============================================================================
184 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
186 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
187 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
188 return aListPtr->_this();
191 //=============================================================================
192 // AddItemToListOfLong:
193 //=============================================================================
194 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
195 CORBA::Long theObject)
197 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
198 if (GEOM_List_i<GEOM::ListOfLong>* aList =
199 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
200 aList->AddObject(theObject);
201 MESSAGE(" NewLength = "<<aList->GetList().length());
205 //=============================================================================
206 // CreateListOfDouble:
207 //=============================================================================
208 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
210 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
211 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
212 return aListPtr->_this();
215 //=============================================================================
216 // AddItemToListOfDouble:
217 //=============================================================================
218 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
219 CORBA::Double theObject)
221 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
222 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
223 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
224 aList->AddObject(theObject);
225 MESSAGE(" NewLength = "<<aList->GetList().length());
229 //=============================================================================
231 //=============================================================================
232 void GEOM_Superv_i::getBasicOp()
234 if (CORBA::is_nil(myGeomEngine))
236 // get GEOM_IBasicOperations interface
237 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID))
238 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
241 //=============================================================================
243 //=============================================================================
244 void GEOM_Superv_i::get3DPrimOp()
246 if (CORBA::is_nil(myGeomEngine))
248 // get GEOM_I3DPrimOperations interface
249 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID))
250 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
253 //=============================================================================
255 //=============================================================================
256 void GEOM_Superv_i::getBoolOp()
258 if (CORBA::is_nil(myGeomEngine))
260 // get GEOM_IBooleanOperations interface
261 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID))
262 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
265 //=============================================================================
267 //=============================================================================
268 void GEOM_Superv_i::getInsOp()
270 if (CORBA::is_nil(myGeomEngine))
272 // get GEOM_IInsertOperations interface
273 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID))
274 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
277 //=============================================================================
279 //=============================================================================
280 void GEOM_Superv_i::getTransfOp()
282 if (CORBA::is_nil(myGeomEngine))
284 // get GEOM_ITransformOperations interface
285 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID))
286 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
289 //=============================================================================
291 //=============================================================================
292 void GEOM_Superv_i::getShapesOp()
294 if (CORBA::is_nil(myGeomEngine))
296 // get GEOM_IShapesOperations interface
297 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID))
298 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
301 //=============================================================================
303 //=============================================================================
304 void GEOM_Superv_i::getBlocksOp()
306 if (CORBA::is_nil(myGeomEngine))
308 // get GEOM_IBlocksOperations interface
309 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID))
310 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
313 //=============================================================================
315 //=============================================================================
316 void GEOM_Superv_i::getCurvesOp()
318 if (CORBA::is_nil(myGeomEngine))
320 // get GEOM_ICurvesOperations interface
321 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID))
322 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
325 //=============================================================================
327 //=============================================================================
328 void GEOM_Superv_i::getLocalOp()
330 if (CORBA::is_nil(myGeomEngine))
332 // get GEOM_ILocalOperations interface
333 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID))
334 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
337 //=============================================================================
339 //=============================================================================
340 void GEOM_Superv_i::getGroupOp()
342 if (CORBA::is_nil(myGeomEngine))
344 // get GEOM_IGroupOperations interface
345 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
346 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
349 //=============================================================================
351 //=============================================================================
352 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
353 PortableServer::POA_ptr thePOA)
355 if(CORBA::is_nil(theObject)) return NULL;
356 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
360 //============================================================================
362 // purpose : save OCAF/Geom document
363 //============================================================================
364 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
366 CORBA::Boolean isMultiFile)
368 SALOMEDS::TMPFile_var aStreamFile;
369 return aStreamFile._retn();
372 //============================================================================
373 // function : SaveASCII()
375 //============================================================================
376 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
378 CORBA::Boolean isMultiFile)
380 SALOMEDS::TMPFile_var aStreamFile;
381 return aStreamFile._retn();
384 //============================================================================
387 //============================================================================
388 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
389 const SALOMEDS::TMPFile& theStream,
391 CORBA::Boolean isMultiFile)
396 //============================================================================
397 // function : LoadASCII()
399 //============================================================================
400 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
401 const SALOMEDS::TMPFile& theStream,
403 CORBA::Boolean isMultiFile)
408 //============================================================================
409 // function : Close()
411 //============================================================================
412 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
416 //============================================================================
417 // function : ComponentDataType()
419 //============================================================================
420 char* GEOM_Superv_i::ComponentDataType()
425 //============================================================================
426 // function : IORToLocalPersistentID()
428 //============================================================================
429 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
430 const char* IORString,
431 CORBA::Boolean isMultiFile,
432 CORBA::Boolean isASCII)
437 //============================================================================
438 // function : LocalPersistentIDToIOR()
439 // purpose : Create/Load CORBA object from a persistent ref (an entry)
440 // : Used when a study is loaded
441 // : The IOR (IORName) of object created is returned
442 //============================================================================
443 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
444 const char* aLocalPersistentID,
445 CORBA::Boolean isMultiFile,
446 CORBA::Boolean isASCII)
451 //============================================================================
452 // function : CanPublishInStudy
454 //============================================================================
455 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
457 if (CORBA::is_nil(myGeomEngine))
459 return myGeomEngine->CanPublishInStudy(theIOR);
462 //============================================================================
463 // function : PublishInStudy
465 //============================================================================
466 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
467 SALOMEDS::SObject_ptr theSObject,
468 CORBA::Object_ptr theObject,
469 const char* theName) throw (SALOME::SALOME_Exception)
471 if (CORBA::is_nil(myGeomEngine))
473 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
476 //============================================================================
477 // function : CanCopy()
479 //============================================================================
480 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
485 //============================================================================
486 // function : CopyFrom()
488 //============================================================================
489 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
491 SALOMEDS::TMPFile_var aStreamFile;
492 return aStreamFile._retn();
495 //============================================================================
496 // function : CanPaste()
498 //============================================================================
499 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
504 //============================================================================
505 // function : PasteInto()
507 //============================================================================
508 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
509 CORBA::Long theObjectID,
510 SALOMEDS::SObject_ptr theObject)
512 SALOMEDS::SObject_var aNewSO;
513 return aNewSO._retn();
516 //================= Primitives Construction : BasicOperations =================
517 //=============================================================================
519 //=============================================================================
520 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
524 beginService( " GEOM_Superv_i::MakePointXYZ" );
525 MESSAGE("GEOM_Superv_i::MakePointXYZ");
527 // make vertex and return
528 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
529 endService( " GEOM_Superv_i::MakePointXYZ" );
533 //=============================================================================
534 // MakePointWithReference:
535 //=============================================================================
536 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
541 beginService( " GEOM_Superv_i::MakePointWithReference" );
542 MESSAGE("GEOM_Superv_i::MakePointWithReference");
544 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
545 endService( " GEOM_Superv_i::MakePointWithReference" );
549 //=============================================================================
551 //=============================================================================
552 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
553 CORBA::Double theParameter)
555 beginService( " GEOM_Superv_i::MakePointOnCurve" );
556 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
558 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
559 endService( " GEOM_Superv_i::MakePointOnCurve" );
563 //=============================================================================
564 // MakePointOnLinesIntersection:
565 //=============================================================================
566 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
567 GEOM::GEOM_Object_ptr theRefLine2)
569 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
570 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
572 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
573 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
577 //=============================================================================
578 // MakeTangentOnCurve:
579 //=============================================================================
580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
581 CORBA::Double theParameter)
583 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
584 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
586 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
587 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
591 //=============================================================================
593 //=============================================================================
594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
598 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
599 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
601 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
602 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
606 //=============================================================================
608 //=============================================================================
609 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
610 GEOM::GEOM_Object_ptr thePnt2)
612 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
613 MESSAGE("GEOM_Superv_i::MakeVector");
615 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
616 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
620 //=============================================================================
622 //=============================================================================
623 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
624 GEOM::GEOM_Object_ptr thePnt2)
626 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
627 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
629 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
630 endService( " GEOM_Superv_i::MakeLineTwoPnt");
634 //=============================================================================
636 //=============================================================================
637 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
638 GEOM::GEOM_Object_ptr theFace2)
640 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
641 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
643 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
644 endService( " GEOM_Superv_i::MakeLineTwoFaces");
648 //=============================================================================
649 // MakePlaneThreePnt:
650 //=============================================================================
651 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
652 GEOM::GEOM_Object_ptr thePnt2,
653 GEOM::GEOM_Object_ptr thePnt3,
654 CORBA::Double theTrimSize)
656 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
657 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
659 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
660 endService( " GEOM_Superv_i::MakePlaneThreePnt");
664 //=============================================================================
666 //=============================================================================
667 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
668 GEOM::GEOM_Object_ptr theVec,
669 CORBA::Double theTrimSize)
671 beginService( " GEOM_Superv_i::MakePlanePntVec" );
672 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
674 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
675 endService( " GEOM_Superv_i::MakePlanePntVec" );
679 //=============================================================================
681 //=============================================================================
682 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
683 CORBA::Double theTrimSize)
685 beginService( " GEOM_Superv_i::MakePlaneFace" );
686 MESSAGE("GEOM_Superv_i::MakePlaneFace");
688 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
689 endService( " GEOM_Superv_i::MakePlaneFace" );
693 //=============================================================================
695 //=============================================================================
696 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
697 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
698 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
699 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
701 beginService( " GEOM_Superv_i::MakeMarker" );
702 MESSAGE("GEOM_Superv_i::MakeMarker");
704 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
705 endService( " GEOM_Superv_i::MakeMarker" );
709 //=============================================================================
710 // MakeTangentPlaneOnFace:
711 //=============================================================================
712 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
713 CORBA::Double theParameterU,
714 CORBA::Double theParameterV,
715 CORBA::Double theTrimSize)
717 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
718 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
720 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
721 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
725 //================= Primitives Construction : 3DPrimOperations ================
726 //=============================================================================
728 //=============================================================================
729 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
736 beginService( " GEOM_Superv_i::MakeBox" );
737 MESSAGE("GEOM_Superv_i::MakeBox");
740 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
741 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
742 endService( " GEOM_Superv_i::MakeBox" );
746 //=============================================================================
748 //=============================================================================
749 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
753 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
754 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
756 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
757 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
761 //=============================================================================
763 //=============================================================================
764 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
765 GEOM::GEOM_Object_ptr thePnt2)
767 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
768 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
770 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
771 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
775 //=============================================================================
777 //=============================================================================
778 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
780 CORBA::Short theOrientation)
782 beginService( " GEOM_Superv_i::MakeFaceHW" );
783 MESSAGE("GEOM_Superv_i::MakeFaceHW");
785 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
786 endService( " GEOM_Superv_i::MakeFaceHW" );
790 //=============================================================================
792 //=============================================================================
793 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
797 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
798 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
800 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
801 endService( " GEOM_Superv_i::MakeFaceObjHW" );
805 //=============================================================================
807 //=============================================================================
808 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
809 GEOM::GEOM_Object_ptr theVector,
812 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
813 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
815 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
816 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
820 //=============================================================================
822 //=============================================================================
823 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
824 GEOM::GEOM_Object_ptr thePnt2,
825 GEOM::GEOM_Object_ptr thePnt3)
827 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
828 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
830 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
831 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
835 //=============================================================================
837 //=============================================================================
838 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
839 CORBA::Short theOrientation)
841 beginService( " GEOM_Superv_i::MakeDiskR" );
842 MESSAGE("GEOM_Superv_i::MakeDiskR");
844 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
845 endService( " GEOM_Superv_i::MakeDiskR" );
849 //=============================================================================
850 // MakeCylinderPntVecRH:
851 //=============================================================================
852 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
853 GEOM::GEOM_Object_ptr theAxis,
854 CORBA::Double theRadius,
855 CORBA::Double theHeight)
857 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
858 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
860 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
861 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
865 //=============================================================================
867 //=============================================================================
868 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
871 beginService( " GEOM_Superv_i::MakeCylinderRH" );
872 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
874 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
875 endService( " GEOM_Superv_i::MakeCylinderRH" );
879 //=============================================================================
881 //=============================================================================
882 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
885 CORBA::Double theRadius)
887 beginService( " GEOM_Superv_i::MakeSphepe" );
888 MESSAGE("GEOM_Superv_i::MakeSphepe");
891 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
892 endService( " GEOM_Superv_i::MakeSphepe" );
896 //=============================================================================
898 //=============================================================================
899 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
901 beginService( " GEOM_Superv_i::MakeSphereR" );
902 MESSAGE("GEOM_Superv_i::MakeSphereR");
904 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
905 endService( " GEOM_Superv_i::MakeSphereR" );
909 //=============================================================================
911 //=============================================================================
912 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
915 beginService( " GEOM_Superv_i::MakeSpherePntR" );
916 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
918 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
919 endService( " GEOM_Superv_i::MakeSpherePntR" );
923 //=============================================================================
924 // MakeTorusPntVecRR:
925 //=============================================================================
926 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
927 GEOM::GEOM_Object_ptr theVec,
928 CORBA::Double theRMajor,
929 CORBA::Double theRMinor)
931 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
932 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
934 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
935 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
939 //=============================================================================
941 //=============================================================================
942 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
943 CORBA::Double theRMinor)
945 beginService( " GEOM_Superv_i::MakeTorusRR" );
946 MESSAGE("GEOM_Superv_i::MakeTorusRR");
948 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
949 endService( " GEOM_Superv_i::MakeTorusRR" );
953 //=============================================================================
954 // MakeConePntVecR1R2H:
955 //=============================================================================
956 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
957 GEOM::GEOM_Object_ptr theAxis,
960 CORBA::Double theHeight)
962 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
963 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
965 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
966 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
970 //=============================================================================
972 //=============================================================================
973 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
975 CORBA::Double theHeight)
977 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
978 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
980 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
981 endService( " GEOM_Superv_i::MakeConeR1R2H" );
985 //=============================================================================
987 //=============================================================================
988 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
989 GEOM::GEOM_Object_ptr theVec,
992 beginService( " GEOM_Superv_i::MakePrismVecH" );
993 MESSAGE("GEOM_Superv_i::MakePrismVecH");
995 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
996 endService( " GEOM_Superv_i::MakePrismVecH" );
1000 //=============================================================================
1001 // MakePrismVecH2Ways:
1002 //=============================================================================
1003 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1004 GEOM::GEOM_Object_ptr theVec,
1007 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1008 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1010 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1011 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1015 //=============================================================================
1017 //=============================================================================
1018 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1019 GEOM::GEOM_Object_ptr thePoint1,
1020 GEOM::GEOM_Object_ptr thePoint2)
1022 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1023 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1025 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1026 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1030 //=============================================================================
1031 // MakePrismTwoPnt2Ways:
1032 //=============================================================================
1033 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1034 GEOM::GEOM_Object_ptr thePoint1,
1035 GEOM::GEOM_Object_ptr thePoint2)
1037 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1038 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1040 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1041 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1045 //=============================================================================
1047 //=============================================================================
1048 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1049 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1051 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1052 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1054 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1055 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1059 //=============================================================================
1061 //=============================================================================
1062 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1063 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1065 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1066 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1068 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1069 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1073 //=============================================================================
1075 //=============================================================================
1076 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1077 GEOM::GEOM_Object_ptr thePath)
1079 beginService( " GEOM_Superv_i::MakePipe" );
1080 MESSAGE("GEOM_Superv_i::MakePipe");
1082 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
1083 endService( " GEOM_Superv_i::MakePipe" );
1087 //=============================================================================
1088 // MakeRevolutionAxisAngle:
1089 //=============================================================================
1090 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1091 GEOM::GEOM_Object_ptr theAxis,
1092 CORBA::Double theAngle)
1094 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1095 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1097 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1098 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1102 //=============================================================================
1103 // MakeRevolutionAxisAngle:
1104 //=============================================================================
1105 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1106 GEOM::GEOM_Object_ptr theAxis,
1107 CORBA::Double theAngle)
1109 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1110 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1112 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1113 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1117 //=============================================================================
1119 //=============================================================================
1120 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1121 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
1122 CORBA::Double theTol2D, CORBA::Double theTol3D,
1123 CORBA::Long theNbIter, CORBA::Boolean theApprox)
1125 beginService( " GEOM_Superv_i::MakeFilling" );
1126 MESSAGE("GEOM_Superv_i::MakeFilling");
1128 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
1129 endService( " GEOM_Superv_i::MakeFilling" );
1133 //============================= BooleanOperations =============================
1134 //=============================================================================
1136 //=============================================================================
1137 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
1138 GEOM::GEOM_Object_ptr theShape2,
1139 CORBA::Long theOperation)
1141 beginService( " GEOM_Superv_i::MakeBoolean" );
1142 // theOperation indicates the operation to be done:
1143 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1144 MESSAGE("GEOM_Superv_i::MakeBoolean");
1146 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
1147 endService( " GEOM_Superv_i::MakeBoolean" );
1151 //=============================================================================
1152 // MakeThruSections:
1153 //=============================================================================
1154 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1155 CORBA::Boolean theModeSolid,
1156 CORBA::Double thePreci,
1157 CORBA::Boolean theRuled)
1159 beginService( " GEOM_Superv_i::MakeThruSections" );
1160 MESSAGE("GEOM_Superv_i::MakeThruSections");
1162 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1163 endService( " GEOM_Superv_i::MakeThruSections" );
1167 //=============================================================================
1169 //=============================================================================
1170 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1171 (const GEOM::ListOfGO& theBases,
1172 const GEOM::ListOfGO& theLocations,
1173 GEOM::GEOM_Object_ptr thePath,
1174 CORBA::Boolean theWithContact,
1175 CORBA::Boolean theWithCorrections)
1177 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1178 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1180 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
1181 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1186 //=============================================================================
1188 //=============================================================================
1189 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1190 (const GEOM::ListOfGO& theBases,
1191 const GEOM::ListOfGO& theSubBases,
1192 const GEOM::ListOfGO& theLocations,
1193 GEOM::GEOM_Object_ptr thePath,
1194 CORBA::Boolean theWithContact,
1195 CORBA::Boolean theWithCorrections)
1197 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1198 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1200 GEOM::GEOM_Object_ptr anObj =
1201 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1202 theLocations, thePath,
1203 theWithContact, theWithCorrections);
1204 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1209 //=============================================================================
1211 //=============================================================================
1212 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1213 (const GEOM::ListOfGO& theBases,
1214 const GEOM::ListOfGO& theLocations)
1216 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1217 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1219 GEOM::GEOM_Object_ptr anObj =
1220 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1221 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1226 //=============================================================================
1228 //=============================================================================
1229 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1230 (GEOM::GEOM_Object_ptr theBase,
1231 GEOM::GEOM_Object_ptr thePath,
1232 GEOM::GEOM_Object_ptr theVec)
1234 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1235 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1237 GEOM::GEOM_Object_ptr anObj =
1238 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec);
1239 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1244 //=============================================================================
1246 //=============================================================================
1247 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1248 GEOM::GEOM_Object_ptr theShape2)
1250 beginService( " GEOM_Superv_i::MakeFuse" );
1251 MESSAGE("GEOM_Superv_i::MakeFuse");
1253 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1254 endService( " GEOM_Superv_i::MakeFuse" );
1258 //=============================================================================
1260 //=============================================================================
1261 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1262 GEOM::GEOM_List_ptr theTools,
1263 GEOM::GEOM_List_ptr theKeepInside,
1264 GEOM::GEOM_List_ptr theRemoveInside,
1265 CORBA::Short theLimit,
1266 CORBA::Boolean theRemoveWebs,
1267 GEOM::GEOM_List_ptr theMaterials,
1268 CORBA::Short theKeepNonlimitShapes)
1270 beginService( " GEOM_Superv_i::MakePartition" );
1271 MESSAGE("GEOM_Superv_i::MakePartition");
1272 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1273 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1274 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1275 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1276 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1277 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1278 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1279 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1280 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1281 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1282 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1284 GEOM::GEOM_Object_ptr anObj =
1285 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1286 aListImplKI->GetList(), aListImplRI->GetList(),
1287 theLimit, theRemoveWebs, aListImplM->GetList(),
1288 theKeepNonlimitShapes);
1289 endService( " GEOM_Superv_i::MakePartition" );
1292 endService( " GEOM_Superv_i::MakePartition" );
1296 //=============================================================================
1297 // MakeHalfPartition:
1298 //=============================================================================
1299 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1300 GEOM::GEOM_Object_ptr thePlane)
1302 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1303 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1305 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1306 endService( " GEOM_Superv_i::MakeHalfPartition" );
1310 //============================== InsertOperations =============================
1311 //=============================================================================
1313 //=============================================================================
1314 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1316 beginService( " GEOM_Superv_i::MakeCopy" );
1317 MESSAGE("GEOM_Superv_i::MakeCopy");
1319 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1320 endService( " GEOM_Superv_i::MakeCopy" );
1324 //=============================================================================
1326 //=============================================================================
1327 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1328 const char* theFileName,
1329 const char* theFormatName)
1331 beginService( " GEOM_Superv_i::Export" );
1332 MESSAGE("GEOM_Superv_i::Export");
1334 myInsOp->Export(theObject, theFileName, theFormatName);
1335 endService( " GEOM_Superv_i::Export" );
1338 //=============================================================================
1340 //=============================================================================
1341 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1342 const char* theFormatName)
1344 beginService( " GEOM_Superv_i::Import" );
1345 MESSAGE("GEOM_Superv_i::Import");
1347 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1348 endService( " GEOM_Superv_i::Import" );
1352 //=============================================================================
1353 // ImportTranslators:
1354 //=============================================================================
1355 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1356 GEOM::string_array_out thePatterns)
1358 beginService( " GEOM_Superv_i::ImportTranslators" );
1359 MESSAGE("GEOM_Superv_i::ImportTranslators");
1361 myInsOp->ImportTranslators(theFormats, thePatterns);
1362 endService( " GEOM_Superv_i::ImportTranslators" );
1365 //=============================================================================
1366 // ExportTranslators:
1367 //=============================================================================
1368 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1369 GEOM::string_array_out thePatterns)
1371 beginService( " GEOM_Superv_i::ExportTranslators" );
1372 MESSAGE("GEOM_Superv_i::ExportTranslators");
1374 myInsOp->ExportTranslators(theFormats, thePatterns);
1375 endService( " GEOM_Superv_i::ExportTranslators" );
1378 //============================= TransformOperations ===========================
1379 //=============================================================================
1380 // TranslateTwoPoints:
1381 //=============================================================================
1382 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1383 GEOM::GEOM_Object_ptr thePoint1,
1384 GEOM::GEOM_Object_ptr thePoint2)
1386 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1387 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1389 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1390 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1394 //=============================================================================
1395 // TranslateTwoPointsCopy:
1396 //=============================================================================
1397 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1398 GEOM::GEOM_Object_ptr thePoint1,
1399 GEOM::GEOM_Object_ptr thePoint2)
1401 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1402 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1404 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1405 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1409 //=============================================================================
1411 //=============================================================================
1412 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1413 CORBA::Double theDX,
1414 CORBA::Double theDY,
1415 CORBA::Double theDZ)
1417 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1418 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1420 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1421 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1425 //=============================================================================
1426 // TranslateDXDYDZCopy:
1427 //=============================================================================
1428 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1429 CORBA::Double theDX,
1430 CORBA::Double theDY,
1431 CORBA::Double theDZ)
1433 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1434 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1436 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1437 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1441 //=============================================================================
1443 //=============================================================================
1444 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1445 GEOM::GEOM_Object_ptr theVector)
1447 beginService( " GEOM_Superv_i::TranslateVector" );
1448 MESSAGE("GEOM_Superv_i::TranslateVector");
1450 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1451 endService( " GEOM_Superv_i::TranslateVector" );
1455 //=============================================================================
1456 // TranslateVectorCopy:
1457 //=============================================================================
1458 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1459 GEOM::GEOM_Object_ptr theVector)
1461 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1462 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1464 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1465 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1469 //=============================================================================
1470 // TranslateVectorDistance:
1471 //=============================================================================
1472 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1473 GEOM::GEOM_Object_ptr theVector,
1474 CORBA::Double theDistance,
1475 CORBA::Boolean theCopy)
1477 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1478 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1480 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1481 theVector, theDistance, theCopy);
1482 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1486 //=============================================================================
1487 // MultiTranslate1D:
1488 //=============================================================================
1489 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1490 GEOM::GEOM_Object_ptr theVector,
1491 CORBA::Double theStep,
1492 CORBA::Long theNbTimes)
1494 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1495 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1497 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1498 endService( " GEOM_Superv_i::MultiTranslate1D" );
1502 //=============================================================================
1503 // MultiTranslate2D:
1504 //=============================================================================
1505 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1506 GEOM::GEOM_Object_ptr theVector1,
1507 CORBA::Double theStep1,
1508 CORBA::Long theNbTimes1,
1509 GEOM::GEOM_Object_ptr theVector2,
1510 CORBA::Double theStep2,
1511 CORBA::Long theNbTimes2)
1513 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1514 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1516 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1517 theVector2, theStep2, theNbTimes2);
1518 endService( " GEOM_Superv_i::MultiTranslate2D" );
1522 //=============================================================================
1524 //=============================================================================
1525 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1526 GEOM::GEOM_Object_ptr theAxis,
1527 CORBA::Double theAngle)
1529 beginService( " GEOM_Superv_i::Rotate" );
1530 MESSAGE("GEOM_Superv_i::Rotate");
1532 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1533 endService( " GEOM_Superv_i::Rotate" );
1537 //=============================================================================
1539 //=============================================================================
1540 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1541 GEOM::GEOM_Object_ptr theAxis,
1542 CORBA::Double theAngle)
1544 beginService( " GEOM_Superv_i::RotateCopy" );
1545 MESSAGE("GEOM_Superv_i::RotateCopy");
1547 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1548 endService( " GEOM_Superv_i::RotateCopy" );
1551 //=============================================================================
1552 // RotateThreePoints:
1553 //=============================================================================
1554 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1555 GEOM::GEOM_Object_ptr theCentPoint,
1556 GEOM::GEOM_Object_ptr thePoint1,
1557 GEOM::GEOM_Object_ptr thePoint2)
1559 beginService( " GEOM_Superv_i::RotateThreePoints" );
1560 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1562 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1563 endService( " GEOM_Superv_i::RotateThreePoints" );
1567 //=============================================================================
1568 // RotateThreePointsCopy:
1569 //=============================================================================
1570 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1571 GEOM::GEOM_Object_ptr theCentPoint,
1572 GEOM::GEOM_Object_ptr thePoint1,
1573 GEOM::GEOM_Object_ptr thePoint2)
1575 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1576 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1578 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1579 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1583 //=============================================================================
1585 //=============================================================================
1586 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1587 GEOM::GEOM_Object_ptr theAxis,
1588 CORBA::Long theNbTimes)
1590 beginService( " GEOM_Superv_i::MultiRotate1D" );
1591 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1593 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1594 endService( " GEOM_Superv_i::MultiRotate1D" );
1598 //=============================================================================
1600 //=============================================================================
1601 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1602 GEOM::GEOM_Object_ptr theAxis,
1603 CORBA::Double theAngle,
1604 CORBA::Long theNbTimes1,
1605 CORBA::Double theStep,
1606 CORBA::Long theNbTimes2)
1608 beginService( " GEOM_Superv_i::MultiRotate2D" );
1609 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1611 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1612 endService( " GEOM_Superv_i::MultiRotate2D" );
1616 //=============================================================================
1618 //=============================================================================
1619 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1620 GEOM::GEOM_Object_ptr thePlane)
1622 beginService( " GEOM_Superv_i::MirrorPlane" );
1623 MESSAGE("GEOM_Superv_i::MirrorPlane");
1625 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1626 endService( " GEOM_Superv_i::MirrorPlane" );
1630 //=============================================================================
1632 //=============================================================================
1633 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1634 GEOM::GEOM_Object_ptr thePlane)
1636 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1637 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1639 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1640 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1644 //=============================================================================
1646 //=============================================================================
1647 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1648 GEOM::GEOM_Object_ptr theAxis)
1650 beginService( " GEOM_Superv_i::MirrorAxis" );
1651 MESSAGE("GEOM_Superv_i::MirrorAxis");
1653 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1654 endService( " GEOM_Superv_i::MirrorAxis" );
1658 //=============================================================================
1660 //=============================================================================
1661 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1662 GEOM::GEOM_Object_ptr theAxis)
1664 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1665 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1667 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1668 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1672 //=============================================================================
1674 //=============================================================================
1675 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1676 GEOM::GEOM_Object_ptr thePoint)
1678 beginService( " GEOM_Superv_i::MirrorPoint" );
1679 MESSAGE("GEOM_Superv_i::MirrorPoint");
1681 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1682 endService( " GEOM_Superv_i::MirrorPoint" );
1686 //=============================================================================
1688 //=============================================================================
1689 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1690 GEOM::GEOM_Object_ptr thePoint)
1692 beginService( " GEOM_Superv_i::MirrorPoint" );
1693 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1695 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1696 endService( " GEOM_Superv_i::MirrorPoint" );
1700 //=============================================================================
1702 //=============================================================================
1703 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1704 CORBA::Double theOffset)
1706 beginService( " GEOM_Superv_i::OffsetShape" );
1707 MESSAGE("GEOM_Superv_i::OffsetShape");
1709 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1710 endService( " GEOM_Superv_i::OffsetShape" );
1714 //=============================================================================
1716 //=============================================================================
1717 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1718 CORBA::Double theOffset)
1720 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1721 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1723 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1724 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1728 //=============================================================================
1730 //=============================================================================
1731 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1732 GEOM::GEOM_Object_ptr thePoint,
1733 CORBA::Double theFactor)
1735 beginService( " GEOM_Superv_i::ScaleShape" );
1736 MESSAGE("GEOM_Superv_i::ScaleShape");
1738 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1739 endService( " GEOM_Superv_i::ScaleShape" );
1743 //=============================================================================
1745 //=============================================================================
1746 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1747 GEOM::GEOM_Object_ptr thePoint,
1748 CORBA::Double theFactor)
1750 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1751 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1753 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1754 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1758 //=============================================================================
1759 // ScaleShapeAlongAxes:
1760 //=============================================================================
1761 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
1762 GEOM::GEOM_Object_ptr thePoint,
1763 CORBA::Double theFactorX,
1764 CORBA::Double theFactorY,
1765 CORBA::Double theFactorZ)
1767 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1768 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
1770 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
1771 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1772 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1776 //=============================================================================
1777 // ScaleShapeAlongAxesCopy:
1778 //=============================================================================
1779 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
1780 GEOM::GEOM_Object_ptr thePoint,
1781 CORBA::Double theFactorX,
1782 CORBA::Double theFactorY,
1783 CORBA::Double theFactorZ)
1785 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1786 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
1788 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
1789 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1790 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1794 //=============================================================================
1796 //=============================================================================
1797 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1798 GEOM::GEOM_Object_ptr theStartLCS,
1799 GEOM::GEOM_Object_ptr theEndLCS)
1801 beginService( " GEOM_Superv_i::PositionShape" );
1802 MESSAGE("GEOM_Superv_i::PositionShape");
1804 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1805 endService( " GEOM_Superv_i::PositionShape" );
1809 //=============================================================================
1810 // PositionShapeCopy:
1811 //=============================================================================
1812 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1813 GEOM::GEOM_Object_ptr theStartLCS,
1814 GEOM::GEOM_Object_ptr theEndLCS)
1816 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1817 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1819 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1820 endService( " GEOM_Superv_i::PositionShapeCopy" );
1824 //=============================================================================
1825 // PositionAlongPath:
1826 //=============================================================================
1827 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
1828 GEOM::GEOM_Object_ptr thePath,
1829 CORBA::Double theDistance,
1830 CORBA::Boolean theCopy,
1831 CORBA::Boolean theReverse)
1833 beginService( " GEOM_Superv_i::PositionAlongPath" );
1834 MESSAGE("GEOM_Superv_i::PositionAlongPath");
1836 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
1837 endService( " GEOM_Superv_i::PositionAlongPath" );
1841 //=============================== ShapesOperations ============================
1842 //=============================================================================
1844 //=============================================================================
1845 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1846 GEOM::GEOM_Object_ptr thePnt2)
1848 beginService( " GEOM_Superv_i::MakeEdge" );
1849 MESSAGE("GEOM_Superv_i::MakeEdge");
1851 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1852 endService( " GEOM_Superv_i::MakeEdge" );
1856 //=============================================================================
1858 //=============================================================================
1859 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1861 beginService( " GEOM_Superv_i::MakeWire" );
1862 MESSAGE("GEOM_Superv_i::MakeWire");
1863 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1864 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1866 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
1867 endService( " GEOM_Superv_i::MakeWire" );
1870 endService( " GEOM_Superv_i::MakeWire" );
1874 //=============================================================================
1876 //=============================================================================
1877 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1878 CORBA::Boolean isPlanarWanted)
1880 beginService( " GEOM_Superv_i::MakeFace" );
1881 MESSAGE("GEOM_Superv_i::MakeFace");
1883 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1884 endService( " GEOM_Superv_i::MakeFace" );
1888 //=============================================================================
1890 //=============================================================================
1891 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1892 CORBA::Boolean isPlanarWanted)
1894 beginService( " GEOM_Superv_i::MakeFaceWires" );
1895 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1896 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1897 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1899 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1900 endService( " GEOM_Superv_i::MakeFaceWires" );
1903 endService( " GEOM_Superv_i::MakeFaceWires" );
1907 //=============================================================================
1909 //=============================================================================
1910 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1912 beginService( " GEOM_Superv_i::MakeShell" );
1913 MESSAGE("GEOM_Superv_i::MakeShell");
1914 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1915 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1917 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1918 endService( " GEOM_Superv_i::MakeShell" );
1921 endService( " GEOM_Superv_i::MakeShell" );
1925 //=============================================================================
1927 //=============================================================================
1928 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1930 beginService( " GEOM_Superv_i::MakeSolidShell" );
1931 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1933 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1934 endService( " GEOM_Superv_i::MakeSolidShell" );
1938 //=============================================================================
1940 //=============================================================================
1941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1943 beginService( " GEOM_Superv_i::MakeSolidShells" );
1944 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1945 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1946 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1948 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1949 endService( " GEOM_Superv_i::MakeSolidShells" );
1952 endService( " GEOM_Superv_i::MakeSolidShells" );
1956 //=============================================================================
1958 //=============================================================================
1959 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1961 beginService( " GEOM_Superv_i::MakeCompound" );
1962 MESSAGE("GEOM_Superv_i::MakeCompound");
1963 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1964 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1966 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
1967 endService( " GEOM_Superv_i::MakeCompound" );
1970 endService( " GEOM_Superv_i::MakeCompound" );
1974 //=============================================================================
1976 //=============================================================================
1977 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1978 CORBA::Double theTolerance,
1979 CORBA::Boolean doKeepNonSolids)
1981 beginService( " GEOM_Superv_i::MakeGlueFaces" );
1982 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1984 GEOM::GEOM_Object_ptr anObj =
1985 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
1986 endService( " GEOM_Superv_i::MakeGlueFaces" );
1990 //=============================================================================
1992 //=============================================================================
1993 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
1994 CORBA::Double theTolerance)
1996 beginService( " GEOM_Superv_i::GetGlueFaces" );
1997 MESSAGE("GEOM_Superv_i::GetGlueFaces");
1999 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
2000 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2001 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2002 endService( " GEOM_Superv_i::GetGlueFaces" );
2003 return aListPtr->_this();
2006 //=============================================================================
2007 // MakeGlueFacesByList:
2008 //=============================================================================
2009 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2010 CORBA::Double theTolerance,
2011 const GEOM::ListOfGO& theFaces,
2012 CORBA::Boolean doKeepNonSolids)
2014 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2015 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2017 GEOM::GEOM_Object_ptr anObj =
2018 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids);
2019 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2023 //=============================================================================
2025 //=============================================================================
2026 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2027 CORBA::Long theShapeType,
2028 CORBA::Boolean isSorted)
2030 beginService( " GEOM_Superv_i::MakeExplode" );
2031 MESSAGE("GEOM_Superv_i::MakeExplode");
2034 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2035 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2036 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2037 endService( " GEOM_Superv_i::MakeExplode" );
2038 return aListPtr->_this();
2041 //=============================================================================
2043 //=============================================================================
2044 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2046 beginService( " GEOM_Superv_i::NumberOfFaces" );
2047 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2049 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2050 endService( " GEOM_Superv_i::NumberOfFaces" );
2054 //=============================================================================
2056 //=============================================================================
2057 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2059 beginService( " GEOM_Superv_i::NumberOfEdges" );
2060 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2062 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2063 endService( " GEOM_Superv_i::NumberOfEdges" );
2068 //=============================================================================
2069 // ChangeOrientation:
2070 //=============================================================================
2071 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2073 beginService( " GEOM_Superv_i::ChangeOrientation" );
2074 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2076 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2077 endService( " GEOM_Superv_i::ChangeOrientation" );
2082 //=============================================================================
2083 // GetShapesOnShape:
2084 //=============================================================================
2085 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2086 (GEOM::GEOM_Object_ptr theCheckShape,
2087 GEOM::GEOM_Object_ptr theShape,
2088 CORBA::Short theShapeType,
2089 GEOM::shape_state theState)
2091 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2092 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2094 GEOM::ListOfGO* aList =
2095 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2096 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2097 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2098 endService( " GEOM_Superv_i::GetShapesOnShape" );
2099 return aListPtr->_this();
2103 //=============================================================================
2104 // GetShapesOnShapeAsCompound:
2105 //=============================================================================
2106 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2107 (GEOM::GEOM_Object_ptr theCheckShape,
2108 GEOM::GEOM_Object_ptr theShape,
2109 CORBA::Short theShapeType,
2110 GEOM::shape_state theState)
2112 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2113 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2115 GEOM::GEOM_Object_ptr anObj =
2116 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2117 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2122 //=============================== BlocksOperations ============================
2123 //=============================================================================
2124 // MakeQuad4Vertices:
2125 //=============================================================================
2126 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2127 GEOM::GEOM_Object_ptr thePnt2,
2128 GEOM::GEOM_Object_ptr thePnt3,
2129 GEOM::GEOM_Object_ptr thePnt4)
2131 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2132 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2134 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2135 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2139 //=============================================================================
2141 //=============================================================================
2142 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2143 GEOM::GEOM_Object_ptr theEdge2,
2144 GEOM::GEOM_Object_ptr theEdge3,
2145 GEOM::GEOM_Object_ptr theEdge4)
2147 beginService( " GEOM_Superv_i::MakeQuad" );
2148 MESSAGE("GEOM_Superv_i::MakeQuad");
2150 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2151 endService( " GEOM_Superv_i::MakeQuad" );
2155 //=============================================================================
2157 //=============================================================================
2158 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2159 GEOM::GEOM_Object_ptr theEdge2)
2161 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2162 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2164 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2165 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2169 //=============================================================================
2171 //=============================================================================
2172 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2173 GEOM::GEOM_Object_ptr theFace2,
2174 GEOM::GEOM_Object_ptr theFace3,
2175 GEOM::GEOM_Object_ptr theFace4,
2176 GEOM::GEOM_Object_ptr theFace5,
2177 GEOM::GEOM_Object_ptr theFace6)
2179 beginService( " GEOM_Superv_i::MakeHexa" );
2180 MESSAGE("GEOM_Superv_i::MakeHexa");
2182 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2183 endService( " GEOM_Superv_i::MakeHexa" );
2187 //=============================================================================
2189 //=============================================================================
2190 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2191 GEOM::GEOM_Object_ptr theFace2)
2193 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2194 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2196 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2197 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2201 //=============================================================================
2203 //=============================================================================
2204 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2208 CORBA::Double theEpsilon)
2210 beginService( " GEOM_Superv_i::GetPoint" );
2211 MESSAGE("GEOM_Superv_i::GetPoint");
2213 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2214 endService( " GEOM_Superv_i::GetPoint" );
2218 //=============================================================================
2220 //=============================================================================
2221 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2222 GEOM::GEOM_Object_ptr thePoint1,
2223 GEOM::GEOM_Object_ptr thePoint2)
2225 beginService( " GEOM_Superv_i::GetEdge" );
2226 MESSAGE("GEOM_Superv_i::GetEdge");
2228 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2229 endService( " GEOM_Superv_i::GetEdge" );
2233 //=============================================================================
2234 // GetEdgeNearPoint:
2235 //=============================================================================
2236 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2237 GEOM::GEOM_Object_ptr thePoint)
2239 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2240 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2242 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2243 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2247 //=============================================================================
2249 //=============================================================================
2250 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2251 GEOM::GEOM_Object_ptr thePoint1,
2252 GEOM::GEOM_Object_ptr thePoint2,
2253 GEOM::GEOM_Object_ptr thePoint3,
2254 GEOM::GEOM_Object_ptr thePoint4)
2256 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2257 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2259 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2260 endService( " GEOM_Superv_i::GetFaceByPoints" );
2264 //=============================================================================
2266 //=============================================================================
2267 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2268 GEOM::GEOM_Object_ptr theEdge1,
2269 GEOM::GEOM_Object_ptr theEdge2)
2271 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2272 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2274 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2275 endService( " GEOM_Superv_i::GetFaceByEdges" );
2279 //=============================================================================
2281 //=============================================================================
2282 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2283 GEOM::GEOM_Object_ptr theFace)
2285 beginService( " GEOM_Superv_i::GetOppositeFace" );
2286 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2288 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2289 endService( " GEOM_Superv_i::GetOppositeFace" );
2293 //=============================================================================
2294 // GetFaceNearPoint:
2295 //=============================================================================
2296 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2297 GEOM::GEOM_Object_ptr thePoint)
2299 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2300 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2302 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2303 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2307 //=============================================================================
2308 // GetFaceByNormale:
2309 //=============================================================================
2310 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2311 GEOM::GEOM_Object_ptr theVector)
2313 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2314 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2316 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2317 endService( " GEOM_Superv_i::GetFaceByNormale" );
2321 //=============================================================================
2322 // IsCompoundOfBlocks:
2323 //=============================================================================
2324 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2325 CORBA::Long theMinNbFaces,
2326 CORBA::Long theMaxNbFaces,
2327 CORBA::Long& theNbBlocks)
2329 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2330 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2332 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2333 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2337 //=============================================================================
2338 // CheckCompoundOfBlocks:
2339 //=============================================================================
2340 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2341 (GEOM::GEOM_Object_ptr theCompound,
2342 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2344 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2345 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2347 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2348 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2352 //=============================================================================
2354 //=============================================================================
2355 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2356 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2358 beginService( " GEOM_Superv_i::PrintBCErrors" );
2359 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2361 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2362 endService( " GEOM_Superv_i::PrintBCErrors" );
2366 //=============================================================================
2367 // ExplodeCompoundOfBlocks:
2368 //=============================================================================
2369 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2370 CORBA::Long theMinNbFaces,
2371 CORBA::Long theMaxNbFaces)
2373 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2374 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2376 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2377 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2378 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2379 return aListPtr->_this();
2382 //=============================================================================
2383 // GetBlockNearPoint:
2384 //=============================================================================
2385 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2386 GEOM::GEOM_Object_ptr thePoint)
2388 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2389 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2391 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2392 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2396 //=============================================================================
2398 //=============================================================================
2399 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2400 GEOM::GEOM_List_ptr theParts)
2402 beginService( " GEOM_Superv_i::GetBlockByParts" );
2403 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2404 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2405 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2407 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2408 endService( " GEOM_Superv_i::GetBlockByParts" );
2411 endService( " GEOM_Superv_i::GetBlockByParts" );
2415 //=============================================================================
2416 // GetBlocksByParts:
2417 //=============================================================================
2418 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2419 GEOM::GEOM_List_ptr theParts)
2421 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2422 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2423 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2424 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2427 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2428 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2429 endService( " GEOM_Superv_i::GetBlocksByParts" );
2430 return aListPtr->_this();
2432 endService( " GEOM_Superv_i::GetBlocksByParts" );
2436 //=============================================================================
2437 // MakeMultiTransformation1D:
2438 //=============================================================================
2439 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2440 CORBA::Long theDirFace1,
2441 CORBA::Long theDirFace2,
2442 CORBA::Long theNbTimes)
2444 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2445 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2447 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2448 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2452 //=============================================================================
2453 // MakeMultiTransformation2D:
2454 //=============================================================================
2455 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2456 (GEOM::GEOM_Object_ptr theBlock,
2457 CORBA::Long theDirFace1U,
2458 CORBA::Long theDirFace2U,
2459 CORBA::Long theNbTimesU,
2460 CORBA::Long theDirFace1V,
2461 CORBA::Long theDirFace2V,
2462 CORBA::Long theNbTimesV)
2464 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2465 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2467 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2468 theDirFace1U, theDirFace2U, theNbTimesU,
2469 theDirFace1V, theDirFace2V, theNbTimesV);
2470 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2474 //=============================== CurvesOperations ============================
2475 //=============================================================================
2476 // MakeCirclePntVecR:
2477 //=============================================================================
2478 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2479 GEOM::GEOM_Object_ptr theVector,
2482 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2483 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2485 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2486 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2490 //=============================================================================
2491 // MakeCircleThreePnt:
2492 //=============================================================================
2493 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2494 GEOM::GEOM_Object_ptr thePnt2,
2495 GEOM::GEOM_Object_ptr thePnt3)
2497 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2498 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2500 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2501 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2504 //=============================================================================
2505 // MakeCircleCenter2Pnt:
2506 //=============================================================================
2507 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2508 GEOM::GEOM_Object_ptr thePnt2,
2509 GEOM::GEOM_Object_ptr thePnt3)
2511 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2512 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2514 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2515 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2519 //=============================================================================
2521 //=============================================================================
2522 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2523 GEOM::GEOM_Object_ptr theVector,
2524 CORBA::Double theRMajor,
2525 CORBA::Double theRMinor)
2527 beginService( " GEOM_Superv_i::MakeEllipse" );
2528 MESSAGE("GEOM_Superv_i::MakeEllipse");
2530 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2531 endService( " GEOM_Superv_i::MakeEllipse" );
2535 //=============================================================================
2537 //=============================================================================
2538 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2539 GEOM::GEOM_Object_ptr theVector,
2540 CORBA::Double theRMajor,
2541 CORBA::Double theRMinor,
2542 GEOM::GEOM_Object_ptr theVectorMajor)
2544 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2545 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2547 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2548 endService( " GEOM_Superv_i::MakeEllipseVec" );
2552 //=============================================================================
2554 //=============================================================================
2555 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2556 GEOM::GEOM_Object_ptr thePnt2,
2557 GEOM::GEOM_Object_ptr thePnt3)
2559 beginService( " GEOM_Superv_i::MakeArc" );
2560 MESSAGE("GEOM_Superv_i::MakeArc");
2562 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2563 endService( " GEOM_Superv_i::MakeArc" );
2567 //=============================================================================
2569 //=============================================================================
2570 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2571 GEOM::GEOM_Object_ptr thePnt1,
2572 GEOM::GEOM_Object_ptr thePnt2,
2573 CORBA::Boolean theSense)
2575 beginService( " GEOM_Superv_i::MakeArcCenter" );
2576 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2578 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2579 endService( " GEOM_Superv_i::MakeArcCenter" );
2583 //=============================================================================
2584 // MakeArcOfEllipse:
2585 //=============================================================================
2586 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2587 GEOM::GEOM_Object_ptr thePnt2,
2588 GEOM::GEOM_Object_ptr thePnt3)
2590 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2591 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2593 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2594 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2598 //=============================================================================
2600 //=============================================================================
2601 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2603 beginService( " GEOM_Superv_i::MakePolyline" );
2604 MESSAGE("GEOM_Superv_i::MakePolyline");
2605 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2606 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2608 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2609 endService( " GEOM_Superv_i::MakePolyline" );
2612 endService( " GEOM_Superv_i::MakePolyline" );
2616 //=============================================================================
2617 // MakeSplineBezier:
2618 //=============================================================================
2619 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2621 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2622 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2623 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2624 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2626 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2627 endService( " GEOM_Superv_i::MakeSplineBezier" );
2630 endService( " GEOM_Superv_i::MakeSplineBezier" );
2634 //=============================================================================
2635 // MakeSplineInterpolation:
2636 //=============================================================================
2637 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2639 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2640 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2641 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2642 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2644 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2645 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2648 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2652 //=============================================================================
2654 //=============================================================================
2655 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2656 GEOM::GEOM_List_ptr theWorkingPlane)
2658 beginService( " GEOM_Superv_i::MakeSketcher" );
2659 MESSAGE("GEOM_Superv_i::MakeSketcher");
2660 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2661 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2663 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2664 endService( " GEOM_Superv_i::MakeSketcher" );
2667 endService( " GEOM_Superv_i::MakeSketcher" );
2671 //=============================================================================
2673 //=============================================================================
2674 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
2676 beginService( " GEOM_Superv_i::Make3DSketcher" );
2677 MESSAGE("GEOM_Superv_i::Make3DSketcher");
2678 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
2679 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
2681 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
2682 endService( " GEOM_Superv_i::Make3DSketcher" );
2685 endService( " GEOM_Superv_i::Make3DSketcher" );
2689 //=============================== LocalOperations =============================
2690 //=============================================================================
2692 //=============================================================================
2693 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2696 beginService( " GEOM_Superv_i::MakeFilletAll" );
2697 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2699 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2700 endService( " GEOM_Superv_i::MakeFilletAll" );
2704 //=============================================================================
2706 //=============================================================================
2707 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2709 GEOM::GEOM_List_ptr theEdges)
2711 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2712 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2713 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2714 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2716 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2717 endService( " GEOM_Superv_i::MakeFilletEdges" );
2720 endService( " GEOM_Superv_i::MakeFilletEdges" );
2724 //=============================================================================
2725 // MakeFilletEdges R1 R2:
2726 //=============================================================================
2727 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
2728 CORBA::Double theR1,
2729 CORBA::Double theR2,
2730 GEOM::GEOM_List_ptr theEdges)
2732 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2733 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
2734 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2735 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2737 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
2738 theR2, aListImplE->GetList());
2739 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2742 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2746 //=============================================================================
2748 //=============================================================================
2749 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2751 GEOM::GEOM_List_ptr theFaces)
2753 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2754 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2755 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2756 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2758 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2759 endService( " GEOM_Superv_i::MakeFilletFaces" );
2762 endService( " GEOM_Superv_i::MakeFilletFaces" );
2766 //=============================================================================
2767 // MakeFilletFaces R1 R2:
2768 //=============================================================================
2769 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
2770 CORBA::Double theR1,
2771 CORBA::Double theR2,
2772 GEOM::GEOM_List_ptr theFaces)
2774 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2775 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
2776 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2777 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2779 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
2780 aListImplF->GetList());
2781 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2784 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2788 //=============================================================================
2790 //=============================================================================
2791 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
2793 GEOM::GEOM_List_ptr theVertexes)
2795 beginService( " GEOM_Superv_i::MakeFillet2D" );
2796 MESSAGE("GEOM_Superv_i::MakeFillet2D");
2797 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
2798 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
2800 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
2801 endService( " GEOM_Superv_i::MakeFillet2D" );
2804 endService( " GEOM_Superv_i::MakeFillet2D" );
2808 //=============================================================================
2810 //=============================================================================
2811 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2813 beginService( " GEOM_Superv_i::MakeChamferAll" );
2814 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2816 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2817 endService( " GEOM_Superv_i::MakeChamferAll" );
2821 //=============================================================================
2823 //=============================================================================
2824 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2825 CORBA::Double theD1, CORBA::Double theD2,
2826 CORBA::Long theFace1, CORBA::Long theFace2)
2828 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2829 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2831 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2832 endService( " GEOM_Superv_i::MakeChamferEdge" );
2836 //=============================================================================
2837 // MakeChamferEdgeAD:
2838 //=============================================================================
2839 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
2840 CORBA::Double theD, CORBA::Double theAngle,
2841 CORBA::Long theFace1, CORBA::Long theFace2)
2843 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2844 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
2846 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
2847 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2851 //=============================================================================
2852 // MakeChamferFaces:
2853 //=============================================================================
2854 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2855 CORBA::Double theD1, CORBA::Double theD2,
2856 GEOM::GEOM_List_ptr theFaces)
2858 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2859 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2860 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2861 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2863 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2864 endService( " GEOM_Superv_i::MakeChamferFaces" );
2867 endService( " GEOM_Superv_i::MakeChamferFaces" );
2871 //=============================================================================
2872 // MakeChamferFacesAD:
2873 //=============================================================================
2874 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
2875 CORBA::Double theD, CORBA::Double theAngle,
2876 GEOM::GEOM_List_ptr theFaces)
2878 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
2879 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
2880 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2881 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2883 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
2884 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2887 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2891 //=============================================================================
2892 // MakeChamferEdges:
2893 //=============================================================================
2894 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
2895 CORBA::Double theD1, CORBA::Double theD2,
2896 GEOM::GEOM_List_ptr theEdges)
2898 beginService( " GEOM_Superv_i::MakeChamferEdges" );
2899 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
2900 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2901 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2903 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
2904 endService( " GEOM_Superv_i::MakeChamferEdges" );
2907 endService( " GEOM_Superv_i::MakeChamferEdges" );
2911 //=============================================================================
2912 // MakeChamferEdgesAD:
2913 //=============================================================================
2914 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
2915 CORBA::Double theD, CORBA::Double theAngle,
2916 GEOM::GEOM_List_ptr theEdges)
2918 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2919 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
2920 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2921 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2923 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
2924 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2927 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2931 //=============================================================================
2933 //=============================================================================
2934 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2935 CORBA::Double theWeight,
2936 CORBA::Double theWaterDensity,
2937 CORBA::Double theMeshingDeflection)
2939 beginService( " GEOM_Superv_i::MakeArchimede" );
2940 MESSAGE("GEOM_Superv_i::MakeArchimede");
2942 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2943 endService( " GEOM_Superv_i::MakeArchimede" );
2947 //=============================================================================
2948 // GetSubShapeIndexMakeFilletAll:
2949 //=============================================================================
2950 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2951 GEOM::GEOM_Object_ptr theSubShape)
2953 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2954 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
2956 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
2957 endService( " GEOM_Superv_i::GetSubShapeIndex" );
2961 //=============================== GroupOperations =============================
2962 //=============================================================================
2964 //=============================================================================
2965 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
2966 CORBA::Long theShapeType)
2968 beginService( " GEOM_Superv_i::CreateGroup" );
2969 MESSAGE("GEOM_Superv_i::CreateGroup");
2971 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
2972 endService( " GEOM_Superv_i::CreateGroup" );
2976 //=============================================================================
2978 //=============================================================================
2979 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
2980 CORBA::Long theSubShapeId)
2982 beginService( " GEOM_Superv_i::AddObject" );
2983 MESSAGE("GEOM_Superv_i::AddObject");
2985 myGroupOp->AddObject(theGroup, theSubShapeId);
2986 endService( " GEOM_Superv_i::AddObject" );
2989 //=============================================================================
2991 //=============================================================================
2992 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
2993 CORBA::Long theSubShapeId)
2995 beginService( " GEOM_Superv_i::RemoveObject" );
2996 MESSAGE("GEOM_Superv_i::RemoveObject");
2998 myGroupOp->RemoveObject(theGroup, theSubShapeId);
2999 endService( " GEOM_Superv_i::RemoveObject" );
3002 //=============================================================================
3004 //=============================================================================
3005 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3007 beginService( " GEOM_Superv_i::GetType" );
3008 MESSAGE("GEOM_Superv_i::GetType");
3010 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3011 endService( " GEOM_Superv_i::GetType" );
3015 //=============================================================================
3017 //=============================================================================
3018 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3020 beginService( " GEOM_Superv_i::GetMainShape" );
3021 MESSAGE("GEOM_Superv_i::GetMainShape");
3023 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3024 endService( " GEOM_Superv_i::GetMainShape" );
3028 //=============================================================================
3030 //=============================================================================
3031 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3033 beginService( " GEOM_Superv_i::GetObjects" );
3034 MESSAGE("GEOM_Superv_i::GetObjects");
3037 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3038 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3039 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3040 endService( " GEOM_Superv_i::GetObjects" );
3041 return aListPtr->_this();
3044 //=====================================================================================
3046 //=====================================================================================
3049 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3050 PortableServer::POA_ptr poa,
3051 PortableServer::ObjectId * contId,
3052 const char *instanceName,
3053 const char * interfaceName)
3055 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3056 //Don't understand the reason why this component is registered ???
3057 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3058 return myGEOM_Superv_i->getId() ;