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::MakePipeShellsWithoutPath
1024 (const GEOM::ListOfGO& theBases,
1025 const GEOM::ListOfGO& theLocations)
1027 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1028 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1030 GEOM::GEOM_Object_ptr anObj =
1031 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1032 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1037 //=============================================================================
1039 //=============================================================================
1040 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1,
1041 GEOM::GEOM_Object_ptr theShape2)
1043 beginService( " GEOM_Superv_i::MakeFuse" );
1044 MESSAGE("GEOM_Superv_i::MakeFuse");
1046 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeBoolean(theShape1, theShape2, 3);
1047 endService( " GEOM_Superv_i::MakeFuse" );
1051 //=============================================================================
1053 //=============================================================================
1054 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1055 GEOM::GEOM_List_ptr theTools,
1056 GEOM::GEOM_List_ptr theKeepInside,
1057 GEOM::GEOM_List_ptr theRemoveInside,
1058 CORBA::Short theLimit,
1059 CORBA::Boolean theRemoveWebs,
1060 GEOM::GEOM_List_ptr theMaterials,
1061 CORBA::Short theKeepNonlimitShapes)
1063 beginService( " GEOM_Superv_i::MakePartition" );
1064 MESSAGE("GEOM_Superv_i::MakePartition");
1065 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1066 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1067 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1068 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1069 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1070 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1071 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1072 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1073 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1074 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1075 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1077 GEOM::GEOM_Object_ptr anObj =
1078 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1079 aListImplKI->GetList(), aListImplRI->GetList(),
1080 theLimit, theRemoveWebs, aListImplM->GetList(),
1081 theKeepNonlimitShapes);
1082 endService( " GEOM_Superv_i::MakePartition" );
1085 endService( " GEOM_Superv_i::MakePartition" );
1089 //=============================================================================
1090 // MakeHalfPartition:
1091 //=============================================================================
1092 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1093 GEOM::GEOM_Object_ptr thePlane)
1095 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1096 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1098 GEOM::GEOM_Object_ptr anObj = myBoolOp->MakeHalfPartition(theShape, thePlane);
1099 endService( " GEOM_Superv_i::MakeHalfPartition" );
1103 //============================== InsertOperations =============================
1104 //=============================================================================
1106 //=============================================================================
1107 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1109 beginService( " GEOM_Superv_i::MakeCopy" );
1110 MESSAGE("GEOM_Superv_i::MakeCopy");
1112 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1113 endService( " GEOM_Superv_i::MakeCopy" );
1117 //=============================================================================
1119 //=============================================================================
1120 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1121 const char* theFileName,
1122 const char* theFormatName)
1124 beginService( " GEOM_Superv_i::Export" );
1125 MESSAGE("GEOM_Superv_i::Export");
1127 myInsOp->Export(theObject, theFileName, theFormatName);
1128 endService( " GEOM_Superv_i::Export" );
1131 //=============================================================================
1133 //=============================================================================
1134 GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName,
1135 const char* theFormatName)
1137 beginService( " GEOM_Superv_i::Import" );
1138 MESSAGE("GEOM_Superv_i::Import");
1140 GEOM::GEOM_Object_ptr anObj = myInsOp->Import(theFileName, theFormatName);
1141 endService( " GEOM_Superv_i::Import" );
1145 //=============================================================================
1146 // ImportTranslators:
1147 //=============================================================================
1148 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1149 GEOM::string_array_out thePatterns)
1151 beginService( " GEOM_Superv_i::ImportTranslators" );
1152 MESSAGE("GEOM_Superv_i::ImportTranslators");
1154 myInsOp->ImportTranslators(theFormats, thePatterns);
1155 endService( " GEOM_Superv_i::ImportTranslators" );
1158 //=============================================================================
1159 // ExportTranslators:
1160 //=============================================================================
1161 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1162 GEOM::string_array_out thePatterns)
1164 beginService( " GEOM_Superv_i::ExportTranslators" );
1165 MESSAGE("GEOM_Superv_i::ExportTranslators");
1167 myInsOp->ExportTranslators(theFormats, thePatterns);
1168 endService( " GEOM_Superv_i::ExportTranslators" );
1171 //============================= TransformOperations ===========================
1172 //=============================================================================
1173 // TranslateTwoPoints:
1174 //=============================================================================
1175 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1176 GEOM::GEOM_Object_ptr thePoint1,
1177 GEOM::GEOM_Object_ptr thePoint2)
1179 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1180 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1182 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1183 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1187 //=============================================================================
1188 // TranslateTwoPointsCopy:
1189 //=============================================================================
1190 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1191 GEOM::GEOM_Object_ptr thePoint1,
1192 GEOM::GEOM_Object_ptr thePoint2)
1194 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1195 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1197 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1198 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1202 //=============================================================================
1204 //=============================================================================
1205 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1206 CORBA::Double theDX,
1207 CORBA::Double theDY,
1208 CORBA::Double theDZ)
1210 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1211 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1213 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1214 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1218 //=============================================================================
1219 // TranslateDXDYDZCopy:
1220 //=============================================================================
1221 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1222 CORBA::Double theDX,
1223 CORBA::Double theDY,
1224 CORBA::Double theDZ)
1226 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1227 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1229 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1230 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1234 //=============================================================================
1236 //=============================================================================
1237 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1238 GEOM::GEOM_Object_ptr theVector)
1240 beginService( " GEOM_Superv_i::TranslateVector" );
1241 MESSAGE("GEOM_Superv_i::TranslateVector");
1243 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1244 endService( " GEOM_Superv_i::TranslateVector" );
1248 //=============================================================================
1249 // TranslateVectorCopy:
1250 //=============================================================================
1251 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1252 GEOM::GEOM_Object_ptr theVector)
1254 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1255 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1257 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1258 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1262 //=============================================================================
1263 // MultiTranslate1D:
1264 //=============================================================================
1265 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1266 GEOM::GEOM_Object_ptr theVector,
1267 CORBA::Double theStep,
1268 CORBA::Long theNbTimes)
1270 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1271 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1273 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1274 endService( " GEOM_Superv_i::MultiTranslate1D" );
1278 //=============================================================================
1279 // MultiTranslate2D:
1280 //=============================================================================
1281 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1282 GEOM::GEOM_Object_ptr theVector1,
1283 CORBA::Double theStep1,
1284 CORBA::Long theNbTimes1,
1285 GEOM::GEOM_Object_ptr theVector2,
1286 CORBA::Double theStep2,
1287 CORBA::Long theNbTimes2)
1289 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1290 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1292 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1293 theVector2, theStep2, theNbTimes2);
1294 endService( " GEOM_Superv_i::MultiTranslate2D" );
1298 //=============================================================================
1300 //=============================================================================
1301 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1302 GEOM::GEOM_Object_ptr theAxis,
1303 CORBA::Double theAngle)
1305 beginService( " GEOM_Superv_i::Rotate" );
1306 MESSAGE("GEOM_Superv_i::Rotate");
1308 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1309 endService( " GEOM_Superv_i::Rotate" );
1313 //=============================================================================
1315 //=============================================================================
1316 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1317 GEOM::GEOM_Object_ptr theAxis,
1318 CORBA::Double theAngle)
1320 beginService( " GEOM_Superv_i::RotateCopy" );
1321 MESSAGE("GEOM_Superv_i::RotateCopy");
1323 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1324 endService( " GEOM_Superv_i::RotateCopy" );
1327 //=============================================================================
1328 // RotateThreePoints:
1329 //=============================================================================
1330 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1331 GEOM::GEOM_Object_ptr theCentPoint,
1332 GEOM::GEOM_Object_ptr thePoint1,
1333 GEOM::GEOM_Object_ptr thePoint2)
1335 beginService( " GEOM_Superv_i::RotateThreePoints" );
1336 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1338 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1339 endService( " GEOM_Superv_i::RotateThreePoints" );
1343 //=============================================================================
1344 // RotateThreePointsCopy:
1345 //=============================================================================
1346 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1347 GEOM::GEOM_Object_ptr theCentPoint,
1348 GEOM::GEOM_Object_ptr thePoint1,
1349 GEOM::GEOM_Object_ptr thePoint2)
1351 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1352 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1354 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1355 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1359 //=============================================================================
1361 //=============================================================================
1362 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1363 GEOM::GEOM_Object_ptr theAxis,
1364 CORBA::Long theNbTimes)
1366 beginService( " GEOM_Superv_i::MultiRotate1D" );
1367 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1369 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1370 endService( " GEOM_Superv_i::MultiRotate1D" );
1374 //=============================================================================
1376 //=============================================================================
1377 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1378 GEOM::GEOM_Object_ptr theAxis,
1379 CORBA::Double theAngle,
1380 CORBA::Long theNbTimes1,
1381 CORBA::Double theStep,
1382 CORBA::Long theNbTimes2)
1384 beginService( " GEOM_Superv_i::MultiRotate2D" );
1385 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1387 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1388 endService( " GEOM_Superv_i::MultiRotate2D" );
1392 //=============================================================================
1394 //=============================================================================
1395 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1396 GEOM::GEOM_Object_ptr thePlane)
1398 beginService( " GEOM_Superv_i::MirrorPlane" );
1399 MESSAGE("GEOM_Superv_i::MirrorPlane");
1401 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1402 endService( " GEOM_Superv_i::MirrorPlane" );
1406 //=============================================================================
1408 //=============================================================================
1409 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1410 GEOM::GEOM_Object_ptr thePlane)
1412 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1413 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1415 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1416 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1420 //=============================================================================
1422 //=============================================================================
1423 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1424 GEOM::GEOM_Object_ptr theAxis)
1426 beginService( " GEOM_Superv_i::MirrorAxis" );
1427 MESSAGE("GEOM_Superv_i::MirrorAxis");
1429 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1430 endService( " GEOM_Superv_i::MirrorAxis" );
1434 //=============================================================================
1436 //=============================================================================
1437 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1438 GEOM::GEOM_Object_ptr theAxis)
1440 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1441 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1443 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1444 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1448 //=============================================================================
1450 //=============================================================================
1451 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1452 GEOM::GEOM_Object_ptr thePoint)
1454 beginService( " GEOM_Superv_i::MirrorPoint" );
1455 MESSAGE("GEOM_Superv_i::MirrorPoint");
1457 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1458 endService( " GEOM_Superv_i::MirrorPoint" );
1462 //=============================================================================
1464 //=============================================================================
1465 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1466 GEOM::GEOM_Object_ptr thePoint)
1468 beginService( " GEOM_Superv_i::MirrorPoint" );
1469 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1471 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1472 endService( " GEOM_Superv_i::MirrorPoint" );
1476 //=============================================================================
1478 //=============================================================================
1479 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1480 CORBA::Double theOffset)
1482 beginService( " GEOM_Superv_i::OffsetShape" );
1483 MESSAGE("GEOM_Superv_i::OffsetShape");
1485 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1486 endService( " GEOM_Superv_i::OffsetShape" );
1490 //=============================================================================
1492 //=============================================================================
1493 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1494 CORBA::Double theOffset)
1496 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1497 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1499 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1500 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1504 //=============================================================================
1506 //=============================================================================
1507 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1508 GEOM::GEOM_Object_ptr thePoint,
1509 CORBA::Double theFactor)
1511 beginService( " GEOM_Superv_i::ScaleShape" );
1512 MESSAGE("GEOM_Superv_i::ScaleShape");
1514 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1515 endService( " GEOM_Superv_i::ScaleShape" );
1519 //=============================================================================
1521 //=============================================================================
1522 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1523 GEOM::GEOM_Object_ptr thePoint,
1524 CORBA::Double theFactor)
1526 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
1527 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
1529 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
1530 endService( " GEOM_Superv_i::ScaleShapeCopy" );
1534 //=============================================================================
1536 //=============================================================================
1537 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
1538 GEOM::GEOM_Object_ptr theStartLCS,
1539 GEOM::GEOM_Object_ptr theEndLCS)
1541 beginService( " GEOM_Superv_i::PositionShape" );
1542 MESSAGE("GEOM_Superv_i::PositionShape");
1544 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
1545 endService( " GEOM_Superv_i::PositionShape" );
1549 //=============================================================================
1550 // PositionShapeCopy:
1551 //=============================================================================
1552 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
1553 GEOM::GEOM_Object_ptr theStartLCS,
1554 GEOM::GEOM_Object_ptr theEndLCS)
1556 beginService( " GEOM_Superv_i::PositionShapeCopy" );
1557 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
1559 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
1560 endService( " GEOM_Superv_i::PositionShapeCopy" );
1564 //=============================== ShapesOperations ============================
1565 //=============================================================================
1567 //=============================================================================
1568 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
1569 GEOM::GEOM_Object_ptr thePnt2)
1571 beginService( " GEOM_Superv_i::MakeEdge" );
1572 MESSAGE("GEOM_Superv_i::MakeEdge");
1574 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
1575 endService( " GEOM_Superv_i::MakeEdge" );
1579 //=============================================================================
1581 //=============================================================================
1582 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires)
1584 beginService( " GEOM_Superv_i::MakeWire" );
1585 MESSAGE("GEOM_Superv_i::MakeWire");
1586 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
1587 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
1589 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList());
1590 endService( " GEOM_Superv_i::MakeWire" );
1593 endService( " GEOM_Superv_i::MakeWire" );
1597 //=============================================================================
1599 //=============================================================================
1600 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
1601 CORBA::Boolean isPlanarWanted)
1603 beginService( " GEOM_Superv_i::MakeFace" );
1604 MESSAGE("GEOM_Superv_i::MakeFace");
1606 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
1607 endService( " GEOM_Superv_i::MakeFace" );
1611 //=============================================================================
1613 //=============================================================================
1614 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
1615 CORBA::Boolean isPlanarWanted)
1617 beginService( " GEOM_Superv_i::MakeFaceWires" );
1618 MESSAGE("GEOM_Superv_i::MakeFaceWires");
1619 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
1620 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
1622 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
1623 endService( " GEOM_Superv_i::MakeFaceWires" );
1626 endService( " GEOM_Superv_i::MakeFaceWires" );
1630 //=============================================================================
1632 //=============================================================================
1633 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
1635 beginService( " GEOM_Superv_i::MakeShell" );
1636 MESSAGE("GEOM_Superv_i::MakeShell");
1637 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
1638 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
1640 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
1641 endService( " GEOM_Superv_i::MakeShell" );
1644 endService( " GEOM_Superv_i::MakeShell" );
1648 //=============================================================================
1650 //=============================================================================
1651 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
1653 beginService( " GEOM_Superv_i::MakeSolidShell" );
1654 MESSAGE("GEOM_Superv_i::MakeSolidShell");
1656 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
1657 endService( " GEOM_Superv_i::MakeSolidShell" );
1661 //=============================================================================
1663 //=============================================================================
1664 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
1666 beginService( " GEOM_Superv_i::MakeSolidShells" );
1667 MESSAGE("GEOM_Superv_i::MakeSolidShells");
1668 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1669 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
1671 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
1672 endService( " GEOM_Superv_i::MakeSolidShells" );
1675 endService( " GEOM_Superv_i::MakeSolidShells" );
1679 //=============================================================================
1681 //=============================================================================
1682 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
1684 beginService( " GEOM_Superv_i::MakeCompound" );
1685 MESSAGE("GEOM_Superv_i::MakeCompound");
1686 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
1687 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
1689 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
1690 endService( " GEOM_Superv_i::MakeCompound" );
1693 endService( " GEOM_Superv_i::MakeCompound" );
1697 //=============================================================================
1699 //=============================================================================
1700 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
1701 CORBA::Double theTolerance,
1702 CORBA::Boolean doKeepNonSolids)
1704 beginService( " GEOM_Superv_i::MakeGlueFaces" );
1705 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
1707 GEOM::GEOM_Object_ptr anObj =
1708 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
1709 endService( " GEOM_Superv_i::MakeGlueFaces" );
1713 //=============================================================================
1715 //=============================================================================
1716 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
1717 CORBA::Double theTolerance)
1719 beginService( " GEOM_Superv_i::GetGlueFaces" );
1720 MESSAGE("GEOM_Superv_i::GetGlueFaces");
1722 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
1723 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1724 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1725 endService( " GEOM_Superv_i::GetGlueFaces" );
1726 return aListPtr->_this();
1729 //=============================================================================
1730 // MakeGlueFacesByList:
1731 //=============================================================================
1732 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
1733 CORBA::Double theTolerance,
1734 const GEOM::ListOfGO& theFaces,
1735 CORBA::Boolean doKeepNonSolids)
1737 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
1738 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
1740 GEOM::GEOM_Object_ptr anObj =
1741 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces, doKeepNonSolids);
1742 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
1746 //=============================================================================
1748 //=============================================================================
1749 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
1750 CORBA::Long theShapeType,
1751 CORBA::Boolean isSorted)
1753 beginService( " GEOM_Superv_i::MakeExplode" );
1754 MESSAGE("GEOM_Superv_i::MakeExplode");
1757 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
1758 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
1759 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
1760 endService( " GEOM_Superv_i::MakeExplode" );
1761 return aListPtr->_this();
1764 //=============================================================================
1766 //=============================================================================
1767 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
1769 beginService( " GEOM_Superv_i::NumberOfFaces" );
1770 MESSAGE("GEOM_Superv_i::NumberOfFaces");
1772 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
1773 endService( " GEOM_Superv_i::NumberOfFaces" );
1777 //=============================================================================
1779 //=============================================================================
1780 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
1782 beginService( " GEOM_Superv_i::NumberOfEdges" );
1783 MESSAGE("GEOM_Superv_i::NumberOfEdges");
1785 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
1786 endService( " GEOM_Superv_i::NumberOfEdges" );
1790 //=============================================================================
1791 // ChangeOrientation:
1792 //=============================================================================
1793 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
1795 beginService( " GEOM_Superv_i::ChangeOrientation" );
1796 MESSAGE("GEOM_Superv_i::ChangeOrientation");
1798 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
1799 endService( " GEOM_Superv_i::ChangeOrientation" );
1804 //=============================== BlocksOperations ============================
1805 //=============================================================================
1806 // MakeQuad4Vertices:
1807 //=============================================================================
1808 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
1809 GEOM::GEOM_Object_ptr thePnt2,
1810 GEOM::GEOM_Object_ptr thePnt3,
1811 GEOM::GEOM_Object_ptr thePnt4)
1813 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
1814 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
1816 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
1817 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
1821 //=============================================================================
1823 //=============================================================================
1824 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
1825 GEOM::GEOM_Object_ptr theEdge2,
1826 GEOM::GEOM_Object_ptr theEdge3,
1827 GEOM::GEOM_Object_ptr theEdge4)
1829 beginService( " GEOM_Superv_i::MakeQuad" );
1830 MESSAGE("GEOM_Superv_i::MakeQuad");
1832 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
1833 endService( " GEOM_Superv_i::MakeQuad" );
1837 //=============================================================================
1839 //=============================================================================
1840 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
1841 GEOM::GEOM_Object_ptr theEdge2)
1843 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
1844 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
1846 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
1847 endService( " GEOM_Superv_i::MakeQuad2Edges" );
1851 //=============================================================================
1853 //=============================================================================
1854 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
1855 GEOM::GEOM_Object_ptr theFace2,
1856 GEOM::GEOM_Object_ptr theFace3,
1857 GEOM::GEOM_Object_ptr theFace4,
1858 GEOM::GEOM_Object_ptr theFace5,
1859 GEOM::GEOM_Object_ptr theFace6)
1861 beginService( " GEOM_Superv_i::MakeHexa" );
1862 MESSAGE("GEOM_Superv_i::MakeHexa");
1864 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
1865 endService( " GEOM_Superv_i::MakeHexa" );
1869 //=============================================================================
1871 //=============================================================================
1872 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
1873 GEOM::GEOM_Object_ptr theFace2)
1875 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
1876 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
1878 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
1879 endService( " GEOM_Superv_i::MakeHexa2Faces" );
1883 //=============================================================================
1885 //=============================================================================
1886 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
1890 CORBA::Double theEpsilon)
1892 beginService( " GEOM_Superv_i::GetPoint" );
1893 MESSAGE("GEOM_Superv_i::GetPoint");
1895 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
1896 endService( " GEOM_Superv_i::GetPoint" );
1900 //=============================================================================
1902 //=============================================================================
1903 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
1904 GEOM::GEOM_Object_ptr thePoint1,
1905 GEOM::GEOM_Object_ptr thePoint2)
1907 beginService( " GEOM_Superv_i::GetEdge" );
1908 MESSAGE("GEOM_Superv_i::GetEdge");
1910 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
1911 endService( " GEOM_Superv_i::GetEdge" );
1915 //=============================================================================
1916 // GetEdgeNearPoint:
1917 //=============================================================================
1918 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
1919 GEOM::GEOM_Object_ptr thePoint)
1921 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
1922 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
1924 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
1925 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
1929 //=============================================================================
1931 //=============================================================================
1932 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
1933 GEOM::GEOM_Object_ptr thePoint1,
1934 GEOM::GEOM_Object_ptr thePoint2,
1935 GEOM::GEOM_Object_ptr thePoint3,
1936 GEOM::GEOM_Object_ptr thePoint4)
1938 beginService( " GEOM_Superv_i::GetFaceByPoints" );
1939 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
1941 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
1942 endService( " GEOM_Superv_i::GetFaceByPoints" );
1946 //=============================================================================
1948 //=============================================================================
1949 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
1950 GEOM::GEOM_Object_ptr theEdge1,
1951 GEOM::GEOM_Object_ptr theEdge2)
1953 beginService( " GEOM_Superv_i::GetFaceByEdges" );
1954 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
1956 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
1957 endService( " GEOM_Superv_i::GetFaceByEdges" );
1961 //=============================================================================
1963 //=============================================================================
1964 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
1965 GEOM::GEOM_Object_ptr theFace)
1967 beginService( " GEOM_Superv_i::GetOppositeFace" );
1968 MESSAGE("GEOM_Superv_i::GetOppositeFace");
1970 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
1971 endService( " GEOM_Superv_i::GetOppositeFace" );
1975 //=============================================================================
1976 // GetFaceNearPoint:
1977 //=============================================================================
1978 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
1979 GEOM::GEOM_Object_ptr thePoint)
1981 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
1982 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
1984 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
1985 endService( " GEOM_Superv_i::GetFaceNearPoint" );
1989 //=============================================================================
1990 // GetFaceByNormale:
1991 //=============================================================================
1992 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
1993 GEOM::GEOM_Object_ptr theVector)
1995 beginService( " GEOM_Superv_i::GetFaceByNormale" );
1996 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
1998 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
1999 endService( " GEOM_Superv_i::GetFaceByNormale" );
2003 //=============================================================================
2004 // IsCompoundOfBlocks:
2005 //=============================================================================
2006 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2007 CORBA::Long theMinNbFaces,
2008 CORBA::Long theMaxNbFaces,
2009 CORBA::Long& theNbBlocks)
2011 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2012 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2014 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2015 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2019 //=============================================================================
2020 // CheckCompoundOfBlocks:
2021 //=============================================================================
2022 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2023 (GEOM::GEOM_Object_ptr theCompound,
2024 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2026 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2027 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2029 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2030 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2034 //=============================================================================
2036 //=============================================================================
2037 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2038 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2040 beginService( " GEOM_Superv_i::PrintBCErrors" );
2041 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2043 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2044 endService( " GEOM_Superv_i::PrintBCErrors" );
2048 //=============================================================================
2049 // ExplodeCompoundOfBlocks:
2050 //=============================================================================
2051 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2052 CORBA::Long theMinNbFaces,
2053 CORBA::Long theMaxNbFaces)
2055 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2056 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2058 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2059 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2060 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2061 return aListPtr->_this();
2064 //=============================================================================
2065 // GetBlockNearPoint:
2066 //=============================================================================
2067 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2068 GEOM::GEOM_Object_ptr thePoint)
2070 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2071 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2073 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2074 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2078 //=============================================================================
2080 //=============================================================================
2081 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2082 GEOM::GEOM_List_ptr theParts)
2084 beginService( " GEOM_Superv_i::GetBlockByParts" );
2085 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2086 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2087 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2089 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2090 endService( " GEOM_Superv_i::GetBlockByParts" );
2093 endService( " GEOM_Superv_i::GetBlockByParts" );
2097 //=============================================================================
2098 // GetBlocksByParts:
2099 //=============================================================================
2100 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2101 GEOM::GEOM_List_ptr theParts)
2103 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2104 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2105 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2106 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2109 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2110 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2111 endService( " GEOM_Superv_i::GetBlocksByParts" );
2112 return aListPtr->_this();
2114 endService( " GEOM_Superv_i::GetBlocksByParts" );
2118 //=============================================================================
2119 // MakeMultiTransformation1D:
2120 //=============================================================================
2121 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2122 CORBA::Long theDirFace1,
2123 CORBA::Long theDirFace2,
2124 CORBA::Long theNbTimes)
2126 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2127 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2129 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2130 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2134 //=============================================================================
2135 // MakeMultiTransformation2D:
2136 //=============================================================================
2137 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2138 (GEOM::GEOM_Object_ptr theBlock,
2139 CORBA::Long theDirFace1U,
2140 CORBA::Long theDirFace2U,
2141 CORBA::Long theNbTimesU,
2142 CORBA::Long theDirFace1V,
2143 CORBA::Long theDirFace2V,
2144 CORBA::Long theNbTimesV)
2146 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2147 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2149 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2150 theDirFace1U, theDirFace2U, theNbTimesU,
2151 theDirFace1V, theDirFace2V, theNbTimesV);
2152 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2156 //=============================== CurvesOperations ============================
2157 //=============================================================================
2158 // MakeCirclePntVecR:
2159 //=============================================================================
2160 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2161 GEOM::GEOM_Object_ptr theVector,
2164 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2165 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2167 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2168 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2172 //=============================================================================
2173 // MakeCircleThreePnt:
2174 //=============================================================================
2175 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2176 GEOM::GEOM_Object_ptr thePnt2,
2177 GEOM::GEOM_Object_ptr thePnt3)
2179 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2180 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2182 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2183 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2186 //=============================================================================
2187 // MakeCircleCenter2Pnt:
2188 //=============================================================================
2189 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2190 GEOM::GEOM_Object_ptr thePnt2,
2191 GEOM::GEOM_Object_ptr thePnt3)
2193 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2194 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2196 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2197 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2201 //=============================================================================
2203 //=============================================================================
2204 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2205 GEOM::GEOM_Object_ptr theVector,
2206 CORBA::Double theRMajor,
2207 CORBA::Double theRMinor)
2209 beginService( " GEOM_Superv_i::MakeEllipse" );
2210 MESSAGE("GEOM_Superv_i::MakeEllipse");
2212 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2213 endService( " GEOM_Superv_i::MakeEllipse" );
2217 //=============================================================================
2219 //=============================================================================
2220 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2221 GEOM::GEOM_Object_ptr thePnt2,
2222 GEOM::GEOM_Object_ptr thePnt3)
2224 beginService( " GEOM_Superv_i::MakeArc" );
2225 MESSAGE("GEOM_Superv_i::MakeArc");
2227 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2228 endService( " GEOM_Superv_i::MakeArc" );
2232 //=============================================================================
2234 //=============================================================================
2235 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2236 GEOM::GEOM_Object_ptr thePnt1,
2237 GEOM::GEOM_Object_ptr thePnt2,
2238 CORBA::Boolean theSense)
2240 beginService( " GEOM_Superv_i::MakeArcCenter" );
2241 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2243 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2244 endService( " GEOM_Superv_i::MakeArcCenter" );
2248 //=============================================================================
2250 //=============================================================================
2251 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints)
2253 beginService( " GEOM_Superv_i::MakePolyline" );
2254 MESSAGE("GEOM_Superv_i::MakePolyline");
2255 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2256 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2258 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList());
2259 endService( " GEOM_Superv_i::MakePolyline" );
2262 endService( " GEOM_Superv_i::MakePolyline" );
2266 //=============================================================================
2267 // MakeSplineBezier:
2268 //=============================================================================
2269 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints)
2271 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2272 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2273 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2274 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2276 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList());
2277 endService( " GEOM_Superv_i::MakeSplineBezier" );
2280 endService( " GEOM_Superv_i::MakeSplineBezier" );
2284 //=============================================================================
2285 // MakeSplineInterpolation:
2286 //=============================================================================
2287 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints)
2289 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2290 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2291 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2292 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2294 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList());
2295 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2298 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2302 //=============================================================================
2304 //=============================================================================
2305 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2306 GEOM::GEOM_List_ptr theWorkingPlane)
2308 beginService( " GEOM_Superv_i::MakeSketcher" );
2309 MESSAGE("GEOM_Superv_i::MakeSketcher");
2310 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2311 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2313 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2314 endService( " GEOM_Superv_i::MakeSketcher" );
2317 endService( " GEOM_Superv_i::MakeSketcher" );
2321 //=============================== LocalOperations =============================
2322 //=============================================================================
2324 //=============================================================================
2325 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2328 beginService( " GEOM_Superv_i::MakeFilletAll" );
2329 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2331 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2332 endService( " GEOM_Superv_i::MakeFilletAll" );
2336 //=============================================================================
2338 //=============================================================================
2339 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2341 GEOM::GEOM_List_ptr theEdges)
2343 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2344 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2345 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2346 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2348 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2349 endService( " GEOM_Superv_i::MakeFilletEdges" );
2352 endService( " GEOM_Superv_i::MakeFilletEdges" );
2356 //=============================================================================
2357 // MakeFilletEdges R1 R2:
2358 //=============================================================================
2359 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
2360 CORBA::Double theR1,
2361 CORBA::Double theR2,
2362 GEOM::GEOM_List_ptr theEdges)
2364 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2365 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
2366 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2367 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2369 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
2370 theR2, aListImplE->GetList());
2371 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2374 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
2378 //=============================================================================
2380 //=============================================================================
2381 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
2383 GEOM::GEOM_List_ptr theFaces)
2385 beginService( " GEOM_Superv_i::MakeFilletFaces" );
2386 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
2387 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2388 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2390 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
2391 endService( " GEOM_Superv_i::MakeFilletFaces" );
2394 endService( " GEOM_Superv_i::MakeFilletFaces" );
2398 //=============================================================================
2399 // MakeFilletFaces R1 R2:
2400 //=============================================================================
2401 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
2402 CORBA::Double theR1,
2403 CORBA::Double theR2,
2404 GEOM::GEOM_List_ptr theFaces)
2406 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2407 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
2408 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2409 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2411 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
2412 aListImplF->GetList());
2413 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2416 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
2420 //=============================================================================
2422 //=============================================================================
2423 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
2425 beginService( " GEOM_Superv_i::MakeChamferAll" );
2426 MESSAGE("GEOM_Superv_i::MakeChamferAll");
2428 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
2429 endService( " GEOM_Superv_i::MakeChamferAll" );
2433 //=============================================================================
2435 //=============================================================================
2436 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
2437 CORBA::Double theD1, CORBA::Double theD2,
2438 CORBA::Long theFace1, CORBA::Long theFace2)
2440 beginService( " GEOM_Superv_i::MakeChamferEdge" );
2441 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
2443 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
2444 endService( " GEOM_Superv_i::MakeChamferEdge" );
2448 //=============================================================================
2449 // MakeChamferEdgeAD:
2450 //=============================================================================
2451 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
2452 CORBA::Double theD, CORBA::Double theAngle,
2453 CORBA::Long theFace1, CORBA::Long theFace2)
2455 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2456 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
2458 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
2459 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
2463 //=============================================================================
2464 // MakeChamferFaces:
2465 //=============================================================================
2466 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
2467 CORBA::Double theD1, CORBA::Double theD2,
2468 GEOM::GEOM_List_ptr theFaces)
2470 beginService( " GEOM_Superv_i::MakeChamferFaces" );
2471 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
2472 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2473 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2475 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
2476 endService( " GEOM_Superv_i::MakeChamferFaces" );
2479 endService( " GEOM_Superv_i::MakeChamferFaces" );
2483 //=============================================================================
2484 // MakeChamferFacesAD:
2485 //=============================================================================
2486 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
2487 CORBA::Double theD, CORBA::Double theAngle,
2488 GEOM::GEOM_List_ptr theFaces)
2490 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
2491 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
2492 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2493 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
2495 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
2496 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2499 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
2503 //=============================================================================
2504 // MakeChamferEdges:
2505 //=============================================================================
2506 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
2507 CORBA::Double theD1, CORBA::Double theD2,
2508 GEOM::GEOM_List_ptr theEdges)
2510 beginService( " GEOM_Superv_i::MakeChamferEdges" );
2511 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
2512 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2513 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2515 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
2516 endService( " GEOM_Superv_i::MakeChamferEdges" );
2519 endService( " GEOM_Superv_i::MakeChamferEdges" );
2523 //=============================================================================
2524 // MakeChamferEdgesAD:
2525 //=============================================================================
2526 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
2527 CORBA::Double theD, CORBA::Double theAngle,
2528 GEOM::GEOM_List_ptr theEdges)
2530 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2531 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
2532 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
2533 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2535 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
2536 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2539 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
2543 //=============================================================================
2545 //=============================================================================
2546 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
2547 CORBA::Double theWeight,
2548 CORBA::Double theWaterDensity,
2549 CORBA::Double theMeshingDeflection)
2551 beginService( " GEOM_Superv_i::MakeArchimede" );
2552 MESSAGE("GEOM_Superv_i::MakeArchimede");
2554 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
2555 endService( " GEOM_Superv_i::MakeArchimede" );
2559 //=============================================================================
2560 // GetSubShapeIndexMakeFilletAll:
2561 //=============================================================================
2562 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
2563 GEOM::GEOM_Object_ptr theSubShape)
2565 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
2566 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
2568 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
2569 endService( " GEOM_Superv_i::GetSubShapeIndex" );
2573 //=============================== GroupOperations =============================
2574 //=============================================================================
2576 //=============================================================================
2577 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
2578 CORBA::Long theShapeType)
2580 beginService( " GEOM_Superv_i::CreateGroup" );
2581 MESSAGE("GEOM_Superv_i::CreateGroup");
2583 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
2584 endService( " GEOM_Superv_i::CreateGroup" );
2588 //=============================================================================
2590 //=============================================================================
2591 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
2592 CORBA::Long theSubShapeId)
2594 beginService( " GEOM_Superv_i::AddObject" );
2595 MESSAGE("GEOM_Superv_i::AddObject");
2597 myGroupOp->AddObject(theGroup, theSubShapeId);
2598 endService( " GEOM_Superv_i::AddObject" );
2601 //=============================================================================
2603 //=============================================================================
2604 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
2605 CORBA::Long theSubShapeId)
2607 beginService( " GEOM_Superv_i::RemoveObject" );
2608 MESSAGE("GEOM_Superv_i::RemoveObject");
2610 myGroupOp->RemoveObject(theGroup, theSubShapeId);
2611 endService( " GEOM_Superv_i::RemoveObject" );
2614 //=============================================================================
2616 //=============================================================================
2617 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
2619 beginService( " GEOM_Superv_i::GetType" );
2620 MESSAGE("GEOM_Superv_i::GetType");
2622 CORBA::Long aResult = myGroupOp->GetType(theGroup);
2623 endService( " GEOM_Superv_i::GetType" );
2627 //=============================================================================
2629 //=============================================================================
2630 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
2632 beginService( " GEOM_Superv_i::GetMainShape" );
2633 MESSAGE("GEOM_Superv_i::GetMainShape");
2635 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
2636 endService( " GEOM_Superv_i::GetMainShape" );
2640 //=============================================================================
2642 //=============================================================================
2643 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
2645 beginService( " GEOM_Superv_i::GetObjects" );
2646 MESSAGE("GEOM_Superv_i::GetObjects");
2649 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
2650 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
2651 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2652 endService( " GEOM_Superv_i::GetObjects" );
2653 return aListPtr->_this();
2656 //=====================================================================================
2658 //=====================================================================================
2661 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
2662 PortableServer::POA_ptr poa,
2663 PortableServer::ObjectId * contId,
2664 const char *instanceName,
2665 const char * interfaceName)
2667 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
2668 myGEOM_Superv_i->register_name("/myGEOM_Superv");
2669 return myGEOM_Superv_i->getId() ;