1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #include "GEOM_Superv_i.hh"
22 #include "SALOME_LifeCycleCORBA.hxx"
24 #include CORBA_SERVER_HEADER(SALOME_Session)
25 #include "SALOMEDSClient_ClientFactory.hxx"
27 #define isNewStudy(a,b) (a > 0 && a != b)
30 //=============================================================================
32 //=============================================================================
33 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
34 PortableServer::POA_ptr poa,
35 PortableServer::ObjectId * contId,
36 const char *instanceName,
37 const char *interfaceName) :
38 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
40 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
43 _id = _poa->activate_object(_thisObj);
44 name_service = new SALOME_NamingService(_orb);
45 //get RootPOA (the default)
46 //myPOA = PortableServer::RefCountServantBase::_default_POA();
47 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
48 myPOA = PortableServer::POA::_narrow(anObj);
55 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
56 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
57 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
58 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
59 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
60 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
61 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
62 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
63 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
64 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
67 //=============================================================================
69 //=============================================================================
70 GEOM_Superv_i::~GEOM_Superv_i()
72 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
76 //============================================================================
77 // function : register()
78 // purpose : register 'name' in 'name_service'
79 //============================================================================
80 void GEOM_Superv_i::register_name(char * name)
82 GEOM::GEOM_Superv_ptr g = GEOM::GEOM_Superv::_narrow(POA_GEOM::GEOM_Superv::_this());
83 name_service->Register(g, strdup(name));
86 //=============================================================================
88 //=============================================================================
89 void GEOM_Superv_i::setGeomEngine()
91 // get GEOM_Gen engine
92 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
93 Engines::Component_var comp = lcc->FindOrLoad_Component( "FactoryServer", "GEOM" );
95 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
98 //=============================================================================
100 //=============================================================================
101 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
103 // mkr : PAL10770 -->
104 myLastStudyID = myStudyID;
106 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
107 if ( !CORBA::is_nil(anObject) ) {
108 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
109 if ( !CORBA::is_nil(aSession) ) {
110 int aStudyID = aSession->GetActiveStudyId();
111 if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128
112 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
113 myStudyID = aStudyID;
116 myStudyID = theId; // mkr : IPAL12128
120 if ( isNewStudy(myLastStudyID,myStudyID) ) {
121 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
122 string anEngine = _orb->object_to_string( myGeomEngine );
124 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
125 if ( !CORBA::is_nil(anObj) ) {
126 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
127 if ( !CORBA::is_nil(aStudyManager) ) {
128 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
130 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
132 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
133 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
139 // mkr : PAL10770 <--
142 //=============================================================================
144 //=============================================================================
145 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
147 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
148 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
149 return aListPtr->_this();
152 //=============================================================================
153 // AddItemToListOfGO:
154 //=============================================================================
155 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
156 GEOM::GEOM_Object_ptr theObject)
158 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
159 if (GEOM_List_i<GEOM::ListOfGO>* aList =
160 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
161 aList->AddObject(theObject);
162 MESSAGE(" NewLength = "<<aList->GetList().length());
166 //=============================================================================
168 //=============================================================================
169 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
171 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
172 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
173 return aListPtr->_this();
176 //=============================================================================
177 // AddItemToListOfLong:
178 //=============================================================================
179 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
180 CORBA::Long theObject)
182 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
183 if (GEOM_List_i<GEOM::ListOfLong>* aList =
184 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
185 aList->AddObject(theObject);
186 MESSAGE(" NewLength = "<<aList->GetList().length());
190 //=============================================================================
191 // CreateListOfDouble:
192 //=============================================================================
193 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
195 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
196 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
197 return aListPtr->_this();
200 //=============================================================================
201 // AddItemToListOfDouble:
202 //=============================================================================
203 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
204 CORBA::Double theObject)
206 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
207 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
208 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
209 aList->AddObject(theObject);
210 MESSAGE(" NewLength = "<<aList->GetList().length());
214 //=============================================================================
216 //=============================================================================
217 void GEOM_Superv_i::getBasicOp()
219 if (CORBA::is_nil(myGeomEngine))
221 // get GEOM_IBasicOperations interface
222 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID))
223 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
226 //=============================================================================
228 //=============================================================================
229 void GEOM_Superv_i::get3DPrimOp()
231 if (CORBA::is_nil(myGeomEngine))
233 // get GEOM_I3DPrimOperations interface
234 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID))
235 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
238 //=============================================================================
240 //=============================================================================
241 void GEOM_Superv_i::getBoolOp()
243 if (CORBA::is_nil(myGeomEngine))
245 // get GEOM_IBooleanOperations interface
246 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID))
247 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
250 //=============================================================================
252 //=============================================================================
253 void GEOM_Superv_i::getInsOp()
255 if (CORBA::is_nil(myGeomEngine))
257 // get GEOM_IInsertOperations interface
258 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID))
259 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
262 //=============================================================================
264 //=============================================================================
265 void GEOM_Superv_i::getTransfOp()
267 if (CORBA::is_nil(myGeomEngine))
269 // get GEOM_ITransformOperations interface
270 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID))
271 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
274 //=============================================================================
276 //=============================================================================
277 void GEOM_Superv_i::getShapesOp()
279 if (CORBA::is_nil(myGeomEngine))
281 // get GEOM_IShapesOperations interface
282 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID))
283 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
286 //=============================================================================
288 //=============================================================================
289 void GEOM_Superv_i::getBlocksOp()
291 if (CORBA::is_nil(myGeomEngine))
293 // get GEOM_IBlocksOperations interface
294 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID))
295 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
298 //=============================================================================
300 //=============================================================================
301 void GEOM_Superv_i::getCurvesOp()
303 if (CORBA::is_nil(myGeomEngine))
305 // get GEOM_ICurvesOperations interface
306 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID))
307 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
310 //=============================================================================
312 //=============================================================================
313 void GEOM_Superv_i::getLocalOp()
315 if (CORBA::is_nil(myGeomEngine))
317 // get GEOM_ILocalOperations interface
318 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID))
319 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
322 //=============================================================================
324 //=============================================================================
325 void GEOM_Superv_i::getGroupOp()
327 if (CORBA::is_nil(myGeomEngine))
329 // get GEOM_IGroupOperations interface
330 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
331 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
334 //=============================================================================
336 //=============================================================================
337 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
338 PortableServer::POA_ptr thePOA)
340 if(CORBA::is_nil(theObject)) return NULL;
341 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
345 //============================================================================
347 // purpose : save OCAF/Geom document
348 //============================================================================
349 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
351 CORBA::Boolean isMultiFile)
353 SALOMEDS::TMPFile_var aStreamFile;
354 return aStreamFile._retn();
357 //============================================================================
358 // function : SaveASCII()
360 //============================================================================
361 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
363 CORBA::Boolean isMultiFile)
365 SALOMEDS::TMPFile_var aStreamFile;
366 return aStreamFile._retn();
369 //============================================================================
372 //============================================================================
373 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
374 const SALOMEDS::TMPFile& theStream,
376 CORBA::Boolean isMultiFile)
381 //============================================================================
382 // function : LoadASCII()
384 //============================================================================
385 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
386 const SALOMEDS::TMPFile& theStream,
388 CORBA::Boolean isMultiFile)
393 //============================================================================
394 // function : Close()
396 //============================================================================
397 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
401 //============================================================================
402 // function : ComponentDataType()
404 //============================================================================
405 char* GEOM_Superv_i::ComponentDataType()
410 //============================================================================
411 // function : IORToLocalPersistentID()
413 //============================================================================
414 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
415 const char* IORString,
416 CORBA::Boolean isMultiFile,
417 CORBA::Boolean isASCII)
422 //============================================================================
423 // function : LocalPersistentIDToIOR()
424 // purpose : Create/Load CORBA object from a persistent ref (an entry)
425 // : Used when a study is loaded
426 // : The IOR (IORName) of object created is returned
427 //============================================================================
428 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
429 const char* aLocalPersistentID,
430 CORBA::Boolean isMultiFile,
431 CORBA::Boolean isASCII)
436 //============================================================================
437 // function : CanPublishInStudy
439 //============================================================================
440 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
442 if (CORBA::is_nil(myGeomEngine))
444 return myGeomEngine->CanPublishInStudy(theIOR);
447 //============================================================================
448 // function : PublishInStudy
450 //============================================================================
451 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
452 SALOMEDS::SObject_ptr theSObject,
453 CORBA::Object_ptr theObject,
454 const char* theName) throw (SALOME::SALOME_Exception)
456 if (CORBA::is_nil(myGeomEngine))
458 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
461 //============================================================================
462 // function : CanCopy()
464 //============================================================================
465 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
470 //============================================================================
471 // function : CopyFrom()
473 //============================================================================
474 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
476 SALOMEDS::TMPFile_var aStreamFile;
477 return aStreamFile._retn();
480 //============================================================================
481 // function : CanPaste()
483 //============================================================================
484 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
489 //============================================================================
490 // function : PasteInto()
492 //============================================================================
493 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
494 CORBA::Long theObjectID,
495 SALOMEDS::SObject_ptr theObject)
497 SALOMEDS::SObject_var aNewSO;
498 return aNewSO._retn();
501 //================= Primitives Construction : BasicOperations =================
502 //=============================================================================
504 //=============================================================================
505 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
509 beginService( " GEOM_Superv_i::MakePointXYZ" );
510 MESSAGE("GEOM_Superv_i::MakePointXYZ");
512 // make vertex and return
513 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
514 endService( " GEOM_Superv_i::MakePointXYZ" );
518 //=============================================================================
519 // MakePointWithReference:
520 //=============================================================================
521 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
526 beginService( " GEOM_Superv_i::MakePointWithReference" );
527 MESSAGE("GEOM_Superv_i::MakePointWithReference");
529 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
530 endService( " GEOM_Superv_i::MakePointWithReference" );
534 //=============================================================================
536 //=============================================================================
537 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
538 CORBA::Double theParameter)
540 beginService( " GEOM_Superv_i::MakePointOnCurve" );
541 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
543 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
544 endService( " GEOM_Superv_i::MakePointOnCurve" );
548 //=============================================================================
549 // MakeTangentOnCurve:
550 //=============================================================================
551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
552 CORBA::Double theParameter)
554 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
555 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
557 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
558 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
562 //=============================================================================
564 //=============================================================================
565 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
569 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
570 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
572 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
573 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
577 //=============================================================================
579 //=============================================================================
580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
581 GEOM::GEOM_Object_ptr thePnt2)
583 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
584 MESSAGE("GEOM_Superv_i::MakeVector");
586 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
587 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
591 //=============================================================================
593 //=============================================================================
594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
595 GEOM::GEOM_Object_ptr thePnt2)
597 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
598 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
600 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
601 endService( " GEOM_Superv_i::MakeLineTwoPnt");
605 //=============================================================================
606 // MakePlaneThreePnt:
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
609 GEOM::GEOM_Object_ptr thePnt2,
610 GEOM::GEOM_Object_ptr thePnt3,
611 CORBA::Double theTrimSize)
613 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
614 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
616 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
617 endService( " GEOM_Superv_i::MakePlaneThreePnt");
621 //=============================================================================
623 //=============================================================================
624 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
625 GEOM::GEOM_Object_ptr theVec,
626 CORBA::Double theTrimSize)
628 beginService( " GEOM_Superv_i::MakePlanePntVec" );
629 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
631 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
632 endService( " GEOM_Superv_i::MakePlanePntVec" );
636 //=============================================================================
638 //=============================================================================
639 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
640 CORBA::Double theTrimSize)
642 beginService( " GEOM_Superv_i::MakePlaneFace" );
643 MESSAGE("GEOM_Superv_i::MakePlaneFace");
645 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
646 endService( " GEOM_Superv_i::MakePlaneFace" );
650 //=============================================================================
652 //=============================================================================
653 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
654 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
655 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
656 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
658 beginService( " GEOM_Superv_i::MakeMarker" );
659 MESSAGE("GEOM_Superv_i::MakeMarker");
661 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
662 endService( " GEOM_Superv_i::MakeMarker" );
666 //=============================================================================
667 // MakeTangentPlaneOnFace:
668 //=============================================================================
669 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
670 CORBA::Double theParameterU,
671 CORBA::Double theParameterV,
672 CORBA::Double theTrimSize)
674 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
675 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
677 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
678 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
682 //================= Primitives Construction : 3DPrimOperations ================
683 //=============================================================================
685 //=============================================================================
686 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
693 beginService( " GEOM_Superv_i::MakeBox" );
694 MESSAGE("GEOM_Superv_i::MakeBox");
697 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
698 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
699 endService( " GEOM_Superv_i::MakeBox" );
703 //=============================================================================
705 //=============================================================================
706 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
710 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
711 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
713 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
714 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
718 //=============================================================================
720 //=============================================================================
721 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
722 GEOM::GEOM_Object_ptr thePnt2)
724 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
725 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
727 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
728 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
732 //=============================================================================
733 // MakeCylinderPntVecRH:
734 //=============================================================================
735 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
736 GEOM::GEOM_Object_ptr theAxis,
737 CORBA::Double theRadius,
738 CORBA::Double theHeight)
740 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
741 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
743 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
744 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
748 //=============================================================================
750 //=============================================================================
751 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
754 beginService( " GEOM_Superv_i::MakeCylinderRH" );
755 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
757 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
758 endService( " GEOM_Superv_i::MakeCylinderRH" );
762 //=============================================================================
764 //=============================================================================
765 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
768 CORBA::Double theRadius)
770 beginService( " GEOM_Superv_i::MakeSphepe" );
771 MESSAGE("GEOM_Superv_i::MakeSphepe");
774 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
775 endService( " GEOM_Superv_i::MakeSphepe" );
779 //=============================================================================
781 //=============================================================================
782 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
784 beginService( " GEOM_Superv_i::MakeSphereR" );
785 MESSAGE("GEOM_Superv_i::MakeSphereR");
787 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
788 endService( " GEOM_Superv_i::MakeSphereR" );
792 //=============================================================================
794 //=============================================================================
795 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
798 beginService( " GEOM_Superv_i::MakeSpherePntR" );
799 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
801 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
802 endService( " GEOM_Superv_i::MakeSpherePntR" );
806 //=============================================================================
807 // MakeTorusPntVecRR:
808 //=============================================================================
809 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
810 GEOM::GEOM_Object_ptr theVec,
811 CORBA::Double theRMajor,
812 CORBA::Double theRMinor)
814 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
815 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
817 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
818 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
822 //=============================================================================
824 //=============================================================================
825 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
826 CORBA::Double theRMinor)
828 beginService( " GEOM_Superv_i::MakeTorusRR" );
829 MESSAGE("GEOM_Superv_i::MakeTorusRR");
831 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
832 endService( " GEOM_Superv_i::MakeTorusRR" );
836 //=============================================================================
837 // MakeConePntVecR1R2H:
838 //=============================================================================
839 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
840 GEOM::GEOM_Object_ptr theAxis,
843 CORBA::Double theHeight)
845 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
846 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
848 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
849 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
853 //=============================================================================
855 //=============================================================================
856 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
858 CORBA::Double theHeight)
860 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
861 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
863 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
864 endService( " GEOM_Superv_i::MakeConeR1R2H" );
868 //=============================================================================
870 //=============================================================================
871 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
872 GEOM::GEOM_Object_ptr theVec,
875 beginService( " GEOM_Superv_i::MakePrismVecH" );
876 MESSAGE("GEOM_Superv_i::MakePrismVecH");
878 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
879 endService( " GEOM_Superv_i::MakePrismVecH" );
884 //=============================================================================
886 //=============================================================================
887 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
888 GEOM::GEOM_Object_ptr thePoint1,
889 GEOM::GEOM_Object_ptr thePoint2)
891 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
892 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
894 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
895 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
899 //=============================================================================
901 //=============================================================================
902 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
903 GEOM::GEOM_Object_ptr thePath)
905 beginService( " GEOM_Superv_i::MakePipe" );
906 MESSAGE("GEOM_Superv_i::MakePipe");
908 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
909 endService( " GEOM_Superv_i::MakePipe" );
913 //=============================================================================
914 // MakeRevolutionAxisAngle:
915 //=============================================================================
916 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
917 GEOM::GEOM_Object_ptr theAxis,
918 CORBA::Double theAngle)
920 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
921 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
923 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
924 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
928 //=============================================================================
930 //=============================================================================
931 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
932 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
933 CORBA::Double theTol2D, CORBA::Double theTol3D,
934 CORBA::Long theNbIter)
936 beginService( " GEOM_Superv_i::MakeFilling" );
937 MESSAGE("GEOM_Superv_i::MakeFilling");
939 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
940 endService( " GEOM_Superv_i::MakeFilling" );
944 //============================= BooleanOperations =============================
945 //=============================================================================
947 //=============================================================================
948 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
949 GEOM::GEOM_Object_ptr theShape2,
950 CORBA::Long theOperation)
952 beginService( " GEOM_Superv_i::MakeBoolean" );
953 // theOperation indicates the operation to be done:
954 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
955 MESSAGE("GEOM_Superv_i::MakeBoolean");
957 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
958 endService( " GEOM_Superv_i::MakeBoolean" );
962 //=============================================================================
964 //=============================================================================
965 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
966 CORBA::Boolean theModeSolid,
967 CORBA::Double thePreci,
968 CORBA::Boolean theRuled)
970 beginService( " GEOM_Superv_i::MakeThruSections" );
971 MESSAGE("GEOM_Superv_i::MakeThruSections");
973 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
974 endService( " GEOM_Superv_i::MakeThruSections" );
978 //=============================================================================
980 //=============================================================================
981 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
982 (const GEOM::ListOfGO& theBases,
983 const GEOM::ListOfGO& theLocations,
984 GEOM::GEOM_Object_ptr thePath,
985 CORBA::Boolean theWithContact,
986 CORBA::Boolean theWithCorrections)
988 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
989 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
991 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
992 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
997 //=============================================================================
999 //=============================================================================
1000 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1001 (const GEOM::ListOfGO& theBases,
1002 const GEOM::ListOfGO& theSubBases,
1003 const GEOM::ListOfGO& theLocations,
1004 GEOM::GEOM_Object_ptr thePath,
1005 CORBA::Boolean theWithContact,
1006 CORBA::Boolean theWithCorrections)
1008 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1009 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1011 GEOM::GEOM_Object_ptr anObj =
1012 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1013 theLocations, thePath,
1014 theWithContact, theWithCorrections);
1015 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1020 //=============================================================================
1022 //=============================================================================
1023 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1024 GEOM::GEOM_Object_ptr theShape2)
1026 beginService( " GEOM_Superv_i::MakeFuse" );
1027 MESSAGE("GEOM_Superv_i::MakeFuse");
1029 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1030 endService( " GEOM_Superv_i::MakeFuse" );
1034 //=============================================================================
1036 //=============================================================================
1037 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1038 GEOM::GEOM_List_ptr theTools,
1039 GEOM::GEOM_List_ptr theKeepInside,
1040 GEOM::GEOM_List_ptr theRemoveInside,
1041 CORBA::Short theLimit,
1042 CORBA::Boolean theRemoveWebs,
1043 GEOM::GEOM_List_ptr theMaterials)
1045 beginService( " GEOM_Superv_i::MakePartition" );
1046 MESSAGE("GEOM_Superv_i::MakePartition");
1047 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1048 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1049 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1050 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1051 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1052 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1053 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1054 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1055 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1056 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1057 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1059 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1060 aListImplKI->GetList(), aListImplRI->GetList(),
1061 theLimit, theRemoveWebs, aListImplM->GetList());
1062 endService( " GEOM_Superv_i::MakePartition" );
1065 endService( " GEOM_Superv_i::MakePartition" );
1069 //=============================================================================
1070 // MakeHalfPartition:
1071 //=============================================================================
1072 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1073 GEOM::GEOM_Object_ptr thePlane)
1075 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1076 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1078 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1079 endService( " GEOM_Superv_i::MakeHalfPartition" );
1083 //============================== InsertOperations =============================
1084 //=============================================================================
1086 //=============================================================================
1087 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1089 beginService( " GEOM_Superv_i::MakeCopy" );
1090 MESSAGE("GEOM_Superv_i::MakeCopy");
1092 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1093 endService( " GEOM_Superv_i::MakeCopy" );
1097 //=============================================================================
1099 //=============================================================================
1100 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1101 const char* theFileName,
1102 const char* theFormatName)
1104 beginService( " GEOM_Superv_i::Export" );
1105 MESSAGE("GEOM_Superv_i::Export");
1107 myInsOp->Export(theObject, theFileName, theFormatName);
1108 endService( " GEOM_Superv_i::Export" );
1111 //=============================================================================
1113 //=============================================================================
1114 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1115 const char* theFormatName)
1117 beginService( " GEOM_Superv_i::Import" );
1118 MESSAGE("GEOM_Superv_i::Import");
1120 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1121 endService( " GEOM_Superv_i::Import" );
1125 //=============================================================================
1126 // ImportTranslators:
1127 //=============================================================================
1128 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1129 GEOM::string_array_out thePatterns)
1131 beginService( " GEOM_Superv_i::ImportTranslators" );
1132 MESSAGE("GEOM_Superv_i::ImportTranslators");
1134 myInsOp->ImportTranslators(theFormats, thePatterns);
1135 endService( " GEOM_Superv_i::ImportTranslators" );
1138 //=============================================================================
1139 // ExportTranslators:
1140 //=============================================================================
1141 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1142 GEOM::string_array_out thePatterns)
1144 beginService( " GEOM_Superv_i::ExportTranslators" );
1145 MESSAGE("GEOM_Superv_i::ExportTranslators");
1147 myInsOp->ExportTranslators(theFormats, thePatterns);
1148 endService( " GEOM_Superv_i::ExportTranslators" );
1151 //============================= TransformOperations ===========================
1152 //=============================================================================
1153 // TranslateTwoPoints:
1154 //=============================================================================
1155 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1156 GEOM::GEOM_Object_ptr thePoint1,
1157 GEOM::GEOM_Object_ptr thePoint2)
1159 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1160 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1162 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1163 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1167 //=============================================================================
1168 // TranslateTwoPointsCopy:
1169 //=============================================================================
1170 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1171 GEOM::GEOM_Object_ptr thePoint1,
1172 GEOM::GEOM_Object_ptr thePoint2)
1174 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1175 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1177 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1178 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1182 //=============================================================================
1184 //=============================================================================
1185 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1186 CORBA::Double theDX,
1187 CORBA::Double theDY,
1188 CORBA::Double theDZ)
1190 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1191 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1193 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1194 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1198 //=============================================================================
1199 // TranslateDXDYDZCopy:
1200 //=============================================================================
1201 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1202 CORBA::Double theDX,
1203 CORBA::Double theDY,
1204 CORBA::Double theDZ)
1206 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1207 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1209 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1210 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1214 //=============================================================================
1216 //=============================================================================
1217 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1218 GEOM::GEOM_Object_ptr theVector)
1220 beginService( " GEOM_Superv_i::TranslateVector" );
1221 MESSAGE("GEOM_Superv_i::TranslateVector");
1223 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1224 endService( " GEOM_Superv_i::TranslateVector" );
1228 //=============================================================================
1229 // TranslateVectorCopy:
1230 //=============================================================================
1231 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1232 GEOM::GEOM_Object_ptr theVector)
1234 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1235 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1237 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1238 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1242 //=============================================================================
1243 // MultiTranslate1D:
1244 //=============================================================================
1245 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1246 GEOM::GEOM_Object_ptr theVector,
1247 CORBA::Double theStep,
1248 CORBA::Long theNbTimes)
1250 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1251 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1253 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1254 endService( " GEOM_Superv_i::MultiTranslate1D" );
1258 //=============================================================================
1259 // MultiTranslate2D:
1260 //=============================================================================
1261 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1262 GEOM::GEOM_Object_ptr theVector1,
1263 CORBA::Double theStep1,
1264 CORBA::Long theNbTimes1,
1265 GEOM::GEOM_Object_ptr theVector2,
1266 CORBA::Double theStep2,
1267 CORBA::Long theNbTimes2)
1269 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1270 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1272 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1273 theVector2, theStep2, theNbTimes2);
1274 endService( " GEOM_Superv_i::MultiTranslate2D" );
1278 //=============================================================================
1280 //=============================================================================
1281 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1282 GEOM::GEOM_Object_ptr theAxis,
1283 CORBA::Double theAngle)
1285 beginService( " GEOM_Superv_i::Rotate" );
1286 MESSAGE("GEOM_Superv_i::Rotate");
1288 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1289 endService( " GEOM_Superv_i::Rotate" );
1293 //=============================================================================
1295 //=============================================================================
1296 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1297 GEOM::GEOM_Object_ptr theAxis,
1298 CORBA::Double theAngle)
1300 beginService( " GEOM_Superv_i::RotateCopy" );
1301 MESSAGE("GEOM_Superv_i::RotateCopy");
1303 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1304 endService( " GEOM_Superv_i::RotateCopy" );
1307 //=============================================================================
1308 // RotateThreePoints:
1309 //=============================================================================
1310 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1311 GEOM::GEOM_Object_ptr theCentPoint,
1312 GEOM::GEOM_Object_ptr thePoint1,
1313 GEOM::GEOM_Object_ptr thePoint2)
1315 beginService( " GEOM_Superv_i::RotateThreePoints" );
1316 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1318 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1319 endService( " GEOM_Superv_i::RotateThreePoints" );
1323 //=============================================================================
1324 // RotateThreePointsCopy:
1325 //=============================================================================
1326 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1327 GEOM::GEOM_Object_ptr theCentPoint,
1328 GEOM::GEOM_Object_ptr thePoint1,
1329 GEOM::GEOM_Object_ptr thePoint2)
1331 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1332 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1334 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1335 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1339 //=============================================================================
1341 //=============================================================================
1342 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1343 GEOM::GEOM_Object_ptr theAxis,
1344 CORBA::Long theNbTimes)
1346 beginService( " GEOM_Superv_i::MultiRotate1D" );
1347 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1349 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1350 endService( " GEOM_Superv_i::MultiRotate1D" );
1354 //=============================================================================
1356 //=============================================================================
1357 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1358 GEOM::GEOM_Object_ptr theAxis,
1359 CORBA::Double theAngle,
1360 CORBA::Long theNbTimes1,
1361 CORBA::Double theStep,
1362 CORBA::Long theNbTimes2)
1364 beginService( " GEOM_Superv_i::MultiRotate2D" );
1365 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1367 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1368 endService( " GEOM_Superv_i::MultiRotate2D" );
1372 //=============================================================================
1374 //=============================================================================
1375 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1376 GEOM::GEOM_Object_ptr thePlane)
1378 beginService( " GEOM_Superv_i::MirrorPlane" );
1379 MESSAGE("GEOM_Superv_i::MirrorPlane");
1381 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1382 endService( " GEOM_Superv_i::MirrorPlane" );
1386 //=============================================================================
1388 //=============================================================================
1389 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1390 GEOM::GEOM_Object_ptr thePlane)
1392 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1393 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1395 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1396 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1400 //=============================================================================
1402 //=============================================================================
1403 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1404 GEOM::GEOM_Object_ptr theAxis)
1406 beginService( " GEOM_Superv_i::MirrorAxis" );
1407 MESSAGE("GEOM_Superv_i::MirrorAxis");
1409 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1410 endService( " GEOM_Superv_i::MirrorAxis" );
1414 //=============================================================================
1416 //=============================================================================
1417 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1418 GEOM::GEOM_Object_ptr theAxis)
1420 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1421 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1423 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1424 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1428 //=============================================================================
1430 //=============================================================================
1431 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1432 GEOM::GEOM_Object_ptr thePoint)
1434 beginService( " GEOM_Superv_i::MirrorPoint" );
1435 MESSAGE("GEOM_Superv_i::MirrorPoint");
1437 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1438 endService( " GEOM_Superv_i::MirrorPoint" );
1442 //=============================================================================
1444 //=============================================================================
1445 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1446 GEOM::GEOM_Object_ptr thePoint)
1448 beginService( " GEOM_Superv_i::MirrorPoint" );
1449 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1451 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1452 endService( " GEOM_Superv_i::MirrorPoint" );
1456 //=============================================================================
1458 //=============================================================================
1459 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1460 CORBA::Double theOffset)
1462 beginService( " GEOM_Superv_i::OffsetShape" );
1463 MESSAGE("GEOM_Superv_i::OffsetShape");
1465 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1466 endService( " GEOM_Superv_i::OffsetShape" );
1470 //=============================================================================
1472 //=============================================================================
1473 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1474 CORBA::Double theOffset)
1476 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1477 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1479 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1480 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1484 //=============================================================================
1486 //=============================================================================
1487 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1488 GEOM::GEOM_Object_ptr thePoint,
1489 CORBA::Double theFactor)
1491 beginService( " GEOM_Superv_i::ScaleShape" );
1492 MESSAGE("GEOM_Superv_i::ScaleShape");
1494 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1495 endService( " GEOM_Superv_i::ScaleShape" );
1499 //=============================================================================
1501 //=============================================================================
1502 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1503 GEOM::GEOM_Object_ptr thePoint,
1504 CORBA::Double theFactor)
1506 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1507 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1509 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1510 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1514 //=============================================================================
1516 //=============================================================================
1517 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1518 GEOM::GEOM_Object_ptr theStartLCS,
1519 GEOM::GEOM_Object_ptr theEndLCS)
1521 beginService( " GEOM_Superv_i::PositionShape" );
1522 MESSAGE("GEOM_Superv_i::PositionShape");
1524 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1525 endService( " GEOM_Superv_i::PositionShape" );
1529 //=============================================================================
1530 // PositionShapeCopy:
1531 //=============================================================================
1532 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1533 GEOM::GEOM_Object_ptr theStartLCS,
1534 GEOM::GEOM_Object_ptr theEndLCS)
1536 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1537 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1539 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1540 endService( " GEOM_Superv_i::PositionShapeCopy" );
1544 //=============================== ShapesOperations ============================
1545 //=============================================================================
1547 //=============================================================================
1548 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1549 GEOM::GEOM_Object_ptr thePnt2)
1551 beginService( " GEOM_Superv_i::MakeEdge" );
1552 MESSAGE("GEOM_Superv_i::MakeEdge");
1554 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1555 endService( " GEOM_Superv_i::MakeEdge" );
1559 //=============================================================================
1561 //=============================================================================
1562 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1564 beginService( " GEOM_Superv_i::MakeWire" );
1565 MESSAGE("GEOM_Superv_i::MakeWire");
1566 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1567 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1569 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
1570 endService( " GEOM_Superv_i::MakeWire" );
1573 endService( " GEOM_Superv_i::MakeWire" );
1577 //=============================================================================
1579 //=============================================================================
1580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1581 CORBA::Boolean isPlanarWanted)
1583 beginService( " GEOM_Superv_i::MakeFace" );
1584 MESSAGE("GEOM_Superv_i::MakeFace");
1586 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1587 endService( " GEOM_Superv_i::MakeFace" );
1591 //=============================================================================
1593 //=============================================================================
1594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1595 CORBA::Boolean isPlanarWanted)
1597 beginService( " GEOM_Superv_i::MakeFaceWires" );
1598 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1599 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1600 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1602 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1603 endService( " GEOM_Superv_i::MakeFaceWires" );
1606 endService( " GEOM_Superv_i::MakeFaceWires" );
1610 //=============================================================================
1612 //=============================================================================
1613 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1615 beginService( " GEOM_Superv_i::MakeShell" );
1616 MESSAGE("GEOM_Superv_i::MakeShell");
1617 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1618 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1620 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1621 endService( " GEOM_Superv_i::MakeShell" );
1624 endService( " GEOM_Superv_i::MakeShell" );
1628 //=============================================================================
1630 //=============================================================================
1631 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1633 beginService( " GEOM_Superv_i::MakeSolidShell" );
1634 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1636 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1637 endService( " GEOM_Superv_i::MakeSolidShell" );
1641 //=============================================================================
1643 //=============================================================================
1644 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1646 beginService( " GEOM_Superv_i::MakeSolidShells" );
1647 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1648 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1649 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1651 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1652 endService( " GEOM_Superv_i::MakeSolidShells" );
1655 endService( " GEOM_Superv_i::MakeSolidShells" );
1659 //=============================================================================
1661 //=============================================================================
1662 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1664 beginService( " GEOM_Superv_i::MakeCompound" );
1665 MESSAGE("GEOM_Superv_i::MakeCompound");
1666 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1667 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1669 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
1670 endService( " GEOM_Superv_i::MakeCompound" );
1673 endService( " GEOM_Superv_i::MakeCompound" );
1677 //=============================================================================
1679 //=============================================================================
1680 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1681 CORBA::Double theTolerance)
1683 beginService( " GEOM_Superv_i::MakeGlueFaces" );
1684 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1686 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeGlueFaces(theShape, theTolerance);
1687 endService( " GEOM_Superv_i::MakeGlueFaces" );
1691 //=============================================================================
1693 //=============================================================================
1694 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
1695 CORBA::Double theTolerance)
1697 beginService( " GEOM_Superv_i::GetGlueFaces" );
1698 MESSAGE("GEOM_Superv_i::GetGlueFaces");
1700 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
1701 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1702 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1703 endService( " GEOM_Superv_i::GetGlueFaces" );
1704 return aListPtr->_this();
1707 //=============================================================================
1708 // MakeGlueFacesByList:
1709 //=============================================================================
1710 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
1711 CORBA::Double theTolerance,
1712 const GEOM::ListOfGO& theFaces)
1714 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
1715 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
1717 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces);
1718 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
1722 //=============================================================================
1724 //=============================================================================
1725 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
1726 CORBA::Long theShapeType,
1727 CORBA::Boolean isSorted)
1729 beginService( " GEOM_Superv_i::MakeExplode" );
1730 MESSAGE("GEOM_Superv_i::MakeExplode");
1733 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
1734 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1735 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1736 endService( " GEOM_Superv_i::MakeExplode" );
1737 return aListPtr->_this();
1740 //=============================================================================
1742 //=============================================================================
1743 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
1745 beginService( " GEOM_Superv_i::NumberOfFaces" );
1746 MESSAGE("GEOM_Superv_i::NumberOfFaces");
1748 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
1749 endService( " GEOM_Superv_i::NumberOfFaces" );
1753 //=============================================================================
1755 //=============================================================================
1756 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
1758 beginService( " GEOM_Superv_i::NumberOfEdges" );
1759 MESSAGE("GEOM_Superv_i::NumberOfEdges");
1761 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
1762 endService( " GEOM_Superv_i::NumberOfEdges" );
1766 //=============================================================================
1767 // ChangeOrientation:
1768 //=============================================================================
1769 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
1771 beginService( " GEOM_Superv_i::ChangeOrientation" );
1772 MESSAGE("GEOM_Superv_i::ChangeOrientation");
1774 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
1775 endService( " GEOM_Superv_i::ChangeOrientation" );
1780 //=============================== BlocksOperations ============================
1781 //=============================================================================
1782 // MakeQuad4Vertices:
1783 //=============================================================================
1784 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
1785 GEOM::GEOM_Object_ptr thePnt2,
1786 GEOM::GEOM_Object_ptr thePnt3,
1787 GEOM::GEOM_Object_ptr thePnt4)
1789 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
1790 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
1792 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
1793 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
1797 //=============================================================================
1799 //=============================================================================
1800 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
1801 GEOM::GEOM_Object_ptr theEdge2,
1802 GEOM::GEOM_Object_ptr theEdge3,
1803 GEOM::GEOM_Object_ptr theEdge4)
1805 beginService( " GEOM_Superv_i::MakeQuad" );
1806 MESSAGE("GEOM_Superv_i::MakeQuad");
1808 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
1809 endService( " GEOM_Superv_i::MakeQuad" );
1813 //=============================================================================
1815 //=============================================================================
1816 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
1817 GEOM::GEOM_Object_ptr theEdge2)
1819 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
1820 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
1822 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
1823 endService( " GEOM_Superv_i::MakeQuad2Edges" );
1827 //=============================================================================
1829 //=============================================================================
1830 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
1831 GEOM::GEOM_Object_ptr theFace2,
1832 GEOM::GEOM_Object_ptr theFace3,
1833 GEOM::GEOM_Object_ptr theFace4,
1834 GEOM::GEOM_Object_ptr theFace5,
1835 GEOM::GEOM_Object_ptr theFace6)
1837 beginService( " GEOM_Superv_i::MakeHexa" );
1838 MESSAGE("GEOM_Superv_i::MakeHexa");
1840 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
1841 endService( " GEOM_Superv_i::MakeHexa" );
1845 //=============================================================================
1847 //=============================================================================
1848 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
1849 GEOM::GEOM_Object_ptr theFace2)
1851 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
1852 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
1854 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
1855 endService( " GEOM_Superv_i::MakeHexa2Faces" );
1859 //=============================================================================
1861 //=============================================================================
1862 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
1866 CORBA::Double theEpsilon)
1868 beginService( " GEOM_Superv_i::GetPoint" );
1869 MESSAGE("GEOM_Superv_i::GetPoint");
1871 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
1872 endService( " GEOM_Superv_i::GetPoint" );
1876 //=============================================================================
1878 //=============================================================================
1879 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
1880 GEOM::GEOM_Object_ptr thePoint1,
1881 GEOM::GEOM_Object_ptr thePoint2)
1883 beginService( " GEOM_Superv_i::GetEdge" );
1884 MESSAGE("GEOM_Superv_i::GetEdge");
1886 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
1887 endService( " GEOM_Superv_i::GetEdge" );
1891 //=============================================================================
1892 // GetEdgeNearPoint:
1893 //=============================================================================
1894 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
1895 GEOM::GEOM_Object_ptr thePoint)
1897 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
1898 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
1900 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
1901 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
1905 //=============================================================================
1907 //=============================================================================
1908 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
1909 GEOM::GEOM_Object_ptr thePoint1,
1910 GEOM::GEOM_Object_ptr thePoint2,
1911 GEOM::GEOM_Object_ptr thePoint3,
1912 GEOM::GEOM_Object_ptr thePoint4)
1914 beginService( " GEOM_Superv_i::GetFaceByPoints" );
1915 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
1917 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
1918 endService( " GEOM_Superv_i::GetFaceByPoints" );
1922 //=============================================================================
1924 //=============================================================================
1925 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
1926 GEOM::GEOM_Object_ptr theEdge1,
1927 GEOM::GEOM_Object_ptr theEdge2)
1929 beginService( " GEOM_Superv_i::GetFaceByEdges" );
1930 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
1932 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
1933 endService( " GEOM_Superv_i::GetFaceByEdges" );
1937 //=============================================================================
1939 //=============================================================================
1940 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
1941 GEOM::GEOM_Object_ptr theFace)
1943 beginService( " GEOM_Superv_i::GetOppositeFace" );
1944 MESSAGE("GEOM_Superv_i::GetOppositeFace");
1946 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
1947 endService( " GEOM_Superv_i::GetOppositeFace" );
1951 //=============================================================================
1952 // GetFaceNearPoint:
1953 //=============================================================================
1954 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
1955 GEOM::GEOM_Object_ptr thePoint)
1957 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
1958 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
1960 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
1961 endService( " GEOM_Superv_i::GetFaceNearPoint" );
1965 //=============================================================================
1966 // GetFaceByNormale:
1967 //=============================================================================
1968 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
1969 GEOM::GEOM_Object_ptr theVector)
1971 beginService( " GEOM_Superv_i::GetFaceByNormale" );
1972 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
1974 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
1975 endService( " GEOM_Superv_i::GetFaceByNormale" );
1979 //=============================================================================
1980 // IsCompoundOfBlocks:
1981 //=============================================================================
1982 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
1983 CORBA::Long theMinNbFaces,
1984 CORBA::Long theMaxNbFaces,
1985 CORBA::Long& theNbBlocks)
1987 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
1988 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
1990 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
1991 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
1995 //=============================================================================
1996 // CheckCompoundOfBlocks:
1997 //=============================================================================
1998 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
1999 (GEOM::GEOM_Object_ptr theCompound,
2000 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2002 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2003 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2005 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2006 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2010 //=============================================================================
2012 //=============================================================================
2013 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2014 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2016 beginService( " GEOM_Superv_i::PrintBCErrors" );
2017 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2019 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2020 endService( " GEOM_Superv_i::PrintBCErrors" );
2024 //=============================================================================
2025 // ExplodeCompoundOfBlocks:
2026 //=============================================================================
2027 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2028 CORBA::Long theMinNbFaces,
2029 CORBA::Long theMaxNbFaces)
2031 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2032 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2034 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2035 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2036 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2037 return aListPtr->_this();
2040 //=============================================================================
2041 // GetBlockNearPoint:
2042 //=============================================================================
2043 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2044 GEOM::GEOM_Object_ptr thePoint)
2046 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2047 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2049 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2050 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2054 //=============================================================================
2056 //=============================================================================
2057 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2058 GEOM::GEOM_List_ptr theParts)
2060 beginService( " GEOM_Superv_i::GetBlockByParts" );
2061 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2062 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2063 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2065 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2066 endService( " GEOM_Superv_i::GetBlockByParts" );
2069 endService( " GEOM_Superv_i::GetBlockByParts" );
2073 //=============================================================================
2074 // GetBlocksByParts:
2075 //=============================================================================
2076 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2077 GEOM::GEOM_List_ptr theParts)
2079 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2080 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2081 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2082 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2085 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2086 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2087 endService( " GEOM_Superv_i::GetBlocksByParts" );
2088 return aListPtr->_this();
2090 endService( " GEOM_Superv_i::GetBlocksByParts" );
2094 //=============================================================================
2095 // MakeMultiTransformation1D:
2096 //=============================================================================
2097 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2098 CORBA::Long theDirFace1,
2099 CORBA::Long theDirFace2,
2100 CORBA::Long theNbTimes)
2102 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2103 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2105 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2106 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2110 //=============================================================================
2111 // MakeMultiTransformation2D:
2112 //=============================================================================
2113 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2114 (GEOM::GEOM_Object_ptr theBlock,
2115 CORBA::Long theDirFace1U,
2116 CORBA::Long theDirFace2U,
2117 CORBA::Long theNbTimesU,
2118 CORBA::Long theDirFace1V,
2119 CORBA::Long theDirFace2V,
2120 CORBA::Long theNbTimesV)
2122 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2123 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2125 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2126 theDirFace1U, theDirFace2U, theNbTimesU,
2127 theDirFace1V, theDirFace2V, theNbTimesV);
2128 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2132 //=============================== CurvesOperations ============================
2133 //=============================================================================
2134 // MakeCirclePntVecR:
2135 //=============================================================================
2136 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2137 GEOM::GEOM_Object_ptr theVector,
2140 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2141 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2143 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2144 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2148 //=============================================================================
2149 // MakeCircleThreePnt:
2150 //=============================================================================
2151 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2152 GEOM::GEOM_Object_ptr thePnt2,
2153 GEOM::GEOM_Object_ptr thePnt3)
2155 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2156 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2158 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2159 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2163 //=============================================================================
2165 //=============================================================================
2166 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2167 GEOM::GEOM_Object_ptr theVector,
2168 CORBA::Double theRMajor,
2169 CORBA::Double theRMinor)
2171 beginService( " GEOM_Superv_i::MakeEllipse" );
2172 MESSAGE("GEOM_Superv_i::MakeEllipse");
2174 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2175 endService( " GEOM_Superv_i::MakeEllipse" );
2179 //=============================================================================
2181 //=============================================================================
2182 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2183 GEOM::GEOM_Object_ptr thePnt2,
2184 GEOM::GEOM_Object_ptr thePnt3)
2186 beginService( " GEOM_Superv_i::MakeArc" );
2187 MESSAGE("GEOM_Superv_i::MakeArc");
2189 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2190 endService( " GEOM_Superv_i::MakeArc" );
2194 //=============================================================================
2196 //=============================================================================
2197 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2198 GEOM::GEOM_Object_ptr thePnt1,
2199 GEOM::GEOM_Object_ptr thePnt2,
2200 CORBA::Boolean theSense)
2202 beginService( " GEOM_Superv_i::MakeArcCenter" );
2203 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2205 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2206 endService( " GEOM_Superv_i::MakeArcCenter" );
2210 //=============================================================================
2212 //=============================================================================
2213 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2215 beginService( " GEOM_Superv_i::MakePolyline" );
2216 MESSAGE("GEOM_Superv_i::MakePolyline");
2217 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2218 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2220 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2221 endService( " GEOM_Superv_i::MakePolyline" );
2224 endService( " GEOM_Superv_i::MakePolyline" );
2228 //=============================================================================
2229 // MakeSplineBezier:
2230 //=============================================================================
2231 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2233 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2234 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2235 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2236 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2238 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2239 endService( " GEOM_Superv_i::MakeSplineBezier" );
2242 endService( " GEOM_Superv_i::MakeSplineBezier" );
2246 //=============================================================================
2247 // MakeSplineInterpolation:
2248 //=============================================================================
2249 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2251 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2252 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2253 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2254 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2256 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2257 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2260 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2264 //=============================================================================
2266 //=============================================================================
2267 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2268 GEOM::GEOM_List_ptr theWorkingPlane)
2270 beginService( " GEOM_Superv_i::MakeSketcher" );
2271 MESSAGE("GEOM_Superv_i::MakeSketcher");
2272 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2273 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2275 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2276 endService( " GEOM_Superv_i::MakeSketcher" );
2279 endService( " GEOM_Superv_i::MakeSketcher" );
2283 //=============================== LocalOperations =============================
2284 //=============================================================================
2286 //=============================================================================
2287 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2290 beginService( " GEOM_Superv_i::MakeFilletAll" );
2291 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2293 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2294 endService( " GEOM_Superv_i::MakeFilletAll" );
2298 //=============================================================================
2300 //=============================================================================
2301 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2303 GEOM::GEOM_List_ptr theEdges)
2305 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2306 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2307 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2308 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2310 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2311 endService( " GEOM_Superv_i::MakeFilletEdges" );
2314 endService( " GEOM_Superv_i::MakeFilletEdges" );
2318 //=============================================================================
2320 //=============================================================================
2321 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2323 GEOM::GEOM_List_ptr theFaces)
2325 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2326 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2327 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2328 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2330 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2331 endService( " GEOM_Superv_i::MakeFilletFaces" );
2334 endService( " GEOM_Superv_i::MakeFilletFaces" );
2338 //=============================================================================
2340 //=============================================================================
2341 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2343 beginService( " GEOM_Superv_i::MakeChamferAll" );
2344 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2346 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2347 endService( " GEOM_Superv_i::MakeChamferAll" );
2351 //=============================================================================
2353 //=============================================================================
2354 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2355 CORBA::Double theD1, CORBA::Double theD2,
2356 CORBA::Long theFace1, CORBA::Long theFace2)
2358 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2359 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2361 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2362 endService( " GEOM_Superv_i::MakeChamferEdge" );
2366 //=============================================================================
2367 // MakeChamferFaces:
2368 //=============================================================================
2369 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2370 CORBA::Double theD1, CORBA::Double theD2,
2371 GEOM::GEOM_List_ptr theFaces)
2373 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2374 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2375 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2376 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2378 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2379 endService( " GEOM_Superv_i::MakeChamferFaces" );
2382 endService( " GEOM_Superv_i::MakeChamferFaces" );
2386 //=============================================================================
2388 //=============================================================================
2389 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2390 CORBA::Double theWeight,
2391 CORBA::Double theWaterDensity,
2392 CORBA::Double theMeshingDeflection)
2394 beginService( " GEOM_Superv_i::MakeArchimede" );
2395 MESSAGE("GEOM_Superv_i::MakeArchimede");
2397 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2398 endService( " GEOM_Superv_i::MakeArchimede" );
2402 //=============================================================================
2403 // GetSubShapeIndexMakeFilletAll:
2404 //=============================================================================
2405 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2406 GEOM::GEOM_Object_ptr theSubShape)
2408 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2409 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
2411 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
2412 endService( " GEOM_Superv_i::GetSubShapeIndex" );
2416 //=============================== GroupOperations =============================
2417 //=============================================================================
2419 //=============================================================================
2420 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
2421 CORBA::Long theShapeType)
2423 beginService( " GEOM_Superv_i::CreateGroup" );
2424 MESSAGE("GEOM_Superv_i::CreateGroup");
2426 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
2427 endService( " GEOM_Superv_i::CreateGroup" );
2431 //=============================================================================
2433 //=============================================================================
2434 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
2435 CORBA::Long theSubShapeId)
2437 beginService( " GEOM_Superv_i::AddObject" );
2438 MESSAGE("GEOM_Superv_i::AddObject");
2440 myGroupOp->AddObject(theGroup, theSubShapeId);
2441 endService( " GEOM_Superv_i::AddObject" );
2444 //=============================================================================
2446 //=============================================================================
2447 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
2448 CORBA::Long theSubShapeId)
2450 beginService( " GEOM_Superv_i::RemoveObject" );
2451 MESSAGE("GEOM_Superv_i::RemoveObject");
2453 myGroupOp->RemoveObject(theGroup, theSubShapeId);
2454 endService( " GEOM_Superv_i::RemoveObject" );
2457 //=============================================================================
2459 //=============================================================================
2460 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
2462 beginService( " GEOM_Superv_i::GetType" );
2463 MESSAGE("GEOM_Superv_i::GetType");
2465 CORBA::Long aResult = myGroupOp->GetType(theGroup);
2466 endService( " GEOM_Superv_i::GetType" );
2470 //=============================================================================
2472 //=============================================================================
2473 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
2475 beginService( " GEOM_Superv_i::GetMainShape" );
2476 MESSAGE("GEOM_Superv_i::GetMainShape");
2478 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
2479 endService( " GEOM_Superv_i::GetMainShape" );
2483 //=============================================================================
2485 //=============================================================================
2486 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
2488 beginService( " GEOM_Superv_i::GetObjects" );
2489 MESSAGE("GEOM_Superv_i::GetObjects");
2492 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
2493 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
2494 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2495 endService( " GEOM_Superv_i::GetObjects" );
2496 return aListPtr->_this();
2499 //=====================================================================================
2501 //=====================================================================================
2504 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
2505 PortableServer::POA_ptr poa,
2506 PortableServer::ObjectId * contId,
2507 const char *instanceName,
2508 const char * interfaceName)
2510 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
2511 myGEOM_Superv_i->register_name("/myGEOM_Superv");
2512 return myGEOM_Superv_i->getId() ;