1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #include "GEOM_Superv_i.hh"
24 #include "SALOME_LifeCycleCORBA.hxx"
25 #include "Utils_CorbaException.hxx"
27 #include CORBA_SERVER_HEADER(SALOME_Session)
28 #include "SALOMEDSClient_ClientFactory.hxx"
30 #define isNewStudy(a,b) (a > 0 && a != b)
32 //=============================================================================
34 //=============================================================================
35 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
36 PortableServer::POA_ptr poa,
37 PortableServer::ObjectId * contId,
38 const char *instanceName,
39 const char *interfaceName) :
40 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
42 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
45 _id = _poa->activate_object(_thisObj);
46 name_service = new SALOME_NamingService(_orb);
47 //get RootPOA (the default)
48 //myPOA = PortableServer::RefCountServantBase::_default_POA();
49 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
50 myPOA = PortableServer::POA::_narrow(anObj);
57 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
58 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
59 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
60 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
61 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
62 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
63 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
64 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
65 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
66 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
69 //=============================================================================
71 //=============================================================================
72 GEOM_Superv_i::~GEOM_Superv_i()
74 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
75 if (!CORBA::is_nil(myBasicOp))
76 myBasicOp->UnRegister();
77 if (!CORBA::is_nil(myBoolOp))
78 myBoolOp->UnRegister();
79 if (!CORBA::is_nil(my3DPrimOp))
80 my3DPrimOp->UnRegister();
84 //============================================================================
85 // function : register()
86 // purpose : register 'name' in 'name_service'
87 //============================================================================
88 void GEOM_Superv_i::register_name(char * name)
90 GEOM::GEOM_Superv_var g = _this();
91 name_service->Register(g, name);
94 //=============================================================================
96 //=============================================================================
97 void GEOM_Superv_i::setGeomEngine()
99 if ( !CORBA::is_nil(myGeomEngine) )
102 // get GEOM_Gen engine
103 Engines::Container_var cont=GetContainerRef();
104 CORBA::String_var container_name=cont->name();
105 std::string shortName=container_name.in();
106 shortName=shortName.substr(12); // substract "/Containers/"
107 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
108 Engines::EngineComponent_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
111 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
114 //=============================================================================
116 //=============================================================================
117 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
119 // mkr : PAL10770 -->
120 myLastStudyID = myStudyID;
122 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
123 if ( !CORBA::is_nil(anObject) ) {
124 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
125 if ( !CORBA::is_nil(aSession) ) {
126 int aStudyID = aSession->GetActiveStudyId();
127 if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128
128 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
129 myStudyID = aStudyID;
132 myStudyID = theId; // mkr : IPAL12128
136 if ( isNewStudy(myLastStudyID,myStudyID) ) {
137 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
138 std::string anEngine = _orb->object_to_string( myGeomEngine );
140 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
141 if ( !CORBA::is_nil(anObj) ) {
142 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
143 if ( !CORBA::is_nil(aStudyManager) ) {
144 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
146 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
148 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
149 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
155 // mkr : PAL10770 <--
158 //=============================================================================
160 //=============================================================================
161 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
163 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
164 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
165 return aListPtr->_this();
168 //=============================================================================
169 // AddItemToListOfGO:
170 //=============================================================================
171 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
172 GEOM::GEOM_Object_ptr theObject)
174 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
175 GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate(theObject);
176 if (GEOM_List_i<GEOM::ListOfGO>* aList =
177 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
178 aList->AddObject(anObj);
179 MESSAGE(" NewLength = "<<aList->GetList().length());
183 //=============================================================================
185 //=============================================================================
186 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
188 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
189 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
190 return aListPtr->_this();
193 //=============================================================================
194 // AddItemToListOfLong:
195 //=============================================================================
196 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
197 CORBA::Long theObject)
199 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
200 if (GEOM_List_i<GEOM::ListOfLong>* aList =
201 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
202 aList->AddObject(theObject);
203 MESSAGE(" NewLength = "<<aList->GetList().length());
207 //=============================================================================
208 // CreateListOfDouble:
209 //=============================================================================
210 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
212 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
213 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
214 return aListPtr->_this();
217 //=============================================================================
218 // AddItemToListOfDouble:
219 //=============================================================================
220 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
221 CORBA::Double theObject)
223 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
224 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
225 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
226 aList->AddObject(theObject);
227 MESSAGE(" NewLength = "<<aList->GetList().length());
231 //=============================================================================
233 //=============================================================================
234 void GEOM_Superv_i::getBasicOp()
236 if (CORBA::is_nil(myGeomEngine))
238 // get GEOM_IBasicOperations interface
239 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID)) {
240 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
241 // Try to get id of the study from the SALOME Session
242 if(myStudyID < 0 ) SetStudyID(-1);
243 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
247 //=============================================================================
249 //=============================================================================
250 void GEOM_Superv_i::get3DPrimOp()
252 if (CORBA::is_nil(myGeomEngine))
254 // get GEOM_I3DPrimOperations interface
255 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID)) {
256 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
257 // Try to get id of the study from the SALOME Session
258 if(myStudyID < 0 ) SetStudyID(-1);
259 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
263 //=============================================================================
265 //=============================================================================
266 void GEOM_Superv_i::getBoolOp()
268 if (CORBA::is_nil(myGeomEngine))
270 // get GEOM_IBooleanOperations interface
271 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID)) {
272 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
273 // Try to get id of the study from the SALOME Session
274 if(myStudyID < 0 ) SetStudyID(-1);
275 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
279 //=============================================================================
281 //=============================================================================
282 void GEOM_Superv_i::getInsOp()
284 if (CORBA::is_nil(myGeomEngine))
286 // get GEOM_IInsertOperations interface
287 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID)) {
288 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
289 // Try to get id of the study from the SALOME Session
290 if(myStudyID < 0 ) SetStudyID(-1);
291 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
295 //=============================================================================
297 //=============================================================================
298 void GEOM_Superv_i::getTransfOp()
300 if (CORBA::is_nil(myGeomEngine))
302 // get GEOM_ITransformOperations interface
303 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID)) {
304 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
305 // Try to get id of the study from the SALOME Session
306 if(myStudyID < 0 ) SetStudyID(-1);
307 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
311 //=============================================================================
313 //=============================================================================
314 void GEOM_Superv_i::getShapesOp()
316 if (CORBA::is_nil(myGeomEngine))
318 // get GEOM_IShapesOperations interface
319 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID)) {
320 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
321 // Try to get id of the study from the SALOME Session
322 if(myStudyID < 0 ) SetStudyID(-1);
323 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
327 //=============================================================================
329 //=============================================================================
330 void GEOM_Superv_i::getBlocksOp()
332 if (CORBA::is_nil(myGeomEngine))
334 // get GEOM_IBlocksOperations interface
335 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID)) {
336 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
337 // Try to get id of the study from the SALOME Session
338 if(myStudyID < 0 ) SetStudyID(-1);
339 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
343 //=============================================================================
345 //=============================================================================
346 void GEOM_Superv_i::getCurvesOp()
348 if (CORBA::is_nil(myGeomEngine))
350 // get GEOM_ICurvesOperations interface
351 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID)) {
352 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
353 // Try to get id of the study from the SALOME Session
354 if(myStudyID < 0 ) SetStudyID(-1);
355 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
359 //=============================================================================
361 //=============================================================================
362 void GEOM_Superv_i::getLocalOp()
364 if (CORBA::is_nil(myGeomEngine))
366 // get GEOM_ILocalOperations interface
367 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID)) {
368 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
369 // Try to get id of the study from the SALOME Session
370 if(myStudyID < 0 ) SetStudyID(-1);
371 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
375 //=============================================================================
377 //=============================================================================
378 void GEOM_Superv_i::getGroupOp()
380 if (CORBA::is_nil(myGeomEngine))
382 // get GEOM_IGroupOperations interface
383 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID)) {
384 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
385 // Try to get id of the study from the SALOME Session
386 if(myStudyID < 0 ) SetStudyID(-1);
387 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
391 //=============================================================================
393 //=============================================================================
394 void GEOM_Superv_i::getAdvancedOp()
396 if (CORBA::is_nil(myGeomEngine))
398 // get GEOM::IAdvancedOperations interface
399 if (CORBA::is_nil(myAdvancedOp) || isNewStudy(myLastStudyID,myStudyID)) {
400 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
401 // Try to get id of the study from the SALOME Session
402 if(myStudyID < 0 ) SetStudyID(-1);
403 myAdvancedOp = GEOM::IAdvancedOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "AdvancedEngine"));
407 //=============================================================================
409 //=============================================================================
410 void GEOM_Superv_i::getSTLPluginOp()
412 if (CORBA::is_nil(myGeomEngine))
414 // get GEOM::ISTLOperations interface
415 if (CORBA::is_nil(mySTLOp) || isNewStudy(myLastStudyID,myStudyID)) {
416 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
417 // Try to get id of the study from the SALOME Session
418 if(myStudyID < 0 ) SetStudyID(-1);
419 mySTLOp = GEOM::ISTLOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "STLPluginEngine"));
423 //=============================================================================
425 //=============================================================================
426 void GEOM_Superv_i::getBREPPluginOp()
428 if (CORBA::is_nil(myGeomEngine))
430 // get GEOM:IBREPOperations interface
431 if (CORBA::is_nil(myBREPOp) || isNewStudy(myLastStudyID,myStudyID)) {
432 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
433 // Try to get id of the study from the SALOME Session
434 if(myStudyID < 0 ) SetStudyID(-1);
435 myBREPOp = GEOM::IBREPOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "BREPPluginEngine"));
439 //=============================================================================
441 //=============================================================================
442 void GEOM_Superv_i::getSTEPPluginOp()
444 if (CORBA::is_nil(myGeomEngine))
446 // get GEOM::ISTEPOperations interface
447 if (CORBA::is_nil(mySTEPOp) || isNewStudy(myLastStudyID,myStudyID)) {
448 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
449 // Try to get id of the study from the SALOME Session
450 if(myStudyID < 0 ) SetStudyID(-1);
451 mySTEPOp = GEOM::ISTEPOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "STEPPluginEngine"));
455 //=============================================================================
457 //=============================================================================
458 void GEOM_Superv_i::getIGESPluginOp()
460 if (CORBA::is_nil(myGeomEngine))
462 // get GEOM::IIGESOperations interface
463 if (CORBA::is_nil(myIGESOp) || isNewStudy(myLastStudyID,myStudyID)) {
464 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
465 // Try to get id of the study from the SALOME Session
466 if(myStudyID < 0 ) SetStudyID(-1);
467 myIGESOp = GEOM::IIGESOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "IGESPluginEngine"));
471 //=============================================================================
473 //=============================================================================
474 void GEOM_Superv_i::getXAOPluginOp()
476 if (CORBA::is_nil(myGeomEngine))
478 // get GEOM::IXAOOperations interface
479 if (CORBA::is_nil(myXAOOp) || isNewStudy(myLastStudyID,myStudyID)) {
480 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
481 // Try to get id of the study from the SALOME Session
482 if(myStudyID < 0 ) SetStudyID(-1);
483 myXAOOp = GEOM::IXAOOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "XAOPluginEngine"));
488 //=============================================================================
490 //=============================================================================
491 void GEOM_Superv_i::getVTKPluginOp()
493 if (CORBA::is_nil(myGeomEngine))
495 // get GEOM::IVTKOperations interface
496 if (CORBA::is_nil(myVTKOp) || isNewStudy(myLastStudyID,myStudyID)) {
497 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
498 // Try to get id of the study from the SALOME Session
499 if(myStudyID < 0 ) SetStudyID(-1);
500 myVTKOp = GEOM::IVTKOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "VTKPluginEngine"));
505 //=============================================================================
507 //=============================================================================
508 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
509 PortableServer::POA_ptr thePOA)
511 if(CORBA::is_nil(theObject)) return NULL;
512 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
516 //============================================================================
518 // purpose : save OCAF/Geom document
519 //============================================================================
520 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
522 CORBA::Boolean isMultiFile)
524 SALOMEDS::TMPFile_var aStreamFile;
525 return aStreamFile._retn();
528 //============================================================================
529 // function : SaveASCII()
531 //============================================================================
532 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
534 CORBA::Boolean isMultiFile)
536 SALOMEDS::TMPFile_var aStreamFile;
537 return aStreamFile._retn();
540 //============================================================================
543 //============================================================================
544 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
545 const SALOMEDS::TMPFile& theStream,
547 CORBA::Boolean isMultiFile)
552 //============================================================================
553 // function : LoadASCII()
555 //============================================================================
556 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
557 const SALOMEDS::TMPFile& theStream,
559 CORBA::Boolean isMultiFile)
564 //============================================================================
565 // function : Close()
567 //============================================================================
568 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
572 //============================================================================
573 // function : ComponentDataType()
575 //============================================================================
576 char* GEOM_Superv_i::ComponentDataType()
581 //============================================================================
582 // function : IORToLocalPersistentID()
584 //============================================================================
585 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
586 const char* IORString,
587 CORBA::Boolean isMultiFile,
588 CORBA::Boolean isASCII)
593 //============================================================================
594 // function : LocalPersistentIDToIOR()
595 // purpose : Create/Load CORBA object from a persistent ref (an entry)
596 // : Used when a study is loaded
597 // : The IOR (IORName) of object created is returned
598 //============================================================================
599 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
600 const char* aLocalPersistentID,
601 CORBA::Boolean isMultiFile,
602 CORBA::Boolean isASCII)
607 //============================================================================
608 // function : CanPublishInStudy
610 //============================================================================
611 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
613 if (CORBA::is_nil(myGeomEngine))
615 return myGeomEngine->CanPublishInStudy(theIOR);
618 //============================================================================
619 // function : PublishInStudy
621 //============================================================================
622 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
623 SALOMEDS::SObject_ptr theSObject,
624 CORBA::Object_ptr theObject,
625 const char* theName) throw (SALOME::SALOME_Exception)
627 if (CORBA::is_nil(myGeomEngine))
629 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
632 //============================================================================
633 // function : PublishNamedShapesInStudy
635 //============================================================================
637 GEOM_Superv_i::PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
638 //SALOMEDS::SObject_ptr theSObject,
639 CORBA::Object_ptr theObject)
641 if (CORBA::is_nil(myGeomEngine))
643 return myGeomEngine->PublishNamedShapesInStudy(theStudy, theObject);
646 //============================================================================
647 // function : CanCopy()
649 //============================================================================
650 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
655 //============================================================================
656 // function : CopyFrom()
658 //============================================================================
659 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
661 SALOMEDS::TMPFile_var aStreamFile;
662 return aStreamFile._retn();
665 //============================================================================
666 // function : CanPaste()
668 //============================================================================
669 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
674 //============================================================================
675 // function : PasteInto()
677 //============================================================================
678 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
679 CORBA::Long theObjectID,
680 SALOMEDS::SObject_ptr theObject)
682 SALOMEDS::SObject_var aNewSO;
683 return aNewSO._retn();
686 //================= Primitives Construction : BasicOperations =================
687 //=============================================================================
689 //=============================================================================
690 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
694 beginService( " GEOM_Superv_i::MakePointXYZ" );
695 MESSAGE("GEOM_Superv_i::MakePointXYZ");
697 // make vertex and return
698 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
699 endService( " GEOM_Superv_i::MakePointXYZ" );
703 //=============================================================================
704 // MakePointWithReference:
705 //=============================================================================
706 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
711 beginService( " GEOM_Superv_i::MakePointWithReference" );
712 MESSAGE("GEOM_Superv_i::MakePointWithReference");
714 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
715 endService( " GEOM_Superv_i::MakePointWithReference" );
719 //=============================================================================
721 //=============================================================================
722 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
723 CORBA::Double theParameter)
725 beginService( " GEOM_Superv_i::MakePointOnCurve" );
726 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
728 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter, false);
729 endService( " GEOM_Superv_i::MakePointOnCurve" );
733 //=============================================================================
734 // MakePointOnCurveByLength:
735 //=============================================================================
736 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
737 CORBA::Double theLength,
738 GEOM::GEOM_Object_ptr theStartPoint)
740 beginService( " GEOM_Superv_i::MakePointOnCurveByLength" );
741 MESSAGE("GEOM_Superv_i::MakePointOnCurveByLength");
743 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurveByLength(theRefCurve, theLength, theStartPoint);
744 endService( " GEOM_Superv_i::MakePointOnCurveByLength" );
748 //=============================================================================
749 // MakePointOnCurveByCoord
750 //=============================================================================
751 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
752 CORBA::Double theXParameter,
753 CORBA::Double theYParameter,
754 CORBA::Double theZParameter)
756 beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
757 MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
759 GEOM::GEOM_Object_ptr anObj =
760 myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
761 theYParameter, theZParameter);
762 endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
766 //=============================================================================
767 // MakePointOnSurface:
768 //=============================================================================
769 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
770 CORBA::Double theUParameter,
771 CORBA::Double theVParameter)
773 beginService( " GEOM_Superv_i::MakePointOnSurface" );
774 MESSAGE("GEOM_Superv_i::MakePointOnSurface");
776 GEOM::GEOM_Object_ptr anObj =
777 myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
778 endService( " GEOM_Superv_i::MakePointOnSurface" );
782 //=============================================================================
783 // MakePointOnSurfaceByCoord
784 //=============================================================================
785 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
786 CORBA::Double theXParameter,
787 CORBA::Double theYParameter,
788 CORBA::Double theZParameter)
790 beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
791 MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
793 GEOM::GEOM_Object_ptr anObj =
794 myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
795 theYParameter, theZParameter);
796 endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
800 //=============================================================================
801 // MakePointOnLinesIntersection:
802 //=============================================================================
803 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
804 GEOM::GEOM_Object_ptr theRefLine2)
806 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
807 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
809 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
810 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
814 //=============================================================================
815 // MakeTangentOnCurve:
816 //=============================================================================
817 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
818 CORBA::Double theParameter)
820 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
821 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
823 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
824 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
828 //=============================================================================
830 //=============================================================================
831 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
835 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
836 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
838 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
839 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
843 //=============================================================================
845 //=============================================================================
846 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
847 GEOM::GEOM_Object_ptr thePnt2)
849 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
850 MESSAGE("GEOM_Superv_i::MakeVector");
852 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
853 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
857 //=============================================================================
859 //=============================================================================
860 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
861 GEOM::GEOM_Object_ptr thePnt2)
863 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
864 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
866 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
867 endService( " GEOM_Superv_i::MakeLineTwoPnt");
871 //=============================================================================
873 //=============================================================================
874 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
875 GEOM::GEOM_Object_ptr theFace2)
877 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
878 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
880 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
881 endService( " GEOM_Superv_i::MakeLineTwoFaces");
885 //=============================================================================
886 // MakePlaneThreePnt:
887 //=============================================================================
888 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
889 GEOM::GEOM_Object_ptr thePnt2,
890 GEOM::GEOM_Object_ptr thePnt3,
891 CORBA::Double theTrimSize)
893 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
894 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
896 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
897 endService( " GEOM_Superv_i::MakePlaneThreePnt");
901 //=============================================================================
903 //=============================================================================
904 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
905 GEOM::GEOM_Object_ptr theVec,
906 CORBA::Double theTrimSize)
908 beginService( " GEOM_Superv_i::MakePlanePntVec" );
909 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
911 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
912 endService( " GEOM_Superv_i::MakePlanePntVec" );
916 //=============================================================================
918 //=============================================================================
919 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
920 CORBA::Double theTrimSize)
922 beginService( " GEOM_Superv_i::MakePlaneFace" );
923 MESSAGE("GEOM_Superv_i::MakePlaneFace");
925 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
926 endService( " GEOM_Superv_i::MakePlaneFace" );
930 //=============================================================================
932 //=============================================================================
933 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
934 GEOM::GEOM_Object_ptr theVec2,
935 CORBA::Double theTrimSize)
937 beginService( " GEOM_Superv_i::MakePlane2Vec" );
938 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
940 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
941 endService( " GEOM_Superv_i::MakePlane2Vec" );
945 //=============================================================================
947 //=============================================================================
948 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
949 CORBA::Double theTrimSize,
950 CORBA::Double theOrientation)
952 beginService( " GEOM_Superv_i::MakePlaneLCS" );
953 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
955 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
956 endService( " GEOM_Superv_i::MakePlaneLCS" );
960 //=============================================================================
962 //=============================================================================
963 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
964 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
965 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
966 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
968 beginService( " GEOM_Superv_i::MakeMarker" );
969 MESSAGE("GEOM_Superv_i::MakeMarker");
971 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
972 endService( " GEOM_Superv_i::MakeMarker" );
976 //=============================================================================
977 // MakeMarkerFromShape:
978 //=============================================================================
979 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape)
981 beginService( " GEOM_Superv_i::MakeMarkerFromShape" );
982 MESSAGE("GEOM_Superv_i::MakeMarkerFromShape");
984 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerFromShape(theShape);
985 endService( " GEOM_Superv_i::MakeMarkerFromShape" );
989 //=============================================================================
990 // MakeMarkerPntTwoVec:
991 //=============================================================================
992 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
993 GEOM::GEOM_Object_ptr theXVec,
994 GEOM::GEOM_Object_ptr theYVec)
996 beginService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
997 MESSAGE("GEOM_Superv_i::MakeMarkerPntTwoVec");
999 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec);
1000 endService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
1004 //=============================================================================
1005 // MakeTangentPlaneOnFace:
1006 //=============================================================================
1007 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
1008 CORBA::Double theParameterU,
1009 CORBA::Double theParameterV,
1010 CORBA::Double theTrimSize)
1012 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
1013 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
1015 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
1016 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
1020 //================= Primitives Construction : 3DPrimOperations ================
1021 //=============================================================================
1023 //=============================================================================
1024 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
1025 CORBA::Double theY1,
1026 CORBA::Double theZ1,
1027 CORBA::Double theX2,
1028 CORBA::Double theY2,
1029 CORBA::Double theZ2)
1031 beginService( " GEOM_Superv_i::MakeBox" );
1032 MESSAGE("GEOM_Superv_i::MakeBox");
1035 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
1036 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
1037 endService( " GEOM_Superv_i::MakeBox" );
1041 //=============================================================================
1043 //=============================================================================
1044 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
1045 CORBA::Double theDY,
1046 CORBA::Double theDZ)
1048 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
1049 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
1051 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
1052 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
1056 //=============================================================================
1058 //=============================================================================
1059 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
1060 GEOM::GEOM_Object_ptr thePnt2)
1062 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
1063 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
1065 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
1066 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
1070 //=============================================================================
1072 //=============================================================================
1073 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
1075 CORBA::Short theOrientation)
1077 beginService( " GEOM_Superv_i::MakeFaceHW" );
1078 MESSAGE("GEOM_Superv_i::MakeFaceHW");
1080 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
1081 endService( " GEOM_Superv_i::MakeFaceHW" );
1085 //=============================================================================
1087 //=============================================================================
1088 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
1092 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
1093 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
1095 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
1096 endService( " GEOM_Superv_i::MakeFaceObjHW" );
1100 //=============================================================================
1102 //=============================================================================
1103 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
1104 GEOM::GEOM_Object_ptr theVector,
1107 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
1108 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
1110 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
1111 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
1115 //=============================================================================
1116 // MakeDiskThreePnt:
1117 //=============================================================================
1118 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1119 GEOM::GEOM_Object_ptr thePnt2,
1120 GEOM::GEOM_Object_ptr thePnt3)
1122 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
1123 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
1125 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
1126 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
1130 //=============================================================================
1132 //=============================================================================
1133 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
1134 CORBA::Short theOrientation)
1136 beginService( " GEOM_Superv_i::MakeDiskR" );
1137 MESSAGE("GEOM_Superv_i::MakeDiskR");
1139 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
1140 endService( " GEOM_Superv_i::MakeDiskR" );
1144 //=============================================================================
1145 // MakeCylinderPntVecRH:
1146 //=============================================================================
1147 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
1148 GEOM::GEOM_Object_ptr theAxis,
1149 CORBA::Double theRadius,
1150 CORBA::Double theHeight)
1152 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1153 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1155 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
1156 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1160 //=============================================================================
1162 //=============================================================================
1163 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1166 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1167 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1169 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
1170 endService( " GEOM_Superv_i::MakeCylinderRH" );
1174 //=============================================================================
1175 // MakeCylinderPntVecRHA:
1176 //=============================================================================
1177 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
1178 GEOM::GEOM_Object_ptr theAxis,
1179 CORBA::Double theRadius,
1180 CORBA::Double theHeight,
1181 CORBA::Double theAngle)
1183 beginService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1184 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRHA");
1186 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRHA(thePnt, theAxis, theRadius, theHeight, theAngle);
1187 endService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1191 //=============================================================================
1193 //=============================================================================
1194 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRHA (CORBA::Double theR,
1198 beginService( " GEOM_Superv_i::MakeCylinderRHA" );
1199 MESSAGE("GEOM_Superv_i::MakeCylinderRHA");
1201 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRHA(theR, theH, theA);
1202 endService( " GEOM_Superv_i::MakeCylinderRHA" );
1206 //=============================================================================
1208 //=============================================================================
1209 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1212 CORBA::Double theRadius)
1214 beginService( " GEOM_Superv_i::MakeSphepe" );
1215 MESSAGE("GEOM_Superv_i::MakeSphepe");
1218 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1219 endService( " GEOM_Superv_i::MakeSphepe" );
1223 //=============================================================================
1225 //=============================================================================
1226 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1228 beginService( " GEOM_Superv_i::MakeSphereR" );
1229 MESSAGE("GEOM_Superv_i::MakeSphereR");
1231 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1232 endService( " GEOM_Superv_i::MakeSphereR" );
1236 //=============================================================================
1238 //=============================================================================
1239 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1242 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1243 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1245 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1246 endService( " GEOM_Superv_i::MakeSpherePntR" );
1250 //=============================================================================
1251 // MakeTorusPntVecRR:
1252 //=============================================================================
1253 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1254 GEOM::GEOM_Object_ptr theVec,
1255 CORBA::Double theRMajor,
1256 CORBA::Double theRMinor)
1258 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1259 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1261 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1262 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1266 //=============================================================================
1268 //=============================================================================
1269 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1270 CORBA::Double theRMinor)
1272 beginService( " GEOM_Superv_i::MakeTorusRR" );
1273 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1275 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1276 endService( " GEOM_Superv_i::MakeTorusRR" );
1280 //=============================================================================
1281 // MakeConePntVecR1R2H:
1282 //=============================================================================
1283 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1284 GEOM::GEOM_Object_ptr theAxis,
1285 CORBA::Double theR1,
1286 CORBA::Double theR2,
1287 CORBA::Double theHeight)
1289 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1290 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1292 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1293 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1297 //=============================================================================
1299 //=============================================================================
1300 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1301 CORBA::Double theR2,
1302 CORBA::Double theHeight)
1304 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1305 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1307 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1308 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1312 //=============================================================================
1314 //=============================================================================
1315 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1316 GEOM::GEOM_Object_ptr theVec,
1319 beginService( " GEOM_Superv_i::MakePrismVecH" );
1320 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1322 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1323 endService( " GEOM_Superv_i::MakePrismVecH" );
1327 //=============================================================================
1328 // MakePrismVecH2Ways:
1329 //=============================================================================
1330 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1331 GEOM::GEOM_Object_ptr theVec,
1334 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1335 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1337 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1338 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1342 //=============================================================================
1344 //=============================================================================
1345 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1346 GEOM::GEOM_Object_ptr thePoint1,
1347 GEOM::GEOM_Object_ptr thePoint2)
1349 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1350 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1352 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1353 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1357 //=============================================================================
1358 // MakePrismTwoPnt2Ways:
1359 //=============================================================================
1360 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1361 GEOM::GEOM_Object_ptr thePoint1,
1362 GEOM::GEOM_Object_ptr thePoint2)
1364 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1365 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1367 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1368 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1372 //=============================================================================
1374 //=============================================================================
1375 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1376 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1378 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1379 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1381 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1382 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1386 //=============================================================================
1388 //=============================================================================
1389 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1390 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1392 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1393 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1395 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1396 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1400 //=============================================================================
1402 //=============================================================================
1403 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1404 GEOM::GEOM_Object_ptr thePath)
1406 beginService( " GEOM_Superv_i::MakePipe" );
1407 MESSAGE("GEOM_Superv_i::MakePipe");
1409 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipe(theBase, thePath, false);
1410 endService( " GEOM_Superv_i::MakePipe" );
1414 //=============================================================================
1415 // MakeRevolutionAxisAngle:
1416 //=============================================================================
1417 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1418 GEOM::GEOM_Object_ptr theAxis,
1419 CORBA::Double theAngle)
1421 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1422 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1424 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1425 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1429 //=============================================================================
1430 // MakeRevolutionAxisAngle:
1431 //=============================================================================
1432 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1433 GEOM::GEOM_Object_ptr theAxis,
1434 CORBA::Double theAngle)
1436 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1437 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1439 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1440 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1444 //=============================================================================
1446 //=============================================================================
1447 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1448 CORBA::Long theMinDeg,
1449 CORBA::Long theMaxDeg,
1450 CORBA::Double theTol2D,
1451 CORBA::Double theTol3D,
1452 CORBA::Long theNbIter,
1453 GEOM::filling_oper_method theMethod,
1454 CORBA::Boolean theApprox)
1456 beginService( " GEOM_Superv_i::MakeFilling" );
1457 MESSAGE("GEOM_Superv_i::MakeFilling");
1459 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
1460 objList->length( 1 );
1461 objList[0] = theShape;
1462 GEOM::GEOM_Object_ptr anObj =
1463 my3DPrimOp->MakeFilling(objList, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1464 theNbIter, theMethod, theApprox);
1465 endService( " GEOM_Superv_i::MakeFilling" );
1469 //============================= BooleanOperations =============================
1470 //=============================================================================
1472 //=============================================================================
1473 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1474 (GEOM::GEOM_Object_ptr theShape1,
1475 GEOM::GEOM_Object_ptr theShape2,
1476 CORBA::Long theOperation)
1478 beginService( " GEOM_Superv_i::MakeBoolean" );
1479 // theOperation indicates the operation to be done:
1480 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1481 MESSAGE("GEOM_Superv_i::MakeBoolean");
1483 GEOM::GEOM_Object_ptr anObj =
1484 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1485 endService( " GEOM_Superv_i::MakeBoolean" );
1489 //=============================================================================
1490 // MakeThruSections:
1491 //=============================================================================
1492 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1493 CORBA::Boolean theModeSolid,
1494 CORBA::Double thePreci,
1495 CORBA::Boolean theRuled)
1497 beginService( " GEOM_Superv_i::MakeThruSections" );
1498 MESSAGE("GEOM_Superv_i::MakeThruSections");
1500 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1501 endService( " GEOM_Superv_i::MakeThruSections" );
1505 //=============================================================================
1507 //=============================================================================
1508 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1509 (const GEOM::ListOfGO& theBases,
1510 const GEOM::ListOfGO& theLocations,
1511 GEOM::GEOM_Object_ptr thePath,
1512 CORBA::Boolean theWithContact,
1513 CORBA::Boolean theWithCorrections)
1515 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1516 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1518 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections, false, false);
1519 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1524 //=============================================================================
1526 //=============================================================================
1527 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1528 (const GEOM::ListOfGO& theBases,
1529 const GEOM::ListOfGO& theSubBases,
1530 const GEOM::ListOfGO& theLocations,
1531 GEOM::GEOM_Object_ptr thePath,
1532 CORBA::Boolean theWithContact,
1533 CORBA::Boolean theWithCorrections)
1535 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1536 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1538 GEOM::ListOfGO_var aList =
1539 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1540 theLocations, thePath,
1541 theWithContact, theWithCorrections,
1543 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1548 //=============================================================================
1550 //=============================================================================
1551 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1552 (const GEOM::ListOfGO& theBases,
1553 const GEOM::ListOfGO& theLocations)
1555 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1556 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1558 GEOM::ListOfGO_var aList =
1559 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations, false);
1560 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1565 //=============================================================================
1567 //=============================================================================
1568 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1569 (GEOM::GEOM_Object_ptr theBase,
1570 GEOM::GEOM_Object_ptr thePath,
1571 GEOM::GEOM_Object_ptr theVec)
1573 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1574 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1576 GEOM::ListOfGO_var aList =
1577 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec, false);
1578 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1583 //=============================================================================
1585 //=============================================================================
1586 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1587 (GEOM::GEOM_Object_ptr theShape1,
1588 GEOM::GEOM_Object_ptr theShape2)
1590 beginService( " GEOM_Superv_i::MakeFuse" );
1591 MESSAGE("GEOM_Superv_i::MakeFuse");
1593 GEOM::GEOM_Object_ptr anObj =
1594 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1595 endService( " GEOM_Superv_i::MakeFuse" );
1599 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1600 GEOM::GEOM_Object_ptr theShape2)
1602 beginService( " GEOM_Superv_i::MakeCommon" );
1603 MESSAGE("GEOM_Superv_i::MakeCommon");
1605 GEOM::GEOM_Object_ptr anObj =
1606 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1607 endService( " GEOM_Superv_i::MakeCommon" );
1611 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1612 GEOM::GEOM_Object_ptr theShape2)
1614 beginService( " GEOM_Superv_i::MakeCut" );
1615 MESSAGE("GEOM_Superv_i::MakeCut");
1617 GEOM::GEOM_Object_ptr anObj =
1618 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1619 endService( " GEOM_Superv_i::MakeCut" );
1623 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1624 GEOM::GEOM_Object_ptr theShape2)
1626 beginService( " GEOM_Superv_i::MakeCut" );
1627 MESSAGE("GEOM_Superv_i::MakeCut");
1629 GEOM::GEOM_Object_ptr anObj =
1630 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1631 endService( " GEOM_Superv_i::MakeCut" );
1635 //=============================================================================
1637 //=============================================================================
1638 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1639 GEOM::GEOM_List_ptr theTools,
1640 GEOM::GEOM_List_ptr theKeepInside,
1641 GEOM::GEOM_List_ptr theRemoveInside,
1642 CORBA::Short theLimit,
1643 CORBA::Boolean theRemoveWebs,
1644 GEOM::GEOM_List_ptr theMaterials,
1645 CORBA::Short theKeepNonlimitShapes)
1647 beginService( " GEOM_Superv_i::MakePartition" );
1648 MESSAGE("GEOM_Superv_i::MakePartition");
1649 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1650 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1651 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1652 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1653 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1654 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1655 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1656 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1657 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1658 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1659 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1661 GEOM::GEOM_Object_ptr anObj =
1662 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1663 aListImplKI->GetList(), aListImplRI->GetList(),
1664 theLimit, theRemoveWebs, aListImplM->GetList(),
1665 theKeepNonlimitShapes);
1666 endService( " GEOM_Superv_i::MakePartition" );
1669 endService( " GEOM_Superv_i::MakePartition" );
1673 //=============================================================================
1674 // MakeHalfPartition:
1675 //=============================================================================
1676 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1677 GEOM::GEOM_Object_ptr thePlane)
1679 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1680 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1682 GEOM::GEOM_Object_ptr anObj =
1683 myBoolOp->MakeHalfPartition(theShape, thePlane);
1684 endService( " GEOM_Superv_i::MakeHalfPartition" );
1688 //============================== InsertOperations =============================
1689 //=============================================================================
1691 //=============================================================================
1692 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1694 beginService( " GEOM_Superv_i::MakeCopy" );
1695 MESSAGE("GEOM_Superv_i::MakeCopy");
1697 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1698 endService( " GEOM_Superv_i::MakeCopy" );
1702 //=============================================================================
1704 //=============================================================================
1705 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1706 const char* theFileName,
1707 const char* theFormatName)
1709 beginService( " GEOM_Superv_i::Export" );
1710 MESSAGE("GEOM_Superv_i::Export");
1712 myInsOp->Export(theObject, theFileName, theFormatName);
1713 endService( " GEOM_Superv_i::Export" );
1716 //=============================================================================
1718 //=============================================================================
1719 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1720 const char* theFormatName)
1722 beginService( " GEOM_Superv_i::ImportFile" );
1723 MESSAGE("GEOM_Superv_i::ImportFile");
1725 GEOM::ListOfGBO_var aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1726 GEOM::GEOM_Object_var anObj;
1728 if (aSeq->length() > 0) {
1729 anObj = GEOM::GEOM_Object::_narrow(aSeq[0]);
1732 endService( " GEOM_Superv_i::ImportFile" );
1733 return anObj._retn();
1736 //============================= TransformOperations ===========================
1737 //=============================================================================
1738 // TranslateTwoPoints:
1739 //=============================================================================
1740 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1741 GEOM::GEOM_Object_ptr thePoint1,
1742 GEOM::GEOM_Object_ptr thePoint2)
1744 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1745 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1747 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1748 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1752 //=============================================================================
1753 // TranslateTwoPointsCopy:
1754 //=============================================================================
1755 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1756 GEOM::GEOM_Object_ptr thePoint1,
1757 GEOM::GEOM_Object_ptr thePoint2)
1759 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1760 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1762 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1763 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1767 //=============================================================================
1769 //=============================================================================
1770 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1771 CORBA::Double theDX,
1772 CORBA::Double theDY,
1773 CORBA::Double theDZ)
1775 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1776 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1778 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1779 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1783 //=============================================================================
1784 // TranslateDXDYDZCopy:
1785 //=============================================================================
1786 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1787 CORBA::Double theDX,
1788 CORBA::Double theDY,
1789 CORBA::Double theDZ)
1791 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1792 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1794 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1795 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1799 //=============================================================================
1801 //=============================================================================
1802 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1803 GEOM::GEOM_Object_ptr theVector)
1805 beginService( " GEOM_Superv_i::TranslateVector" );
1806 MESSAGE("GEOM_Superv_i::TranslateVector");
1808 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1809 endService( " GEOM_Superv_i::TranslateVector" );
1813 //=============================================================================
1814 // TranslateVectorCopy:
1815 //=============================================================================
1816 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1817 GEOM::GEOM_Object_ptr theVector)
1819 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1820 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1822 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1823 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1827 //=============================================================================
1828 // TranslateVectorDistance:
1829 //=============================================================================
1830 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1831 GEOM::GEOM_Object_ptr theVector,
1832 CORBA::Double theDistance,
1833 CORBA::Boolean theCopy)
1835 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1836 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1838 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1839 theVector, theDistance, theCopy);
1840 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1844 //=============================================================================
1845 // MultiTranslate1D:
1846 //=============================================================================
1847 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1848 GEOM::GEOM_Object_ptr theVector,
1849 CORBA::Double theStep,
1850 CORBA::Long theNbTimes)
1852 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1853 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1855 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1856 endService( " GEOM_Superv_i::MultiTranslate1D" );
1860 //=============================================================================
1861 // MultiTranslate2D:
1862 //=============================================================================
1863 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1864 GEOM::GEOM_Object_ptr theVector1,
1865 CORBA::Double theStep1,
1866 CORBA::Long theNbTimes1,
1867 GEOM::GEOM_Object_ptr theVector2,
1868 CORBA::Double theStep2,
1869 CORBA::Long theNbTimes2)
1871 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1872 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1874 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1875 theVector2, theStep2, theNbTimes2);
1876 endService( " GEOM_Superv_i::MultiTranslate2D" );
1880 //=============================================================================
1882 //=============================================================================
1883 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1884 GEOM::GEOM_Object_ptr theAxis,
1885 CORBA::Double theAngle)
1887 beginService( " GEOM_Superv_i::Rotate" );
1888 MESSAGE("GEOM_Superv_i::Rotate");
1890 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1891 endService( " GEOM_Superv_i::Rotate" );
1895 //=============================================================================
1897 //=============================================================================
1898 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1899 GEOM::GEOM_Object_ptr theAxis,
1900 CORBA::Double theAngle)
1902 beginService( " GEOM_Superv_i::RotateCopy" );
1903 MESSAGE("GEOM_Superv_i::RotateCopy");
1905 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1906 endService( " GEOM_Superv_i::RotateCopy" );
1909 //=============================================================================
1910 // RotateThreePoints:
1911 //=============================================================================
1912 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1913 GEOM::GEOM_Object_ptr theCentPoint,
1914 GEOM::GEOM_Object_ptr thePoint1,
1915 GEOM::GEOM_Object_ptr thePoint2)
1917 beginService( " GEOM_Superv_i::RotateThreePoints" );
1918 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1920 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1921 endService( " GEOM_Superv_i::RotateThreePoints" );
1925 //=============================================================================
1926 // RotateThreePointsCopy:
1927 //=============================================================================
1928 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1929 GEOM::GEOM_Object_ptr theCentPoint,
1930 GEOM::GEOM_Object_ptr thePoint1,
1931 GEOM::GEOM_Object_ptr thePoint2)
1933 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1934 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1936 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1937 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1941 //=============================================================================
1943 //=============================================================================
1944 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1945 GEOM::GEOM_Object_ptr theAxis,
1946 CORBA::Long theNbTimes)
1948 beginService( " GEOM_Superv_i::MultiRotate1D" );
1949 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1951 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1952 endService( " GEOM_Superv_i::MultiRotate1D" );
1956 //=============================================================================
1958 //=============================================================================
1959 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1960 GEOM::GEOM_Object_ptr theAxis,
1961 CORBA::Double theAngle,
1962 CORBA::Long theNbTimes1,
1963 CORBA::Double theStep,
1964 CORBA::Long theNbTimes2)
1966 beginService( " GEOM_Superv_i::MultiRotate2D" );
1967 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1969 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1970 endService( " GEOM_Superv_i::MultiRotate2D" );
1974 //=============================================================================
1976 //=============================================================================
1977 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1978 GEOM::GEOM_Object_ptr thePlane)
1980 beginService( " GEOM_Superv_i::MirrorPlane" );
1981 MESSAGE("GEOM_Superv_i::MirrorPlane");
1983 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1984 endService( " GEOM_Superv_i::MirrorPlane" );
1988 //=============================================================================
1990 //=============================================================================
1991 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1992 GEOM::GEOM_Object_ptr thePlane)
1994 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1995 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1997 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1998 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
2002 //=============================================================================
2004 //=============================================================================
2005 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
2006 GEOM::GEOM_Object_ptr theAxis)
2008 beginService( " GEOM_Superv_i::MirrorAxis" );
2009 MESSAGE("GEOM_Superv_i::MirrorAxis");
2011 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
2012 endService( " GEOM_Superv_i::MirrorAxis" );
2016 //=============================================================================
2018 //=============================================================================
2019 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
2020 GEOM::GEOM_Object_ptr theAxis)
2022 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
2023 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
2025 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
2026 endService( " GEOM_Superv_i::MirrorAxisCopy" );
2030 //=============================================================================
2032 //=============================================================================
2033 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
2034 GEOM::GEOM_Object_ptr thePoint)
2036 beginService( " GEOM_Superv_i::MirrorPoint" );
2037 MESSAGE("GEOM_Superv_i::MirrorPoint");
2039 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
2040 endService( " GEOM_Superv_i::MirrorPoint" );
2044 //=============================================================================
2046 //=============================================================================
2047 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
2048 GEOM::GEOM_Object_ptr thePoint)
2050 beginService( " GEOM_Superv_i::MirrorPoint" );
2051 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
2053 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
2054 endService( " GEOM_Superv_i::MirrorPoint" );
2058 //=============================================================================
2060 //=============================================================================
2061 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
2062 CORBA::Double theOffset)
2064 beginService( " GEOM_Superv_i::OffsetShape" );
2065 MESSAGE("GEOM_Superv_i::OffsetShape");
2067 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
2068 endService( " GEOM_Superv_i::OffsetShape" );
2072 //=============================================================================
2074 //=============================================================================
2075 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
2076 CORBA::Double theOffset)
2078 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
2079 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
2081 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
2082 endService( " GEOM_Superv_i::OffsetShapeCopy" );
2086 //=============================================================================
2088 //=============================================================================
2089 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
2090 GEOM::GEOM_Object_ptr thePoint,
2091 CORBA::Double theFactor)
2093 beginService( " GEOM_Superv_i::ScaleShape" );
2094 MESSAGE("GEOM_Superv_i::ScaleShape");
2096 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
2097 endService( " GEOM_Superv_i::ScaleShape" );
2101 //=============================================================================
2103 //=============================================================================
2104 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
2105 GEOM::GEOM_Object_ptr thePoint,
2106 CORBA::Double theFactor)
2108 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2109 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2111 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2112 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2116 //=============================================================================
2117 // ScaleShapeAlongAxes:
2118 //=============================================================================
2119 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2120 GEOM::GEOM_Object_ptr thePoint,
2121 CORBA::Double theFactorX,
2122 CORBA::Double theFactorY,
2123 CORBA::Double theFactorZ)
2125 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2126 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2128 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2129 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2130 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2134 //=============================================================================
2135 // ScaleShapeAlongAxesCopy:
2136 //=============================================================================
2137 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2138 GEOM::GEOM_Object_ptr thePoint,
2139 CORBA::Double theFactorX,
2140 CORBA::Double theFactorY,
2141 CORBA::Double theFactorZ)
2143 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2144 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2146 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2147 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2148 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2152 //=============================================================================
2154 //=============================================================================
2155 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2156 GEOM::GEOM_Object_ptr theStartLCS,
2157 GEOM::GEOM_Object_ptr theEndLCS)
2159 beginService( " GEOM_Superv_i::PositionShape" );
2160 MESSAGE("GEOM_Superv_i::PositionShape");
2162 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2163 endService( " GEOM_Superv_i::PositionShape" );
2167 //=============================================================================
2168 // PositionShapeCopy:
2169 //=============================================================================
2170 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2171 GEOM::GEOM_Object_ptr theStartLCS,
2172 GEOM::GEOM_Object_ptr theEndLCS)
2174 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2175 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2177 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2178 endService( " GEOM_Superv_i::PositionShapeCopy" );
2182 //=============================================================================
2183 // PositionAlongPath:
2184 //=============================================================================
2185 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2186 GEOM::GEOM_Object_ptr thePath,
2187 CORBA::Double theDistance,
2188 CORBA::Boolean theCopy,
2189 CORBA::Boolean theReverse)
2191 beginService( " GEOM_Superv_i::PositionAlongPath" );
2192 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2194 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2195 endService( " GEOM_Superv_i::PositionAlongPath" );
2199 //=============================== ShapesOperations ============================
2200 //=============================================================================
2202 //=============================================================================
2203 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2204 GEOM::GEOM_Object_ptr thePnt2)
2206 beginService( " GEOM_Superv_i::MakeEdge" );
2207 MESSAGE("GEOM_Superv_i::MakeEdge");
2209 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2210 endService( " GEOM_Superv_i::MakeEdge" );
2214 //=============================================================================
2215 // MakeEdgeOnCurveByLength:
2216 //=============================================================================
2217 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2218 CORBA::Double theLength,
2219 GEOM::GEOM_Object_ptr theStartPoint)
2221 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2222 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2224 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2225 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2229 //=============================================================================
2231 //=============================================================================
2232 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2233 CORBA::Double theTolerance)
2235 beginService( " GEOM_Superv_i::MakeWire" );
2236 MESSAGE("GEOM_Superv_i::MakeWire");
2237 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2238 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2240 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2241 endService( " GEOM_Superv_i::MakeWire" );
2244 endService( " GEOM_Superv_i::MakeWire" );
2248 //=============================================================================
2250 //=============================================================================
2251 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2252 CORBA::Boolean isPlanarWanted)
2254 beginService( " GEOM_Superv_i::MakeFace" );
2255 MESSAGE("GEOM_Superv_i::MakeFace");
2257 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2258 endService( " GEOM_Superv_i::MakeFace" );
2262 //=============================================================================
2264 //=============================================================================
2265 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2266 CORBA::Boolean isPlanarWanted)
2268 beginService( " GEOM_Superv_i::MakeFaceWires" );
2269 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2270 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2271 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2273 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2274 endService( " GEOM_Superv_i::MakeFaceWires" );
2277 endService( " GEOM_Superv_i::MakeFaceWires" );
2281 //=============================================================================
2282 // MakeFaceWithConstraints:
2283 //=============================================================================
2284 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints)
2286 beginService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2287 MESSAGE("GEOM_Superv_i::MakeFaceWithConstraints");
2288 if (GEOM_List_i<GEOM::ListOfGO>* aConstraints =
2289 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theConstraints, myPOA).in())) {
2291 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWithConstraints(aConstraints->GetList());
2292 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2295 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2299 //=============================================================================
2301 //=============================================================================
2302 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2304 beginService( " GEOM_Superv_i::MakeShell" );
2305 MESSAGE("GEOM_Superv_i::MakeShell");
2306 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2307 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2309 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2310 endService( " GEOM_Superv_i::MakeShell" );
2313 endService( " GEOM_Superv_i::MakeShell" );
2317 //=============================================================================
2319 //=============================================================================
2320 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2322 beginService( " GEOM_Superv_i::MakeSolidShell" );
2323 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2325 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2326 endService( " GEOM_Superv_i::MakeSolidShell" );
2330 //=============================================================================
2332 //=============================================================================
2333 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2335 beginService( " GEOM_Superv_i::MakeSolidShells" );
2336 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2337 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2338 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2340 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2341 endService( " GEOM_Superv_i::MakeSolidShells" );
2344 endService( " GEOM_Superv_i::MakeSolidShells" );
2348 //=============================================================================
2350 //=============================================================================
2351 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2353 beginService( " GEOM_Superv_i::MakeCompound" );
2354 MESSAGE("GEOM_Superv_i::MakeCompound");
2355 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2356 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2358 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2359 endService( " GEOM_Superv_i::MakeCompound" );
2362 endService( " GEOM_Superv_i::MakeCompound" );
2366 //=============================================================================
2367 // MakeSolidFromConnectedFaces:
2368 //=============================================================================
2369 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
2370 CORBA::Boolean isIntersect)
2372 beginService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2373 MESSAGE("GEOM_Superv_i::MakeSolidFromConnectedFaces");
2374 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2375 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesOrShells, myPOA).in())) {
2377 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidFromConnectedFaces(aListImpl->GetList(), isIntersect);
2378 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2381 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2385 //=============================================================================
2387 //=============================================================================
2388 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2389 CORBA::Double theTolerance,
2390 CORBA::Boolean doKeepNonSolids)
2392 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2393 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2395 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2396 objList->length( 1 );
2397 objList[0] = theShape;
2398 GEOM::GEOM_Object_ptr anObj =
2399 myShapesOp->MakeGlueFaces(objList, theTolerance, doKeepNonSolids);
2400 endService( " GEOM_Superv_i::MakeGlueFaces" );
2404 //=============================================================================
2406 //=============================================================================
2407 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2408 CORBA::Double theTolerance)
2410 beginService( " GEOM_Superv_i::GetGlueFaces" );
2411 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2413 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2414 objList->length( 1 );
2415 objList[0] = theShape;
2416 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(objList, theTolerance);
2417 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2418 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2419 endService( " GEOM_Superv_i::GetGlueFaces" );
2420 return aListPtr->_this();
2423 //=============================================================================
2424 // MakeGlueFacesByList:
2425 //=============================================================================
2426 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2427 CORBA::Double theTolerance,
2428 const GEOM::ListOfGO& theFaces,
2429 CORBA::Boolean doKeepNonSolids,
2430 CORBA::Boolean doGlueAllEdges)
2432 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2433 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2435 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2436 objList->length( 1 );
2437 objList[0] = theShape;
2438 GEOM::GEOM_Object_ptr anObj =
2439 myShapesOp->MakeGlueFacesByList(objList, theTolerance, theFaces,
2440 doKeepNonSolids, doGlueAllEdges);
2441 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2445 //=============================================================================
2447 //=============================================================================
2448 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2449 CORBA::Long theShapeType,
2450 CORBA::Boolean isSorted)
2452 beginService( " GEOM_Superv_i::MakeExplode" );
2453 MESSAGE("GEOM_Superv_i::MakeExplode");
2456 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2457 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2458 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2459 endService( " GEOM_Superv_i::MakeExplode" );
2460 return aListPtr->_this();
2463 //=============================================================================
2465 //=============================================================================
2466 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2468 beginService( " GEOM_Superv_i::NumberOfFaces" );
2469 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2471 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2472 endService( " GEOM_Superv_i::NumberOfFaces" );
2476 //=============================================================================
2478 //=============================================================================
2479 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2481 beginService( " GEOM_Superv_i::NumberOfEdges" );
2482 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2484 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2485 endService( " GEOM_Superv_i::NumberOfEdges" );
2490 //=============================================================================
2491 // ChangeOrientation:
2492 //=============================================================================
2493 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2495 beginService( " GEOM_Superv_i::ChangeOrientation" );
2496 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2498 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2499 endService( " GEOM_Superv_i::ChangeOrientation" );
2504 //=============================================================================
2505 // GetShapesOnShape:
2506 //=============================================================================
2507 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2508 (GEOM::GEOM_Object_ptr theCheckShape,
2509 GEOM::GEOM_Object_ptr theShape,
2510 CORBA::Short theShapeType,
2511 GEOM::shape_state theState)
2513 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2514 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2516 GEOM::ListOfGO* aList =
2517 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2518 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2519 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2520 endService( " GEOM_Superv_i::GetShapesOnShape" );
2521 return aListPtr->_this();
2525 //=============================================================================
2526 // GetShapesOnShapeAsCompound:
2527 //=============================================================================
2528 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2529 (GEOM::GEOM_Object_ptr theCheckShape,
2530 GEOM::GEOM_Object_ptr theShape,
2531 CORBA::Short theShapeType,
2532 GEOM::shape_state theState)
2534 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2535 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2537 GEOM::GEOM_Object_ptr anObj =
2538 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2539 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2544 //=============================== BlocksOperations ============================
2545 //=============================================================================
2546 // MakeQuad4Vertices:
2547 //=============================================================================
2548 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2549 GEOM::GEOM_Object_ptr thePnt2,
2550 GEOM::GEOM_Object_ptr thePnt3,
2551 GEOM::GEOM_Object_ptr thePnt4)
2553 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2554 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2556 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2557 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2561 //=============================================================================
2563 //=============================================================================
2564 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2565 GEOM::GEOM_Object_ptr theEdge2,
2566 GEOM::GEOM_Object_ptr theEdge3,
2567 GEOM::GEOM_Object_ptr theEdge4)
2569 beginService( " GEOM_Superv_i::MakeQuad" );
2570 MESSAGE("GEOM_Superv_i::MakeQuad");
2572 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2573 endService( " GEOM_Superv_i::MakeQuad" );
2577 //=============================================================================
2579 //=============================================================================
2580 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2581 GEOM::GEOM_Object_ptr theEdge2)
2583 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2584 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2586 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2587 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2591 //=============================================================================
2593 //=============================================================================
2594 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2595 GEOM::GEOM_Object_ptr theFace2,
2596 GEOM::GEOM_Object_ptr theFace3,
2597 GEOM::GEOM_Object_ptr theFace4,
2598 GEOM::GEOM_Object_ptr theFace5,
2599 GEOM::GEOM_Object_ptr theFace6)
2601 beginService( " GEOM_Superv_i::MakeHexa" );
2602 MESSAGE("GEOM_Superv_i::MakeHexa");
2604 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2605 endService( " GEOM_Superv_i::MakeHexa" );
2609 //=============================================================================
2611 //=============================================================================
2612 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2613 GEOM::GEOM_Object_ptr theFace2)
2615 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2616 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2618 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2619 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2623 //=============================================================================
2625 //=============================================================================
2626 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2630 CORBA::Double theEpsilon)
2632 beginService( " GEOM_Superv_i::GetPoint" );
2633 MESSAGE("GEOM_Superv_i::GetPoint");
2635 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2636 endService( " GEOM_Superv_i::GetPoint" );
2640 //=============================================================================
2642 //=============================================================================
2643 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2644 GEOM::GEOM_Object_ptr thePoint1,
2645 GEOM::GEOM_Object_ptr thePoint2)
2647 beginService( " GEOM_Superv_i::GetEdge" );
2648 MESSAGE("GEOM_Superv_i::GetEdge");
2650 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2651 endService( " GEOM_Superv_i::GetEdge" );
2655 //=============================================================================
2656 // GetEdgeNearPoint:
2657 //=============================================================================
2658 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2659 GEOM::GEOM_Object_ptr thePoint)
2661 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2662 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2664 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2665 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2669 //=============================================================================
2671 //=============================================================================
2672 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2673 GEOM::GEOM_Object_ptr thePoint1,
2674 GEOM::GEOM_Object_ptr thePoint2,
2675 GEOM::GEOM_Object_ptr thePoint3,
2676 GEOM::GEOM_Object_ptr thePoint4)
2678 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2679 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2681 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2682 endService( " GEOM_Superv_i::GetFaceByPoints" );
2686 //=============================================================================
2688 //=============================================================================
2689 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2690 GEOM::GEOM_Object_ptr theEdge1,
2691 GEOM::GEOM_Object_ptr theEdge2)
2693 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2694 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2696 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2697 endService( " GEOM_Superv_i::GetFaceByEdges" );
2701 //=============================================================================
2703 //=============================================================================
2704 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2705 GEOM::GEOM_Object_ptr theFace)
2707 beginService( " GEOM_Superv_i::GetOppositeFace" );
2708 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2710 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2711 endService( " GEOM_Superv_i::GetOppositeFace" );
2715 //=============================================================================
2716 // GetFaceNearPoint:
2717 //=============================================================================
2718 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2719 GEOM::GEOM_Object_ptr thePoint)
2721 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2722 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2724 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2725 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2729 //=============================================================================
2730 // GetFaceByNormale:
2731 //=============================================================================
2732 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2733 GEOM::GEOM_Object_ptr theVector)
2735 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2736 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2738 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2739 endService( " GEOM_Superv_i::GetFaceByNormale" );
2743 //=============================================================================
2744 // IsCompoundOfBlocks:
2745 //=============================================================================
2746 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2747 CORBA::Long theMinNbFaces,
2748 CORBA::Long theMaxNbFaces,
2749 CORBA::Long& theNbBlocks)
2751 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2752 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2754 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2755 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2759 //=============================================================================
2760 // CheckCompoundOfBlocks:
2761 //=============================================================================
2762 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2763 (GEOM::GEOM_Object_ptr theCompound,
2764 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2766 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2767 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2769 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, -1., theErrors);
2770 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2774 //=============================================================================
2776 //=============================================================================
2777 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2778 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2780 beginService( " GEOM_Superv_i::PrintBCErrors" );
2781 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2783 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2784 endService( " GEOM_Superv_i::PrintBCErrors" );
2788 //=============================================================================
2789 // ExplodeCompoundOfBlocks:
2790 //=============================================================================
2791 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2792 CORBA::Long theMinNbFaces,
2793 CORBA::Long theMaxNbFaces)
2795 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2796 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2798 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2799 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2800 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2801 return aListPtr->_this();
2804 //=============================================================================
2805 // GetBlockNearPoint:
2806 //=============================================================================
2807 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2808 GEOM::GEOM_Object_ptr thePoint)
2810 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2811 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2813 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2814 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2818 //=============================================================================
2820 //=============================================================================
2821 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2822 GEOM::GEOM_List_ptr theParts)
2824 beginService( " GEOM_Superv_i::GetBlockByParts" );
2825 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2826 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2827 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2829 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2830 endService( " GEOM_Superv_i::GetBlockByParts" );
2833 endService( " GEOM_Superv_i::GetBlockByParts" );
2837 //=============================================================================
2838 // GetBlocksByParts:
2839 //=============================================================================
2840 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2841 GEOM::GEOM_List_ptr theParts)
2843 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2844 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2845 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2846 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2849 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2850 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2851 endService( " GEOM_Superv_i::GetBlocksByParts" );
2852 return aListPtr->_this();
2854 endService( " GEOM_Superv_i::GetBlocksByParts" );
2858 //=============================================================================
2859 // MakeMultiTransformation1D:
2860 //=============================================================================
2861 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2862 CORBA::Long theDirFace1,
2863 CORBA::Long theDirFace2,
2864 CORBA::Long theNbTimes)
2866 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2867 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2869 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2870 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2874 //=============================================================================
2875 // MakeMultiTransformation2D:
2876 //=============================================================================
2877 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2878 (GEOM::GEOM_Object_ptr theBlock,
2879 CORBA::Long theDirFace1U,
2880 CORBA::Long theDirFace2U,
2881 CORBA::Long theNbTimesU,
2882 CORBA::Long theDirFace1V,
2883 CORBA::Long theDirFace2V,
2884 CORBA::Long theNbTimesV)
2886 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2887 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2889 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2890 theDirFace1U, theDirFace2U, theNbTimesU,
2891 theDirFace1V, theDirFace2V, theNbTimesV);
2892 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2896 //=============================== CurvesOperations ============================
2897 //=============================================================================
2898 // MakeCirclePntVecR:
2899 //=============================================================================
2900 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2901 GEOM::GEOM_Object_ptr theVector,
2904 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2905 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2907 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2908 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2912 //=============================================================================
2913 // MakeCircleThreePnt:
2914 //=============================================================================
2915 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2916 GEOM::GEOM_Object_ptr thePnt2,
2917 GEOM::GEOM_Object_ptr thePnt3)
2919 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2920 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2922 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2923 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2926 //=============================================================================
2927 // MakeCircleCenter2Pnt:
2928 //=============================================================================
2929 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2930 GEOM::GEOM_Object_ptr thePnt2,
2931 GEOM::GEOM_Object_ptr thePnt3)
2933 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2934 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2936 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2937 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2941 //=============================================================================
2943 //=============================================================================
2944 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2945 GEOM::GEOM_Object_ptr theVector,
2946 CORBA::Double theRMajor,
2947 CORBA::Double theRMinor)
2949 beginService( " GEOM_Superv_i::MakeEllipse" );
2950 MESSAGE("GEOM_Superv_i::MakeEllipse");
2952 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2953 endService( " GEOM_Superv_i::MakeEllipse" );
2957 //=============================================================================
2959 //=============================================================================
2960 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2961 GEOM::GEOM_Object_ptr theVector,
2962 CORBA::Double theRMajor,
2963 CORBA::Double theRMinor,
2964 GEOM::GEOM_Object_ptr theVectorMajor)
2966 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2967 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2969 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2970 endService( " GEOM_Superv_i::MakeEllipseVec" );
2974 //=============================================================================
2976 //=============================================================================
2977 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2978 GEOM::GEOM_Object_ptr thePnt2,
2979 GEOM::GEOM_Object_ptr thePnt3)
2981 beginService( " GEOM_Superv_i::MakeArc" );
2982 MESSAGE("GEOM_Superv_i::MakeArc");
2984 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2985 endService( " GEOM_Superv_i::MakeArc" );
2989 //=============================================================================
2991 //=============================================================================
2992 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2993 GEOM::GEOM_Object_ptr thePnt1,
2994 GEOM::GEOM_Object_ptr thePnt2,
2995 CORBA::Boolean theSense)
2997 beginService( " GEOM_Superv_i::MakeArcCenter" );
2998 MESSAGE("GEOM_Superv_i::MakeArcCenter");
3000 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
3001 endService( " GEOM_Superv_i::MakeArcCenter" );
3005 //=============================================================================
3006 // MakeArcOfEllipse:
3007 //=============================================================================
3008 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
3009 GEOM::GEOM_Object_ptr thePnt2,
3010 GEOM::GEOM_Object_ptr thePnt3)
3012 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
3013 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
3015 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
3016 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
3020 //=============================================================================
3022 //=============================================================================
3023 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
3024 CORBA::Boolean theIsClosed)
3026 beginService( " GEOM_Superv_i::MakePolyline" );
3027 MESSAGE("GEOM_Superv_i::MakePolyline");
3028 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3029 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3031 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
3032 endService( " GEOM_Superv_i::MakePolyline" );
3035 endService( " GEOM_Superv_i::MakePolyline" );
3039 //=============================================================================
3040 // MakeSplineBezier:
3041 //=============================================================================
3042 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
3043 CORBA::Boolean theIsClosed)
3045 beginService( " GEOM_Superv_i::MakeSplineBezier" );
3046 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
3047 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3048 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3050 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
3051 endService( " GEOM_Superv_i::MakeSplineBezier" );
3054 endService( " GEOM_Superv_i::MakeSplineBezier" );
3058 //=============================================================================
3059 // MakeSplineInterpolation:
3060 //=============================================================================
3061 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
3062 CORBA::Boolean theIsClosed,
3063 CORBA::Boolean theDoReordering)
3065 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
3066 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
3067 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3068 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3070 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
3071 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
3074 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
3078 //=============================================================================
3080 //=============================================================================
3081 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
3082 GEOM::GEOM_List_ptr theWorkingPlane)
3084 beginService( " GEOM_Superv_i::MakeSketcher" );
3085 MESSAGE("GEOM_Superv_i::MakeSketcher");
3086 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
3087 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
3089 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
3090 endService( " GEOM_Superv_i::MakeSketcher" );
3093 endService( " GEOM_Superv_i::MakeSketcher" );
3097 //=============================================================================
3099 //=============================================================================
3100 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
3102 beginService( " GEOM_Superv_i::Make3DSketcher" );
3103 MESSAGE("GEOM_Superv_i::Make3DSketcher");
3104 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
3105 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
3107 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
3108 endService( " GEOM_Superv_i::Make3DSketcher" );
3111 endService( " GEOM_Superv_i::Make3DSketcher" );
3115 //=============================== LocalOperations =============================
3116 //=============================================================================
3118 //=============================================================================
3119 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
3122 beginService( " GEOM_Superv_i::MakeFilletAll" );
3123 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
3125 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
3126 endService( " GEOM_Superv_i::MakeFilletAll" );
3130 //=============================================================================
3132 //=============================================================================
3133 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
3135 GEOM::GEOM_List_ptr theEdges)
3137 beginService( " GEOM_Superv_i::MakeFilletEdges" );
3138 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
3139 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3140 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3142 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
3143 endService( " GEOM_Superv_i::MakeFilletEdges" );
3146 endService( " GEOM_Superv_i::MakeFilletEdges" );
3150 //=============================================================================
3151 // MakeFilletEdges R1 R2:
3152 //=============================================================================
3153 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3154 CORBA::Double theR1,
3155 CORBA::Double theR2,
3156 GEOM::GEOM_List_ptr theEdges)
3158 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3159 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3160 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3161 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3163 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3164 theR2, aListImplE->GetList());
3165 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3168 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3172 //=============================================================================
3174 //=============================================================================
3175 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3177 GEOM::GEOM_List_ptr theFaces)
3179 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3180 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3181 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3182 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3184 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3185 endService( " GEOM_Superv_i::MakeFilletFaces" );
3188 endService( " GEOM_Superv_i::MakeFilletFaces" );
3192 //=============================================================================
3193 // MakeFilletFaces R1 R2:
3194 //=============================================================================
3195 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3196 CORBA::Double theR1,
3197 CORBA::Double theR2,
3198 GEOM::GEOM_List_ptr theFaces)
3200 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3201 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3202 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3203 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3205 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3206 aListImplF->GetList());
3207 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3210 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3214 //=============================================================================
3216 //=============================================================================
3217 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3219 GEOM::GEOM_List_ptr theVertexes)
3221 beginService( " GEOM_Superv_i::MakeFillet2D" );
3222 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3223 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3224 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3226 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3227 endService( " GEOM_Superv_i::MakeFillet2D" );
3230 endService( " GEOM_Superv_i::MakeFillet2D" );
3234 //=============================================================================
3236 //=============================================================================
3237 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3239 GEOM::GEOM_List_ptr theVertexes,
3240 CORBA::Boolean doIgnoreSecantVertices)
3242 beginService( " GEOM_Superv_i::MakeFillet1D" );
3243 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3244 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3245 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3247 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3248 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3249 endService( " GEOM_Superv_i::MakeFillet1D" );
3252 endService( " GEOM_Superv_i::MakeFillet1D" );
3256 //=============================================================================
3258 //=============================================================================
3259 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3261 beginService( " GEOM_Superv_i::MakeChamferAll" );
3262 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3264 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3265 endService( " GEOM_Superv_i::MakeChamferAll" );
3269 //=============================================================================
3271 //=============================================================================
3272 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3273 CORBA::Double theD1, CORBA::Double theD2,
3274 CORBA::Long theFace1, CORBA::Long theFace2)
3276 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3277 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3279 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3280 endService( " GEOM_Superv_i::MakeChamferEdge" );
3284 //=============================================================================
3285 // MakeChamferEdgeAD:
3286 //=============================================================================
3287 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3288 CORBA::Double theD, CORBA::Double theAngle,
3289 CORBA::Long theFace1, CORBA::Long theFace2)
3291 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3292 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3294 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3295 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3299 //=============================================================================
3300 // MakeChamferFaces:
3301 //=============================================================================
3302 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3303 CORBA::Double theD1, CORBA::Double theD2,
3304 GEOM::GEOM_List_ptr theFaces)
3306 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3307 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3308 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3309 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3311 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3312 endService( " GEOM_Superv_i::MakeChamferFaces" );
3315 endService( " GEOM_Superv_i::MakeChamferFaces" );
3319 //=============================================================================
3320 // MakeChamferFacesAD:
3321 //=============================================================================
3322 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3323 CORBA::Double theD, CORBA::Double theAngle,
3324 GEOM::GEOM_List_ptr theFaces)
3326 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3327 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3328 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3329 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3331 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3332 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3335 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3339 //=============================================================================
3340 // MakeChamferEdges:
3341 //=============================================================================
3342 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3343 CORBA::Double theD1, CORBA::Double theD2,
3344 GEOM::GEOM_List_ptr theEdges)
3346 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3347 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3348 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3349 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3351 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3352 endService( " GEOM_Superv_i::MakeChamferEdges" );
3355 endService( " GEOM_Superv_i::MakeChamferEdges" );
3359 //=============================================================================
3360 // MakeChamferEdgesAD:
3361 //=============================================================================
3362 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3363 CORBA::Double theD, CORBA::Double theAngle,
3364 GEOM::GEOM_List_ptr theEdges)
3366 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3367 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3368 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3369 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3371 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3372 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3375 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3379 //=============================================================================
3381 //=============================================================================
3382 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3383 CORBA::Double theWeight,
3384 CORBA::Double theWaterDensity,
3385 CORBA::Double theMeshingDeflection)
3387 beginService( " GEOM_Superv_i::MakeArchimede" );
3388 MESSAGE("GEOM_Superv_i::MakeArchimede");
3390 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3391 endService( " GEOM_Superv_i::MakeArchimede" );
3395 //=============================================================================
3396 // GetSubShapeIndexMakeFilletAll:
3397 //=============================================================================
3398 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3399 GEOM::GEOM_Object_ptr theSubShape)
3401 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3402 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3404 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3405 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3409 //=============================== GroupOperations =============================
3410 //=============================================================================
3412 //=============================================================================
3413 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3414 CORBA::Long theShapeType)
3416 beginService( " GEOM_Superv_i::CreateGroup" );
3417 MESSAGE("GEOM_Superv_i::CreateGroup");
3419 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3420 endService( " GEOM_Superv_i::CreateGroup" );
3424 //=============================================================================
3426 //=============================================================================
3427 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3428 CORBA::Long theSubShapeId)
3430 beginService( " GEOM_Superv_i::AddObject" );
3431 MESSAGE("GEOM_Superv_i::AddObject");
3433 myGroupOp->AddObject(theGroup, theSubShapeId);
3434 endService( " GEOM_Superv_i::AddObject" );
3437 //=============================================================================
3439 //=============================================================================
3440 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3441 CORBA::Long theSubShapeId)
3443 beginService( " GEOM_Superv_i::RemoveObject" );
3444 MESSAGE("GEOM_Superv_i::RemoveObject");
3446 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3447 endService( " GEOM_Superv_i::RemoveObject" );
3450 //=============================================================================
3452 //=============================================================================
3453 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3455 beginService( " GEOM_Superv_i::GetType" );
3456 MESSAGE("GEOM_Superv_i::GetType");
3458 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3459 endService( " GEOM_Superv_i::GetType" );
3463 //=============================================================================
3465 //=============================================================================
3466 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3468 beginService( " GEOM_Superv_i::GetMainShape" );
3469 MESSAGE("GEOM_Superv_i::GetMainShape");
3471 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3472 endService( " GEOM_Superv_i::GetMainShape" );
3476 //=============================================================================
3478 //=============================================================================
3479 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3481 beginService( " GEOM_Superv_i::GetObjects" );
3482 MESSAGE("GEOM_Superv_i::GetObjects");
3485 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3486 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3487 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3488 endService( " GEOM_Superv_i::GetObjects" );
3489 return aListPtr->_this();
3492 //=============================== Import/Export Operations =============================
3493 //=============================================================================
3495 //=============================================================================
3496 void GEOM_Superv_i::ExportSTL( GEOM::GEOM_Object_ptr theObject,
3497 const char* theFileName,
3498 const bool theIsASCII,
3499 CORBA::Double theDeflection,
3500 const bool theIsRelative )
3502 beginService( " GEOM_Superv_i::ExportSTL" );
3503 MESSAGE("GEOM_Superv_i::ExportSTL");
3505 mySTLOp->ExportSTL( theObject, theFileName, theIsASCII, theDeflection, theIsRelative );
3506 endService( " GEOM_Superv_i::ExportSTL" );
3509 //=============================================================================
3511 //=============================================================================
3512 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTL( const char* theFileName )
3514 beginService( " GEOM_Superv_i::ImportSTL" );
3515 MESSAGE("GEOM_Superv_i::ImportSTL");
3517 GEOM::ListOfGO* aSeq = mySTLOp->ImportSTL(theFileName );
3518 GEOM::GEOM_Object_ptr anObj;
3520 if (aSeq->length() > 0) {
3521 anObj = aSeq->operator[](0);
3524 endService( " GEOM_Superv_i::ImportSTL" );
3528 //=============================================================================
3530 //=============================================================================
3531 void GEOM_Superv_i::ExportBREP( GEOM::GEOM_Object_ptr theObject,
3532 const char* theFileName )
3534 beginService( " GEOM_Superv_i::ExportBREP" );
3535 MESSAGE("GEOM_Superv_i::ExportBREP");
3537 myBREPOp->ExportBREP( theObject, theFileName );
3538 endService( " GEOM_Superv_i::ExportBREP" );
3541 //=============================================================================
3543 //=============================================================================
3544 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportBREP( const char* theFileName )
3546 beginService( " GEOM_Superv_i::ImportBREP" );
3547 MESSAGE("GEOM_Superv_i::ImportBREP");
3549 GEOM::ListOfGO* aSeq = myBREPOp->ImportBREP(theFileName );
3550 GEOM::GEOM_Object_ptr anObj;
3552 if (aSeq->length() > 0) {
3553 anObj = aSeq->operator[](0);
3556 endService( " GEOM_Superv_i::ImportBREP" );
3560 //=============================================================================
3562 //=============================================================================
3563 void GEOM_Superv_i::ExportSTEP( GEOM::GEOM_Object_ptr theObject,
3564 const char* theFileName )
3566 beginService( " GEOM_Superv_i::ExportSTEP" );
3567 MESSAGE("GEOM_Superv_i::ExportSTEP");
3570 const GEOM::length_unit aUnit = GEOM::LU_METER;
3572 mySTEPOp->ExportSTEP( theObject, theFileName, aUnit );
3573 endService( " GEOM_Superv_i::ExportSTEP" );
3576 //=============================================================================
3578 //=============================================================================
3579 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTEP( const char* theFileName,
3580 const bool theIsIgnoreUnits )
3582 beginService( " GEOM_Superv_i::ImportSTEP" );
3583 MESSAGE("GEOM_Superv_i::ImportSTEP");
3585 GEOM::ListOfGO* aSeq = mySTEPOp->ImportSTEP(theFileName, theIsIgnoreUnits, false );
3586 GEOM::GEOM_Object_ptr anObj;
3588 if (aSeq->length() > 0) {
3589 anObj = aSeq->operator[](0);
3592 endService( " GEOM_Superv_i::ImportSTEP" );
3596 //=============================================================================
3598 //=============================================================================
3599 void GEOM_Superv_i::ExportIGES( GEOM::GEOM_Object_ptr theObject,
3600 const char* theFileName,
3601 const char* theVersion )
3603 beginService( " GEOM_Superv_i::ExportIGES" );
3604 MESSAGE("GEOM_Superv_i::ExportIGES");
3606 myIGESOp->ExportIGES( theObject, theFileName, theVersion );
3607 endService( " GEOM_Superv_i::ExportIGES" );
3610 //=============================================================================
3612 //=============================================================================
3613 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportIGES( const char* theFileName,
3614 const bool theIsIgnoreUnits )
3616 beginService( " GEOM_Superv_i::ImportIGES" );
3617 MESSAGE("GEOM_Superv_i::ImportIGES");
3619 GEOM::ListOfGO* aSeq = myIGESOp->ImportIGES(theFileName, theIsIgnoreUnits );
3620 GEOM::GEOM_Object_ptr anObj;
3622 if (aSeq->length() > 0) {
3623 anObj = aSeq->operator[](0);
3626 endService( " GEOM_Superv_i::ImportIGES" );
3630 //=============================================================================
3632 //=============================================================================
3633 CORBA::Boolean GEOM_Superv_i::ExportXAO( GEOM::GEOM_Object_ptr shape,
3634 const GEOM::ListOfGO& groups,
3635 const GEOM::ListOfFields& fields,
3637 const char* fileName,
3638 const char* shapeFileName )
3640 beginService( " GEOM_Superv_i::ExportXAO" );
3641 MESSAGE("GEOM_Superv_i::ExportXAO");
3643 CORBA::Boolean isGood = myXAOOp->ExportXAO( shape, groups, fields, author, fileName, shapeFileName );
3644 endService( " GEOM_Superv_i::ExportXAO" );
3648 //=============================================================================
3650 //=============================================================================
3651 CORBA::Boolean GEOM_Superv_i::ImportXAO( const char* fileName,
3652 GEOM::GEOM_Object_out shape,
3653 GEOM::ListOfGO_out subShapes,
3654 GEOM::ListOfGO_out groups,
3655 GEOM::ListOfFields_out fields )
3661 //=============================================================================
3663 //=============================================================================
3664 void GEOM_Superv_i::ExportVTK( GEOM::GEOM_Object_ptr theObject,
3665 const char* theFileName,
3666 CORBA::Double theDeflection )
3669 beginService( " GEOM_Superv_i::ExportVTK" );
3670 MESSAGE("GEOM_Superv_i::ExportVTK");
3672 myVTKOp->ExportVTK( theObject, theFileName, theDeflection );
3673 endService( " GEOM_Superv_i::ExportVTK" );
3675 std::string message("GEOM_Superv_i::ExportVTK functionality is unavailable");
3676 THROW_SALOME_CORBA_EXCEPTION(message.c_str(), SALOME::INTERNAL_ERROR);
3680 //=============================== Advanced Operations =============================
3681 //=============================================================================
3683 //=============================================================================
3684 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3685 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3686 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3687 CORBA::Boolean theHexMesh)
3689 beginService( " GEOM_Superv_i::MakePipeTShape" );
3690 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3693 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3694 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3695 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3696 endService( " GEOM_Superv_i::MakePipeTShape" );
3697 return aSeqPtr->_this();
3700 //=============================================================================
3701 // MakePipeTShapeWithPosition
3702 //=============================================================================
3703 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3704 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3705 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3706 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3708 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3709 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3712 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3713 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3714 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3715 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3716 return aSeqPtr->_this();
3719 //=============================================================================
3720 // MakePipeTShapeChamfer
3721 //=============================================================================
3722 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3723 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3724 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3725 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3727 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3728 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3731 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3732 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3733 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3734 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3735 return aSeqPtr->_this();
3738 //=============================================================================
3739 // MakePipeTShapeChamferWithPosition
3740 //=============================================================================
3741 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3742 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3743 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3744 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3745 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3747 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3748 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3751 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3752 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3753 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3754 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3755 return aSeqPtr->_this();
3758 //=============================================================================
3759 // MakePipeTShapeFillet
3760 //=============================================================================
3761 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3762 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3763 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3764 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3766 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3767 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3770 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3771 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3772 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3773 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3774 return aSeqPtr->_this();
3777 //=============================================================================
3778 // MakePipeTShapeFilletWithPosition
3779 //=============================================================================
3780 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3781 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3782 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3783 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3784 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3786 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3787 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3790 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3791 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3792 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3793 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3794 return aSeqPtr->_this();
3797 //=============================================================================
3799 //=============================================================================
3800 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3801 CORBA::Short theOrientation, GEOM::pattern thePattern)
3803 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3804 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3806 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3807 endService( " GEOM_Superv_i::MakeDividedDisk" );
3811 //=============================================================================
3812 // MakeDividedCylinder
3813 //=============================================================================
3814 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3816 GEOM::pattern thePattern)
3818 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3819 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3821 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3822 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3826 //=============================================================================
3827 // MakeSmoothingSurface
3828 //=============================================================================
3829 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3831 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3832 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3834 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3835 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3837 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3838 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3841 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3845 /*@@ insert new functions before this line @@ do not remove this line @@*/
3847 //=====================================================================================
3849 //=====================================================================================
3853 __declspec( dllexport )
3855 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3856 PortableServer::POA_ptr poa,
3857 PortableServer::ObjectId * contId,
3858 const char *instanceName,
3859 const char * interfaceName)
3861 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3862 //Don't understand the reason why this component is registered ???
3863 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3864 return myGEOM_Superv_i->getId() ;