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 : PublishNamedShapesInStudy
479 //============================================================================
481 GEOM_Superv_i::PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
482 //SALOMEDS::SObject_ptr theSObject,
483 CORBA::Object_ptr theObject)
485 if (CORBA::is_nil(myGeomEngine))
487 return myGeomEngine->PublishNamedShapesInStudy(theStudy, theObject);
490 //============================================================================
491 // function : CanCopy()
493 //============================================================================
494 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
499 //============================================================================
500 // function : CopyFrom()
502 //============================================================================
503 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
505 SALOMEDS::TMPFile_var aStreamFile;
506 return aStreamFile._retn();
509 //============================================================================
510 // function : CanPaste()
512 //============================================================================
513 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
518 //============================================================================
519 // function : PasteInto()
521 //============================================================================
522 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
523 CORBA::Long theObjectID,
524 SALOMEDS::SObject_ptr theObject)
526 SALOMEDS::SObject_var aNewSO;
527 return aNewSO._retn();
530 //================= Primitives Construction : BasicOperations =================
531 //=============================================================================
533 //=============================================================================
534 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
538 beginService( " GEOM_Superv_i::MakePointXYZ" );
539 MESSAGE("GEOM_Superv_i::MakePointXYZ");
541 // make vertex and return
542 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
543 endService( " GEOM_Superv_i::MakePointXYZ" );
547 //=============================================================================
548 // MakePointWithReference:
549 //=============================================================================
550 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
555 beginService( " GEOM_Superv_i::MakePointWithReference" );
556 MESSAGE("GEOM_Superv_i::MakePointWithReference");
558 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
559 endService( " GEOM_Superv_i::MakePointWithReference" );
563 //=============================================================================
565 //=============================================================================
566 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
567 CORBA::Double theParameter)
569 beginService( " GEOM_Superv_i::MakePointOnCurve" );
570 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
572 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
573 endService( " GEOM_Superv_i::MakePointOnCurve" );
577 //=============================================================================
578 // MakePointOnLinesIntersection:
579 //=============================================================================
580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
581 GEOM::GEOM_Object_ptr theRefLine2)
583 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
584 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
586 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
587 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
591 //=============================================================================
592 // MakeTangentOnCurve:
593 //=============================================================================
594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
595 CORBA::Double theParameter)
597 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
598 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
600 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
601 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
605 //=============================================================================
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
612 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
613 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
615 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
616 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
620 //=============================================================================
622 //=============================================================================
623 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
624 GEOM::GEOM_Object_ptr thePnt2)
626 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
627 MESSAGE("GEOM_Superv_i::MakeVector");
629 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
630 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
634 //=============================================================================
636 //=============================================================================
637 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
638 GEOM::GEOM_Object_ptr thePnt2)
640 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
641 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
643 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
644 endService( " GEOM_Superv_i::MakeLineTwoPnt");
648 //=============================================================================
650 //=============================================================================
651 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
652 GEOM::GEOM_Object_ptr theFace2)
654 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
655 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
657 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
658 endService( " GEOM_Superv_i::MakeLineTwoFaces");
662 //=============================================================================
663 // MakePlaneThreePnt:
664 //=============================================================================
665 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
666 GEOM::GEOM_Object_ptr thePnt2,
667 GEOM::GEOM_Object_ptr thePnt3,
668 CORBA::Double theTrimSize)
670 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
671 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
673 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
674 endService( " GEOM_Superv_i::MakePlaneThreePnt");
678 //=============================================================================
680 //=============================================================================
681 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
682 GEOM::GEOM_Object_ptr theVec,
683 CORBA::Double theTrimSize)
685 beginService( " GEOM_Superv_i::MakePlanePntVec" );
686 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
688 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
689 endService( " GEOM_Superv_i::MakePlanePntVec" );
693 //=============================================================================
695 //=============================================================================
696 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
697 CORBA::Double theTrimSize)
699 beginService( " GEOM_Superv_i::MakePlaneFace" );
700 MESSAGE("GEOM_Superv_i::MakePlaneFace");
702 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
703 endService( " GEOM_Superv_i::MakePlaneFace" );
707 //=============================================================================
709 //=============================================================================
710 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
711 GEOM::GEOM_Object_ptr theVec2,
712 CORBA::Double theTrimSize)
714 beginService( " GEOM_Superv_i::MakePlane2Vec" );
715 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
717 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
718 endService( " GEOM_Superv_i::MakePlane2Vec" );
722 //=============================================================================
724 //=============================================================================
725 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
726 CORBA::Double theTrimSize,
727 CORBA::Double theOrientation)
729 beginService( " GEOM_Superv_i::MakePlaneLCS" );
730 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
732 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
733 endService( " GEOM_Superv_i::MakePlaneLCS" );
737 //=============================================================================
739 //=============================================================================
740 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
741 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
742 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
743 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
745 beginService( " GEOM_Superv_i::MakeMarker" );
746 MESSAGE("GEOM_Superv_i::MakeMarker");
748 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
749 endService( " GEOM_Superv_i::MakeMarker" );
753 //=============================================================================
754 // MakeTangentPlaneOnFace:
755 //=============================================================================
756 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
757 CORBA::Double theParameterU,
758 CORBA::Double theParameterV,
759 CORBA::Double theTrimSize)
761 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
762 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
764 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
765 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
769 //================= Primitives Construction : 3DPrimOperations ================
770 //=============================================================================
772 //=============================================================================
773 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
780 beginService( " GEOM_Superv_i::MakeBox" );
781 MESSAGE("GEOM_Superv_i::MakeBox");
784 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
785 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
786 endService( " GEOM_Superv_i::MakeBox" );
790 //=============================================================================
792 //=============================================================================
793 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
797 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
798 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
800 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
801 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
805 //=============================================================================
807 //=============================================================================
808 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
809 GEOM::GEOM_Object_ptr thePnt2)
811 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
812 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
814 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
815 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
819 //=============================================================================
821 //=============================================================================
822 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
824 CORBA::Short theOrientation)
826 beginService( " GEOM_Superv_i::MakeFaceHW" );
827 MESSAGE("GEOM_Superv_i::MakeFaceHW");
829 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
830 endService( " GEOM_Superv_i::MakeFaceHW" );
834 //=============================================================================
836 //=============================================================================
837 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
841 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
842 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
844 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
845 endService( " GEOM_Superv_i::MakeFaceObjHW" );
849 //=============================================================================
851 //=============================================================================
852 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
853 GEOM::GEOM_Object_ptr theVector,
856 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
857 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
859 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
860 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
864 //=============================================================================
866 //=============================================================================
867 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
868 GEOM::GEOM_Object_ptr thePnt2,
869 GEOM::GEOM_Object_ptr thePnt3)
871 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
872 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
874 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
875 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
879 //=============================================================================
881 //=============================================================================
882 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
883 CORBA::Short theOrientation)
885 beginService( " GEOM_Superv_i::MakeDiskR" );
886 MESSAGE("GEOM_Superv_i::MakeDiskR");
888 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
889 endService( " GEOM_Superv_i::MakeDiskR" );
893 //=============================================================================
894 // MakeCylinderPntVecRH:
895 //=============================================================================
896 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
897 GEOM::GEOM_Object_ptr theAxis,
898 CORBA::Double theRadius,
899 CORBA::Double theHeight)
901 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
902 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
904 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
905 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
909 //=============================================================================
911 //=============================================================================
912 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
915 beginService( " GEOM_Superv_i::MakeCylinderRH" );
916 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
918 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
919 endService( " GEOM_Superv_i::MakeCylinderRH" );
923 //=============================================================================
925 //=============================================================================
926 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
929 CORBA::Double theRadius)
931 beginService( " GEOM_Superv_i::MakeSphepe" );
932 MESSAGE("GEOM_Superv_i::MakeSphepe");
935 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
936 endService( " GEOM_Superv_i::MakeSphepe" );
940 //=============================================================================
942 //=============================================================================
943 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
945 beginService( " GEOM_Superv_i::MakeSphereR" );
946 MESSAGE("GEOM_Superv_i::MakeSphereR");
948 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
949 endService( " GEOM_Superv_i::MakeSphereR" );
953 //=============================================================================
955 //=============================================================================
956 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
959 beginService( " GEOM_Superv_i::MakeSpherePntR" );
960 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
962 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
963 endService( " GEOM_Superv_i::MakeSpherePntR" );
967 //=============================================================================
968 // MakeTorusPntVecRR:
969 //=============================================================================
970 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
971 GEOM::GEOM_Object_ptr theVec,
972 CORBA::Double theRMajor,
973 CORBA::Double theRMinor)
975 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
976 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
978 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
979 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
983 //=============================================================================
985 //=============================================================================
986 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
987 CORBA::Double theRMinor)
989 beginService( " GEOM_Superv_i::MakeTorusRR" );
990 MESSAGE("GEOM_Superv_i::MakeTorusRR");
992 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
993 endService( " GEOM_Superv_i::MakeTorusRR" );
997 //=============================================================================
998 // MakeConePntVecR1R2H:
999 //=============================================================================
1000 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1001 GEOM::GEOM_Object_ptr theAxis,
1002 CORBA::Double theR1,
1003 CORBA::Double theR2,
1004 CORBA::Double theHeight)
1006 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1007 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1009 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1010 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1014 //=============================================================================
1016 //=============================================================================
1017 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1018 CORBA::Double theR2,
1019 CORBA::Double theHeight)
1021 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1022 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1024 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1025 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1029 //=============================================================================
1031 //=============================================================================
1032 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1033 GEOM::GEOM_Object_ptr theVec,
1036 beginService( " GEOM_Superv_i::MakePrismVecH" );
1037 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1039 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1040 endService( " GEOM_Superv_i::MakePrismVecH" );
1044 //=============================================================================
1045 // MakePrismVecH2Ways:
1046 //=============================================================================
1047 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1048 GEOM::GEOM_Object_ptr theVec,
1051 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1052 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1054 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1055 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1059 //=============================================================================
1061 //=============================================================================
1062 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1063 GEOM::GEOM_Object_ptr thePoint1,
1064 GEOM::GEOM_Object_ptr thePoint2)
1066 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1067 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1069 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1070 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1074 //=============================================================================
1075 // MakePrismTwoPnt2Ways:
1076 //=============================================================================
1077 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1078 GEOM::GEOM_Object_ptr thePoint1,
1079 GEOM::GEOM_Object_ptr thePoint2)
1081 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1082 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1084 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1085 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1089 //=============================================================================
1091 //=============================================================================
1092 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1093 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1095 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1096 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1098 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1099 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1103 //=============================================================================
1105 //=============================================================================
1106 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1107 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1109 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1110 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1112 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1113 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1117 //=============================================================================
1119 //=============================================================================
1120 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1121 GEOM::GEOM_Object_ptr thePath)
1123 beginService( " GEOM_Superv_i::MakePipe" );
1124 MESSAGE("GEOM_Superv_i::MakePipe");
1126 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
1127 endService( " GEOM_Superv_i::MakePipe" );
1131 //=============================================================================
1132 // MakeRevolutionAxisAngle:
1133 //=============================================================================
1134 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1135 GEOM::GEOM_Object_ptr theAxis,
1136 CORBA::Double theAngle)
1138 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1139 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1141 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1142 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1146 //=============================================================================
1147 // MakeRevolutionAxisAngle:
1148 //=============================================================================
1149 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1150 GEOM::GEOM_Object_ptr theAxis,
1151 CORBA::Double theAngle)
1153 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1154 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1156 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1157 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1161 //=============================================================================
1163 //=============================================================================
1164 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1165 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
1166 CORBA::Double theTol2D, CORBA::Double theTol3D,
1167 CORBA::Long theNbIter, CORBA::Boolean theApprox)
1169 beginService( " GEOM_Superv_i::MakeFilling" );
1170 MESSAGE("GEOM_Superv_i::MakeFilling");
1172 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox);
1173 endService( " GEOM_Superv_i::MakeFilling" );
1177 //============================= BooleanOperations =============================
1178 //=============================================================================
1180 //=============================================================================
1181 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
1182 GEOM::GEOM_Object_ptr theShape2,
1183 CORBA::Long theOperation)
1185 beginService( " GEOM_Superv_i::MakeBoolean" );
1186 // theOperation indicates the operation to be done:
1187 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1188 MESSAGE("GEOM_Superv_i::MakeBoolean");
1190 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
1191 endService( " GEOM_Superv_i::MakeBoolean" );
1195 //=============================================================================
1196 // MakeThruSections:
1197 //=============================================================================
1198 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1199 CORBA::Boolean theModeSolid,
1200 CORBA::Double thePreci,
1201 CORBA::Boolean theRuled)
1203 beginService( " GEOM_Superv_i::MakeThruSections" );
1204 MESSAGE("GEOM_Superv_i::MakeThruSections");
1206 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1207 endService( " GEOM_Superv_i::MakeThruSections" );
1211 //=============================================================================
1213 //=============================================================================
1214 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1215 (const GEOM::ListOfGO& theBases,
1216 const GEOM::ListOfGO& theLocations,
1217 GEOM::GEOM_Object_ptr thePath,
1218 CORBA::Boolean theWithContact,
1219 CORBA::Boolean theWithCorrections)
1221 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1222 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1224 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
1225 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1230 //=============================================================================
1232 //=============================================================================
1233 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1234 (const GEOM::ListOfGO& theBases,
1235 const GEOM::ListOfGO& theSubBases,
1236 const GEOM::ListOfGO& theLocations,
1237 GEOM::GEOM_Object_ptr thePath,
1238 CORBA::Boolean theWithContact,
1239 CORBA::Boolean theWithCorrections)
1241 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1242 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1244 GEOM::GEOM_Object_ptr anObj =
1245 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1246 theLocations, thePath,
1247 theWithContact, theWithCorrections);
1248 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1253 //=============================================================================
1255 //=============================================================================
1256 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1257 (const GEOM::ListOfGO& theBases,
1258 const GEOM::ListOfGO& theLocations)
1260 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1261 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1263 GEOM::GEOM_Object_ptr anObj =
1264 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1265 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1270 //=============================================================================
1272 //=============================================================================
1273 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1274 (GEOM::GEOM_Object_ptr theBase,
1275 GEOM::GEOM_Object_ptr thePath,
1276 GEOM::GEOM_Object_ptr theVec)
1278 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1279 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1281 GEOM::GEOM_Object_ptr anObj =
1282 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec);
1283 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1288 //=============================================================================
1290 //=============================================================================
1291 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1292 GEOM::GEOM_Object_ptr theShape2)
1294 beginService( " GEOM_Superv_i::MakeFuse" );
1295 MESSAGE("GEOM_Superv_i::MakeFuse");
1297 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1298 endService( " GEOM_Superv_i::MakeFuse" );
1302 //=============================================================================
1304 //=============================================================================
1305 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1306 GEOM::GEOM_List_ptr theTools,
1307 GEOM::GEOM_List_ptr theKeepInside,
1308 GEOM::GEOM_List_ptr theRemoveInside,
1309 CORBA::Short theLimit,
1310 CORBA::Boolean theRemoveWebs,
1311 GEOM::GEOM_List_ptr theMaterials,
1312 CORBA::Short theKeepNonlimitShapes)
1314 beginService( " GEOM_Superv_i::MakePartition" );
1315 MESSAGE("GEOM_Superv_i::MakePartition");
1316 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1317 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1318 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1319 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1320 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1321 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1322 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1323 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1324 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1325 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1326 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1328 GEOM::GEOM_Object_ptr anObj =
1329 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1330 aListImplKI->GetList(), aListImplRI->GetList(),
1331 theLimit, theRemoveWebs, aListImplM->GetList(),
1332 theKeepNonlimitShapes);
1333 endService( " GEOM_Superv_i::MakePartition" );
1336 endService( " GEOM_Superv_i::MakePartition" );
1340 //=============================================================================
1341 // MakeHalfPartition:
1342 //=============================================================================
1343 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1344 GEOM::GEOM_Object_ptr thePlane)
1346 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1347 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1349 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1350 endService( " GEOM_Superv_i::MakeHalfPartition" );
1354 //============================== InsertOperations =============================
1355 //=============================================================================
1357 //=============================================================================
1358 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1360 beginService( " GEOM_Superv_i::MakeCopy" );
1361 MESSAGE("GEOM_Superv_i::MakeCopy");
1363 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1364 endService( " GEOM_Superv_i::MakeCopy" );
1368 //=============================================================================
1370 //=============================================================================
1371 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1372 const char* theFileName,
1373 const char* theFormatName)
1375 beginService( " GEOM_Superv_i::Export" );
1376 MESSAGE("GEOM_Superv_i::Export");
1378 myInsOp->Export(theObject, theFileName, theFormatName);
1379 endService( " GEOM_Superv_i::Export" );
1382 //=============================================================================
1384 //=============================================================================
1385 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1386 const char* theFormatName)
1388 beginService( " GEOM_Superv_i::Import" );
1389 MESSAGE("GEOM_Superv_i::Import");
1391 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1392 endService( " GEOM_Superv_i::Import" );
1396 //=============================================================================
1397 // ImportTranslators:
1398 //=============================================================================
1399 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1400 GEOM::string_array_out thePatterns)
1402 beginService( " GEOM_Superv_i::ImportTranslators" );
1403 MESSAGE("GEOM_Superv_i::ImportTranslators");
1405 myInsOp->ImportTranslators(theFormats, thePatterns);
1406 endService( " GEOM_Superv_i::ImportTranslators" );
1409 //=============================================================================
1410 // ExportTranslators:
1411 //=============================================================================
1412 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1413 GEOM::string_array_out thePatterns)
1415 beginService( " GEOM_Superv_i::ExportTranslators" );
1416 MESSAGE("GEOM_Superv_i::ExportTranslators");
1418 myInsOp->ExportTranslators(theFormats, thePatterns);
1419 endService( " GEOM_Superv_i::ExportTranslators" );
1422 //============================= TransformOperations ===========================
1423 //=============================================================================
1424 // TranslateTwoPoints:
1425 //=============================================================================
1426 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1427 GEOM::GEOM_Object_ptr thePoint1,
1428 GEOM::GEOM_Object_ptr thePoint2)
1430 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1431 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1433 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1434 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1438 //=============================================================================
1439 // TranslateTwoPointsCopy:
1440 //=============================================================================
1441 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1442 GEOM::GEOM_Object_ptr thePoint1,
1443 GEOM::GEOM_Object_ptr thePoint2)
1445 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1446 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1448 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1449 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1453 //=============================================================================
1455 //=============================================================================
1456 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1457 CORBA::Double theDX,
1458 CORBA::Double theDY,
1459 CORBA::Double theDZ)
1461 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1462 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1464 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1465 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1469 //=============================================================================
1470 // TranslateDXDYDZCopy:
1471 //=============================================================================
1472 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1473 CORBA::Double theDX,
1474 CORBA::Double theDY,
1475 CORBA::Double theDZ)
1477 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1478 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1480 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1481 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1485 //=============================================================================
1487 //=============================================================================
1488 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1489 GEOM::GEOM_Object_ptr theVector)
1491 beginService( " GEOM_Superv_i::TranslateVector" );
1492 MESSAGE("GEOM_Superv_i::TranslateVector");
1494 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1495 endService( " GEOM_Superv_i::TranslateVector" );
1499 //=============================================================================
1500 // TranslateVectorCopy:
1501 //=============================================================================
1502 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1503 GEOM::GEOM_Object_ptr theVector)
1505 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1506 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1508 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1509 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1513 //=============================================================================
1514 // TranslateVectorDistance:
1515 //=============================================================================
1516 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1517 GEOM::GEOM_Object_ptr theVector,
1518 CORBA::Double theDistance,
1519 CORBA::Boolean theCopy)
1521 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1522 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1524 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1525 theVector, theDistance, theCopy);
1526 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1530 //=============================================================================
1531 // MultiTranslate1D:
1532 //=============================================================================
1533 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1534 GEOM::GEOM_Object_ptr theVector,
1535 CORBA::Double theStep,
1536 CORBA::Long theNbTimes)
1538 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1539 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1541 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1542 endService( " GEOM_Superv_i::MultiTranslate1D" );
1546 //=============================================================================
1547 // MultiTranslate2D:
1548 //=============================================================================
1549 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1550 GEOM::GEOM_Object_ptr theVector1,
1551 CORBA::Double theStep1,
1552 CORBA::Long theNbTimes1,
1553 GEOM::GEOM_Object_ptr theVector2,
1554 CORBA::Double theStep2,
1555 CORBA::Long theNbTimes2)
1557 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1558 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1560 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1561 theVector2, theStep2, theNbTimes2);
1562 endService( " GEOM_Superv_i::MultiTranslate2D" );
1566 //=============================================================================
1568 //=============================================================================
1569 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1570 GEOM::GEOM_Object_ptr theAxis,
1571 CORBA::Double theAngle)
1573 beginService( " GEOM_Superv_i::Rotate" );
1574 MESSAGE("GEOM_Superv_i::Rotate");
1576 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1577 endService( " GEOM_Superv_i::Rotate" );
1581 //=============================================================================
1583 //=============================================================================
1584 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1585 GEOM::GEOM_Object_ptr theAxis,
1586 CORBA::Double theAngle)
1588 beginService( " GEOM_Superv_i::RotateCopy" );
1589 MESSAGE("GEOM_Superv_i::RotateCopy");
1591 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1592 endService( " GEOM_Superv_i::RotateCopy" );
1595 //=============================================================================
1596 // RotateThreePoints:
1597 //=============================================================================
1598 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1599 GEOM::GEOM_Object_ptr theCentPoint,
1600 GEOM::GEOM_Object_ptr thePoint1,
1601 GEOM::GEOM_Object_ptr thePoint2)
1603 beginService( " GEOM_Superv_i::RotateThreePoints" );
1604 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1606 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1607 endService( " GEOM_Superv_i::RotateThreePoints" );
1611 //=============================================================================
1612 // RotateThreePointsCopy:
1613 //=============================================================================
1614 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1615 GEOM::GEOM_Object_ptr theCentPoint,
1616 GEOM::GEOM_Object_ptr thePoint1,
1617 GEOM::GEOM_Object_ptr thePoint2)
1619 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1620 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1622 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1623 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1627 //=============================================================================
1629 //=============================================================================
1630 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1631 GEOM::GEOM_Object_ptr theAxis,
1632 CORBA::Long theNbTimes)
1634 beginService( " GEOM_Superv_i::MultiRotate1D" );
1635 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1637 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1638 endService( " GEOM_Superv_i::MultiRotate1D" );
1642 //=============================================================================
1644 //=============================================================================
1645 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1646 GEOM::GEOM_Object_ptr theAxis,
1647 CORBA::Double theAngle,
1648 CORBA::Long theNbTimes1,
1649 CORBA::Double theStep,
1650 CORBA::Long theNbTimes2)
1652 beginService( " GEOM_Superv_i::MultiRotate2D" );
1653 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1655 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1656 endService( " GEOM_Superv_i::MultiRotate2D" );
1660 //=============================================================================
1662 //=============================================================================
1663 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1664 GEOM::GEOM_Object_ptr thePlane)
1666 beginService( " GEOM_Superv_i::MirrorPlane" );
1667 MESSAGE("GEOM_Superv_i::MirrorPlane");
1669 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1670 endService( " GEOM_Superv_i::MirrorPlane" );
1674 //=============================================================================
1676 //=============================================================================
1677 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1678 GEOM::GEOM_Object_ptr thePlane)
1680 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1681 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1683 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1684 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1688 //=============================================================================
1690 //=============================================================================
1691 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1692 GEOM::GEOM_Object_ptr theAxis)
1694 beginService( " GEOM_Superv_i::MirrorAxis" );
1695 MESSAGE("GEOM_Superv_i::MirrorAxis");
1697 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1698 endService( " GEOM_Superv_i::MirrorAxis" );
1702 //=============================================================================
1704 //=============================================================================
1705 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1706 GEOM::GEOM_Object_ptr theAxis)
1708 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1709 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1711 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1712 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1716 //=============================================================================
1718 //=============================================================================
1719 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1720 GEOM::GEOM_Object_ptr thePoint)
1722 beginService( " GEOM_Superv_i::MirrorPoint" );
1723 MESSAGE("GEOM_Superv_i::MirrorPoint");
1725 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1726 endService( " GEOM_Superv_i::MirrorPoint" );
1730 //=============================================================================
1732 //=============================================================================
1733 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1734 GEOM::GEOM_Object_ptr thePoint)
1736 beginService( " GEOM_Superv_i::MirrorPoint" );
1737 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1739 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1740 endService( " GEOM_Superv_i::MirrorPoint" );
1744 //=============================================================================
1746 //=============================================================================
1747 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1748 CORBA::Double theOffset)
1750 beginService( " GEOM_Superv_i::OffsetShape" );
1751 MESSAGE("GEOM_Superv_i::OffsetShape");
1753 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1754 endService( " GEOM_Superv_i::OffsetShape" );
1758 //=============================================================================
1760 //=============================================================================
1761 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1762 CORBA::Double theOffset)
1764 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1765 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1767 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1768 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1772 //=============================================================================
1774 //=============================================================================
1775 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1776 GEOM::GEOM_Object_ptr thePoint,
1777 CORBA::Double theFactor)
1779 beginService( " GEOM_Superv_i::ScaleShape" );
1780 MESSAGE("GEOM_Superv_i::ScaleShape");
1782 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1783 endService( " GEOM_Superv_i::ScaleShape" );
1787 //=============================================================================
1789 //=============================================================================
1790 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1791 GEOM::GEOM_Object_ptr thePoint,
1792 CORBA::Double theFactor)
1794 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1795 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1797 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1798 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1802 //=============================================================================
1803 // ScaleShapeAlongAxes:
1804 //=============================================================================
1805 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
1806 GEOM::GEOM_Object_ptr thePoint,
1807 CORBA::Double theFactorX,
1808 CORBA::Double theFactorY,
1809 CORBA::Double theFactorZ)
1811 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1812 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
1814 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
1815 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1816 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
1820 //=============================================================================
1821 // ScaleShapeAlongAxesCopy:
1822 //=============================================================================
1823 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
1824 GEOM::GEOM_Object_ptr thePoint,
1825 CORBA::Double theFactorX,
1826 CORBA::Double theFactorY,
1827 CORBA::Double theFactorZ)
1829 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1830 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
1832 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
1833 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
1834 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
1838 //=============================================================================
1840 //=============================================================================
1841 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1842 GEOM::GEOM_Object_ptr theStartLCS,
1843 GEOM::GEOM_Object_ptr theEndLCS)
1845 beginService( " GEOM_Superv_i::PositionShape" );
1846 MESSAGE("GEOM_Superv_i::PositionShape");
1848 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1849 endService( " GEOM_Superv_i::PositionShape" );
1853 //=============================================================================
1854 // PositionShapeCopy:
1855 //=============================================================================
1856 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1857 GEOM::GEOM_Object_ptr theStartLCS,
1858 GEOM::GEOM_Object_ptr theEndLCS)
1860 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1861 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1863 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1864 endService( " GEOM_Superv_i::PositionShapeCopy" );
1868 //=============================================================================
1869 // PositionAlongPath:
1870 //=============================================================================
1871 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
1872 GEOM::GEOM_Object_ptr thePath,
1873 CORBA::Double theDistance,
1874 CORBA::Boolean theCopy,
1875 CORBA::Boolean theReverse)
1877 beginService( " GEOM_Superv_i::PositionAlongPath" );
1878 MESSAGE("GEOM_Superv_i::PositionAlongPath");
1880 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
1881 endService( " GEOM_Superv_i::PositionAlongPath" );
1885 //=============================== ShapesOperations ============================
1886 //=============================================================================
1888 //=============================================================================
1889 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1890 GEOM::GEOM_Object_ptr thePnt2)
1892 beginService( " GEOM_Superv_i::MakeEdge" );
1893 MESSAGE("GEOM_Superv_i::MakeEdge");
1895 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1896 endService( " GEOM_Superv_i::MakeEdge" );
1900 //=============================================================================
1902 //=============================================================================
1903 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
1904 CORBA::Double theTolerance)
1906 beginService( " GEOM_Superv_i::MakeWire" );
1907 MESSAGE("GEOM_Superv_i::MakeWire");
1908 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1909 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1911 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
1912 endService( " GEOM_Superv_i::MakeWire" );
1915 endService( " GEOM_Superv_i::MakeWire" );
1919 //=============================================================================
1921 //=============================================================================
1922 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1923 CORBA::Boolean isPlanarWanted)
1925 beginService( " GEOM_Superv_i::MakeFace" );
1926 MESSAGE("GEOM_Superv_i::MakeFace");
1928 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1929 endService( " GEOM_Superv_i::MakeFace" );
1933 //=============================================================================
1935 //=============================================================================
1936 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1937 CORBA::Boolean isPlanarWanted)
1939 beginService( " GEOM_Superv_i::MakeFaceWires" );
1940 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1941 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1942 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1944 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1945 endService( " GEOM_Superv_i::MakeFaceWires" );
1948 endService( " GEOM_Superv_i::MakeFaceWires" );
1952 //=============================================================================
1954 //=============================================================================
1955 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1957 beginService( " GEOM_Superv_i::MakeShell" );
1958 MESSAGE("GEOM_Superv_i::MakeShell");
1959 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1960 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1962 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1963 endService( " GEOM_Superv_i::MakeShell" );
1966 endService( " GEOM_Superv_i::MakeShell" );
1970 //=============================================================================
1972 //=============================================================================
1973 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1975 beginService( " GEOM_Superv_i::MakeSolidShell" );
1976 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1978 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1979 endService( " GEOM_Superv_i::MakeSolidShell" );
1983 //=============================================================================
1985 //=============================================================================
1986 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1988 beginService( " GEOM_Superv_i::MakeSolidShells" );
1989 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1990 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1991 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1993 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1994 endService( " GEOM_Superv_i::MakeSolidShells" );
1997 endService( " GEOM_Superv_i::MakeSolidShells" );
2001 //=============================================================================
2003 //=============================================================================
2004 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2006 beginService( " GEOM_Superv_i::MakeCompound" );
2007 MESSAGE("GEOM_Superv_i::MakeCompound");
2008 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2009 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2011 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2012 endService( " GEOM_Superv_i::MakeCompound" );
2015 endService( " GEOM_Superv_i::MakeCompound" );
2019 //=============================================================================
2021 //=============================================================================
2022 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2023 CORBA::Double theTolerance,
2024 CORBA::Boolean doKeepNonSolids)
2026 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2027 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2029 GEOM::GEOM_Object_ptr anObj =
2030 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
2031 endService( " GEOM_Superv_i::MakeGlueFaces" );
2035 //=============================================================================
2037 //=============================================================================
2038 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2039 CORBA::Double theTolerance)
2041 beginService( " GEOM_Superv_i::GetGlueFaces" );
2042 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2044 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
2045 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2046 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2047 endService( " GEOM_Superv_i::GetGlueFaces" );
2048 return aListPtr->_this();
2051 //=============================================================================
2052 // MakeGlueFacesByList:
2053 //=============================================================================
2054 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2055 CORBA::Double theTolerance,
2056 const GEOM::ListOfGO& theFaces,
2057 CORBA::Boolean doKeepNonSolids)
2059 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2060 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2062 GEOM::GEOM_Object_ptr anObj =
2063 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids);
2064 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2068 //=============================================================================
2070 //=============================================================================
2071 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2072 CORBA::Long theShapeType,
2073 CORBA::Boolean isSorted)
2075 beginService( " GEOM_Superv_i::MakeExplode" );
2076 MESSAGE("GEOM_Superv_i::MakeExplode");
2079 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2080 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2081 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2082 endService( " GEOM_Superv_i::MakeExplode" );
2083 return aListPtr->_this();
2086 //=============================================================================
2088 //=============================================================================
2089 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2091 beginService( " GEOM_Superv_i::NumberOfFaces" );
2092 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2094 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2095 endService( " GEOM_Superv_i::NumberOfFaces" );
2099 //=============================================================================
2101 //=============================================================================
2102 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2104 beginService( " GEOM_Superv_i::NumberOfEdges" );
2105 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2107 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2108 endService( " GEOM_Superv_i::NumberOfEdges" );
2113 //=============================================================================
2114 // ChangeOrientation:
2115 //=============================================================================
2116 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2118 beginService( " GEOM_Superv_i::ChangeOrientation" );
2119 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2121 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2122 endService( " GEOM_Superv_i::ChangeOrientation" );
2127 //=============================================================================
2128 // GetShapesOnShape:
2129 //=============================================================================
2130 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2131 (GEOM::GEOM_Object_ptr theCheckShape,
2132 GEOM::GEOM_Object_ptr theShape,
2133 CORBA::Short theShapeType,
2134 GEOM::shape_state theState)
2136 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2137 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2139 GEOM::ListOfGO* aList =
2140 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2141 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2142 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2143 endService( " GEOM_Superv_i::GetShapesOnShape" );
2144 return aListPtr->_this();
2148 //=============================================================================
2149 // GetShapesOnShapeAsCompound:
2150 //=============================================================================
2151 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2152 (GEOM::GEOM_Object_ptr theCheckShape,
2153 GEOM::GEOM_Object_ptr theShape,
2154 CORBA::Short theShapeType,
2155 GEOM::shape_state theState)
2157 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2158 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2160 GEOM::GEOM_Object_ptr anObj =
2161 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2162 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2167 //=============================== BlocksOperations ============================
2168 //=============================================================================
2169 // MakeQuad4Vertices:
2170 //=============================================================================
2171 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2172 GEOM::GEOM_Object_ptr thePnt2,
2173 GEOM::GEOM_Object_ptr thePnt3,
2174 GEOM::GEOM_Object_ptr thePnt4)
2176 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2177 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2179 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2180 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2184 //=============================================================================
2186 //=============================================================================
2187 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2188 GEOM::GEOM_Object_ptr theEdge2,
2189 GEOM::GEOM_Object_ptr theEdge3,
2190 GEOM::GEOM_Object_ptr theEdge4)
2192 beginService( " GEOM_Superv_i::MakeQuad" );
2193 MESSAGE("GEOM_Superv_i::MakeQuad");
2195 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2196 endService( " GEOM_Superv_i::MakeQuad" );
2200 //=============================================================================
2202 //=============================================================================
2203 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2204 GEOM::GEOM_Object_ptr theEdge2)
2206 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2207 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2209 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2210 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2214 //=============================================================================
2216 //=============================================================================
2217 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2218 GEOM::GEOM_Object_ptr theFace2,
2219 GEOM::GEOM_Object_ptr theFace3,
2220 GEOM::GEOM_Object_ptr theFace4,
2221 GEOM::GEOM_Object_ptr theFace5,
2222 GEOM::GEOM_Object_ptr theFace6)
2224 beginService( " GEOM_Superv_i::MakeHexa" );
2225 MESSAGE("GEOM_Superv_i::MakeHexa");
2227 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2228 endService( " GEOM_Superv_i::MakeHexa" );
2232 //=============================================================================
2234 //=============================================================================
2235 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2236 GEOM::GEOM_Object_ptr theFace2)
2238 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2239 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2241 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2242 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2246 //=============================================================================
2248 //=============================================================================
2249 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2253 CORBA::Double theEpsilon)
2255 beginService( " GEOM_Superv_i::GetPoint" );
2256 MESSAGE("GEOM_Superv_i::GetPoint");
2258 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2259 endService( " GEOM_Superv_i::GetPoint" );
2263 //=============================================================================
2265 //=============================================================================
2266 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2267 GEOM::GEOM_Object_ptr thePoint1,
2268 GEOM::GEOM_Object_ptr thePoint2)
2270 beginService( " GEOM_Superv_i::GetEdge" );
2271 MESSAGE("GEOM_Superv_i::GetEdge");
2273 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2274 endService( " GEOM_Superv_i::GetEdge" );
2278 //=============================================================================
2279 // GetEdgeNearPoint:
2280 //=============================================================================
2281 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2282 GEOM::GEOM_Object_ptr thePoint)
2284 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2285 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2287 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2288 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2292 //=============================================================================
2294 //=============================================================================
2295 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2296 GEOM::GEOM_Object_ptr thePoint1,
2297 GEOM::GEOM_Object_ptr thePoint2,
2298 GEOM::GEOM_Object_ptr thePoint3,
2299 GEOM::GEOM_Object_ptr thePoint4)
2301 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2302 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2304 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2305 endService( " GEOM_Superv_i::GetFaceByPoints" );
2309 //=============================================================================
2311 //=============================================================================
2312 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2313 GEOM::GEOM_Object_ptr theEdge1,
2314 GEOM::GEOM_Object_ptr theEdge2)
2316 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2317 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2319 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2320 endService( " GEOM_Superv_i::GetFaceByEdges" );
2324 //=============================================================================
2326 //=============================================================================
2327 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2328 GEOM::GEOM_Object_ptr theFace)
2330 beginService( " GEOM_Superv_i::GetOppositeFace" );
2331 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2333 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2334 endService( " GEOM_Superv_i::GetOppositeFace" );
2338 //=============================================================================
2339 // GetFaceNearPoint:
2340 //=============================================================================
2341 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2342 GEOM::GEOM_Object_ptr thePoint)
2344 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2345 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2347 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2348 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2352 //=============================================================================
2353 // GetFaceByNormale:
2354 //=============================================================================
2355 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2356 GEOM::GEOM_Object_ptr theVector)
2358 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2359 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2361 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2362 endService( " GEOM_Superv_i::GetFaceByNormale" );
2366 //=============================================================================
2367 // IsCompoundOfBlocks:
2368 //=============================================================================
2369 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2370 CORBA::Long theMinNbFaces,
2371 CORBA::Long theMaxNbFaces,
2372 CORBA::Long& theNbBlocks)
2374 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2375 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2377 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2378 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2382 //=============================================================================
2383 // CheckCompoundOfBlocks:
2384 //=============================================================================
2385 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2386 (GEOM::GEOM_Object_ptr theCompound,
2387 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2389 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2390 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2392 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2393 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2397 //=============================================================================
2399 //=============================================================================
2400 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2401 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2403 beginService( " GEOM_Superv_i::PrintBCErrors" );
2404 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2406 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2407 endService( " GEOM_Superv_i::PrintBCErrors" );
2411 //=============================================================================
2412 // ExplodeCompoundOfBlocks:
2413 //=============================================================================
2414 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2415 CORBA::Long theMinNbFaces,
2416 CORBA::Long theMaxNbFaces)
2418 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2419 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2421 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2422 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2423 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2424 return aListPtr->_this();
2427 //=============================================================================
2428 // GetBlockNearPoint:
2429 //=============================================================================
2430 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2431 GEOM::GEOM_Object_ptr thePoint)
2433 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2434 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2436 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2437 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2441 //=============================================================================
2443 //=============================================================================
2444 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2445 GEOM::GEOM_List_ptr theParts)
2447 beginService( " GEOM_Superv_i::GetBlockByParts" );
2448 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2449 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2450 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2452 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2453 endService( " GEOM_Superv_i::GetBlockByParts" );
2456 endService( " GEOM_Superv_i::GetBlockByParts" );
2460 //=============================================================================
2461 // GetBlocksByParts:
2462 //=============================================================================
2463 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2464 GEOM::GEOM_List_ptr theParts)
2466 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2467 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2468 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2469 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2472 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2473 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2474 endService( " GEOM_Superv_i::GetBlocksByParts" );
2475 return aListPtr->_this();
2477 endService( " GEOM_Superv_i::GetBlocksByParts" );
2481 //=============================================================================
2482 // MakeMultiTransformation1D:
2483 //=============================================================================
2484 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2485 CORBA::Long theDirFace1,
2486 CORBA::Long theDirFace2,
2487 CORBA::Long theNbTimes)
2489 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2490 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2492 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2493 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2497 //=============================================================================
2498 // MakeMultiTransformation2D:
2499 //=============================================================================
2500 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2501 (GEOM::GEOM_Object_ptr theBlock,
2502 CORBA::Long theDirFace1U,
2503 CORBA::Long theDirFace2U,
2504 CORBA::Long theNbTimesU,
2505 CORBA::Long theDirFace1V,
2506 CORBA::Long theDirFace2V,
2507 CORBA::Long theNbTimesV)
2509 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2510 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2512 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2513 theDirFace1U, theDirFace2U, theNbTimesU,
2514 theDirFace1V, theDirFace2V, theNbTimesV);
2515 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2519 //=============================== CurvesOperations ============================
2520 //=============================================================================
2521 // MakeCirclePntVecR:
2522 //=============================================================================
2523 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2524 GEOM::GEOM_Object_ptr theVector,
2527 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2528 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2530 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2531 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2535 //=============================================================================
2536 // MakeCircleThreePnt:
2537 //=============================================================================
2538 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2539 GEOM::GEOM_Object_ptr thePnt2,
2540 GEOM::GEOM_Object_ptr thePnt3)
2542 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2543 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2545 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2546 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2549 //=============================================================================
2550 // MakeCircleCenter2Pnt:
2551 //=============================================================================
2552 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2553 GEOM::GEOM_Object_ptr thePnt2,
2554 GEOM::GEOM_Object_ptr thePnt3)
2556 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2557 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2559 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2560 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2564 //=============================================================================
2566 //=============================================================================
2567 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2568 GEOM::GEOM_Object_ptr theVector,
2569 CORBA::Double theRMajor,
2570 CORBA::Double theRMinor)
2572 beginService( " GEOM_Superv_i::MakeEllipse" );
2573 MESSAGE("GEOM_Superv_i::MakeEllipse");
2575 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2576 endService( " GEOM_Superv_i::MakeEllipse" );
2580 //=============================================================================
2582 //=============================================================================
2583 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2584 GEOM::GEOM_Object_ptr theVector,
2585 CORBA::Double theRMajor,
2586 CORBA::Double theRMinor,
2587 GEOM::GEOM_Object_ptr theVectorMajor)
2589 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2590 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2592 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2593 endService( " GEOM_Superv_i::MakeEllipseVec" );
2597 //=============================================================================
2599 //=============================================================================
2600 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2601 GEOM::GEOM_Object_ptr thePnt2,
2602 GEOM::GEOM_Object_ptr thePnt3)
2604 beginService( " GEOM_Superv_i::MakeArc" );
2605 MESSAGE("GEOM_Superv_i::MakeArc");
2607 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2608 endService( " GEOM_Superv_i::MakeArc" );
2612 //=============================================================================
2614 //=============================================================================
2615 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2616 GEOM::GEOM_Object_ptr thePnt1,
2617 GEOM::GEOM_Object_ptr thePnt2,
2618 CORBA::Boolean theSense)
2620 beginService( " GEOM_Superv_i::MakeArcCenter" );
2621 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2623 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2624 endService( " GEOM_Superv_i::MakeArcCenter" );
2628 //=============================================================================
2629 // MakeArcOfEllipse:
2630 //=============================================================================
2631 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2632 GEOM::GEOM_Object_ptr thePnt2,
2633 GEOM::GEOM_Object_ptr thePnt3)
2635 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2636 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2638 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2639 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2643 //=============================================================================
2645 //=============================================================================
2646 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2648 beginService( " GEOM_Superv_i::MakePolyline" );
2649 MESSAGE("GEOM_Superv_i::MakePolyline");
2650 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2651 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2653 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2654 endService( " GEOM_Superv_i::MakePolyline" );
2657 endService( " GEOM_Superv_i::MakePolyline" );
2661 //=============================================================================
2662 // MakeSplineBezier:
2663 //=============================================================================
2664 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2666 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2667 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2668 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2669 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2671 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2672 endService( " GEOM_Superv_i::MakeSplineBezier" );
2675 endService( " GEOM_Superv_i::MakeSplineBezier" );
2679 //=============================================================================
2680 // MakeSplineInterpolation:
2681 //=============================================================================
2682 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2684 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2685 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2686 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2687 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2689 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2690 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2693 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2697 //=============================================================================
2699 //=============================================================================
2700 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2701 GEOM::GEOM_List_ptr theWorkingPlane)
2703 beginService( " GEOM_Superv_i::MakeSketcher" );
2704 MESSAGE("GEOM_Superv_i::MakeSketcher");
2705 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2706 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2708 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2709 endService( " GEOM_Superv_i::MakeSketcher" );
2712 endService( " GEOM_Superv_i::MakeSketcher" );
2716 //=============================================================================
2718 //=============================================================================
2719 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
2721 beginService( " GEOM_Superv_i::Make3DSketcher" );
2722 MESSAGE("GEOM_Superv_i::Make3DSketcher");
2723 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
2724 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
2726 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
2727 endService( " GEOM_Superv_i::Make3DSketcher" );
2730 endService( " GEOM_Superv_i::Make3DSketcher" );
2734 //=============================== LocalOperations =============================
2735 //=============================================================================
2737 //=============================================================================
2738 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2741 beginService( " GEOM_Superv_i::MakeFilletAll" );
2742 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2744 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2745 endService( " GEOM_Superv_i::MakeFilletAll" );
2749 //=============================================================================
2751 //=============================================================================
2752 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2754 GEOM::GEOM_List_ptr theEdges)
2756 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2757 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2758 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2759 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2761 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2762 endService( " GEOM_Superv_i::MakeFilletEdges" );
2765 endService( " GEOM_Superv_i::MakeFilletEdges" );
2769 //=============================================================================
2770 // MakeFilletEdges R1 R2:
2771 //=============================================================================
2772 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
2773 CORBA::Double theR1,
2774 CORBA::Double theR2,
2775 GEOM::GEOM_List_ptr theEdges)
2777 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2778 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
2779 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2780 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2782 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
2783 theR2, aListImplE->GetList());
2784 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2787 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2791 //=============================================================================
2793 //=============================================================================
2794 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2796 GEOM::GEOM_List_ptr theFaces)
2798 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2799 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2800 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2801 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2803 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2804 endService( " GEOM_Superv_i::MakeFilletFaces" );
2807 endService( " GEOM_Superv_i::MakeFilletFaces" );
2811 //=============================================================================
2812 // MakeFilletFaces R1 R2:
2813 //=============================================================================
2814 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
2815 CORBA::Double theR1,
2816 CORBA::Double theR2,
2817 GEOM::GEOM_List_ptr theFaces)
2819 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2820 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
2821 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2822 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2824 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
2825 aListImplF->GetList());
2826 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2829 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2833 //=============================================================================
2835 //=============================================================================
2836 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
2838 GEOM::GEOM_List_ptr theVertexes)
2840 beginService( " GEOM_Superv_i::MakeFillet2D" );
2841 MESSAGE("GEOM_Superv_i::MakeFillet2D");
2842 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
2843 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
2845 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
2846 endService( " GEOM_Superv_i::MakeFillet2D" );
2849 endService( " GEOM_Superv_i::MakeFillet2D" );
2853 //=============================================================================
2855 //=============================================================================
2856 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2858 beginService( " GEOM_Superv_i::MakeChamferAll" );
2859 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2861 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2862 endService( " GEOM_Superv_i::MakeChamferAll" );
2866 //=============================================================================
2868 //=============================================================================
2869 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2870 CORBA::Double theD1, CORBA::Double theD2,
2871 CORBA::Long theFace1, CORBA::Long theFace2)
2873 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2874 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2876 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2877 endService( " GEOM_Superv_i::MakeChamferEdge" );
2881 //=============================================================================
2882 // MakeChamferEdgeAD:
2883 //=============================================================================
2884 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
2885 CORBA::Double theD, CORBA::Double theAngle,
2886 CORBA::Long theFace1, CORBA::Long theFace2)
2888 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2889 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
2891 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
2892 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2896 //=============================================================================
2897 // MakeChamferFaces:
2898 //=============================================================================
2899 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2900 CORBA::Double theD1, CORBA::Double theD2,
2901 GEOM::GEOM_List_ptr theFaces)
2903 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2904 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2905 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2906 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2908 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2909 endService( " GEOM_Superv_i::MakeChamferFaces" );
2912 endService( " GEOM_Superv_i::MakeChamferFaces" );
2916 //=============================================================================
2917 // MakeChamferFacesAD:
2918 //=============================================================================
2919 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
2920 CORBA::Double theD, CORBA::Double theAngle,
2921 GEOM::GEOM_List_ptr theFaces)
2923 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
2924 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
2925 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2926 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2928 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
2929 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2932 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2936 //=============================================================================
2937 // MakeChamferEdges:
2938 //=============================================================================
2939 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
2940 CORBA::Double theD1, CORBA::Double theD2,
2941 GEOM::GEOM_List_ptr theEdges)
2943 beginService( " GEOM_Superv_i::MakeChamferEdges" );
2944 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
2945 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2946 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2948 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
2949 endService( " GEOM_Superv_i::MakeChamferEdges" );
2952 endService( " GEOM_Superv_i::MakeChamferEdges" );
2956 //=============================================================================
2957 // MakeChamferEdgesAD:
2958 //=============================================================================
2959 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
2960 CORBA::Double theD, CORBA::Double theAngle,
2961 GEOM::GEOM_List_ptr theEdges)
2963 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2964 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
2965 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2966 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2968 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
2969 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2972 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2976 //=============================================================================
2978 //=============================================================================
2979 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2980 CORBA::Double theWeight,
2981 CORBA::Double theWaterDensity,
2982 CORBA::Double theMeshingDeflection)
2984 beginService( " GEOM_Superv_i::MakeArchimede" );
2985 MESSAGE("GEOM_Superv_i::MakeArchimede");
2987 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2988 endService( " GEOM_Superv_i::MakeArchimede" );
2992 //=============================================================================
2993 // GetSubShapeIndexMakeFilletAll:
2994 //=============================================================================
2995 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2996 GEOM::GEOM_Object_ptr theSubShape)
2998 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2999 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3001 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3002 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3006 //=============================== GroupOperations =============================
3007 //=============================================================================
3009 //=============================================================================
3010 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3011 CORBA::Long theShapeType)
3013 beginService( " GEOM_Superv_i::CreateGroup" );
3014 MESSAGE("GEOM_Superv_i::CreateGroup");
3016 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3017 endService( " GEOM_Superv_i::CreateGroup" );
3021 //=============================================================================
3023 //=============================================================================
3024 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3025 CORBA::Long theSubShapeId)
3027 beginService( " GEOM_Superv_i::AddObject" );
3028 MESSAGE("GEOM_Superv_i::AddObject");
3030 myGroupOp->AddObject(theGroup, theSubShapeId);
3031 endService( " GEOM_Superv_i::AddObject" );
3034 //=============================================================================
3036 //=============================================================================
3037 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3038 CORBA::Long theSubShapeId)
3040 beginService( " GEOM_Superv_i::RemoveObject" );
3041 MESSAGE("GEOM_Superv_i::RemoveObject");
3043 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3044 endService( " GEOM_Superv_i::RemoveObject" );
3047 //=============================================================================
3049 //=============================================================================
3050 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3052 beginService( " GEOM_Superv_i::GetType" );
3053 MESSAGE("GEOM_Superv_i::GetType");
3055 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3056 endService( " GEOM_Superv_i::GetType" );
3060 //=============================================================================
3062 //=============================================================================
3063 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3065 beginService( " GEOM_Superv_i::GetMainShape" );
3066 MESSAGE("GEOM_Superv_i::GetMainShape");
3068 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3069 endService( " GEOM_Superv_i::GetMainShape" );
3073 //=============================================================================
3075 //=============================================================================
3076 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3078 beginService( " GEOM_Superv_i::GetObjects" );
3079 MESSAGE("GEOM_Superv_i::GetObjects");
3082 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3083 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3084 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3085 endService( " GEOM_Superv_i::GetObjects" );
3086 return aListPtr->_this();
3089 //=====================================================================================
3091 //=====================================================================================
3094 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3095 PortableServer::POA_ptr poa,
3096 PortableServer::ObjectId * contId,
3097 const char *instanceName,
3098 const char * interfaceName)
3100 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3101 //Don't understand the reason why this component is registered ???
3102 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3103 return myGEOM_Superv_i->getId() ;