1 // Copyright (C) 2007-2015 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"
26 #include CORBA_SERVER_HEADER(SALOME_Session)
27 #include "SALOMEDSClient_ClientFactory.hxx"
29 #define isNewStudy(a,b) (a > 0 && a != b)
31 //=============================================================================
33 //=============================================================================
34 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
35 PortableServer::POA_ptr poa,
36 PortableServer::ObjectId * contId,
37 const char *instanceName,
38 const char *interfaceName) :
39 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
41 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
44 _id = _poa->activate_object(_thisObj);
45 name_service = new SALOME_NamingService(_orb);
46 //get RootPOA (the default)
47 //myPOA = PortableServer::RefCountServantBase::_default_POA();
48 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
49 myPOA = PortableServer::POA::_narrow(anObj);
56 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
57 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
58 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
59 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
60 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
61 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
62 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
63 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
64 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
65 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
68 //=============================================================================
70 //=============================================================================
71 GEOM_Superv_i::~GEOM_Superv_i()
73 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
74 if (!CORBA::is_nil(myBasicOp))
75 myBasicOp->UnRegister();
76 if (!CORBA::is_nil(myBoolOp))
77 myBoolOp->UnRegister();
78 if (!CORBA::is_nil(my3DPrimOp))
79 my3DPrimOp->UnRegister();
83 //============================================================================
84 // function : register()
85 // purpose : register 'name' in 'name_service'
86 //============================================================================
87 void GEOM_Superv_i::register_name(char * name)
89 GEOM::GEOM_Superv_var g = _this();
90 name_service->Register(g, name);
93 //=============================================================================
95 //=============================================================================
96 void GEOM_Superv_i::setGeomEngine()
98 if ( !CORBA::is_nil(myGeomEngine) )
101 // get GEOM_Gen engine
102 Engines::Container_var cont=GetContainerRef();
103 CORBA::String_var container_name=cont->name();
104 std::string shortName=container_name.in();
105 shortName=shortName.substr(12); // substract "/Containers/"
106 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
107 Engines::EngineComponent_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
110 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
113 //=============================================================================
115 //=============================================================================
116 void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
118 // mkr : PAL10770 -->
119 myLastStudyID = myStudyID;
121 CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session");
122 if ( !CORBA::is_nil(anObject) ) {
123 SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
124 if ( !CORBA::is_nil(aSession) ) {
125 int aStudyID = aSession->GetActiveStudyId();
126 if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128
127 MESSAGE("Warning : given study ID theId="<<theId<<" is wrong and will be replaced by the value "<<aStudyID);
128 myStudyID = aStudyID;
131 myStudyID = theId; // mkr : IPAL12128
135 if ( isNewStudy(myLastStudyID,myStudyID) ) {
136 if (CORBA::is_nil(myGeomEngine)) setGeomEngine();
137 std::string anEngine = _orb->object_to_string( myGeomEngine );
139 CORBA::Object_var anObj = name_service->Resolve("/myStudyManager");
140 if ( !CORBA::is_nil(anObj) ) {
141 SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj);
142 if ( !CORBA::is_nil(aStudyManager) ) {
143 _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID));
145 _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType());
147 _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder();
148 if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine );
154 // mkr : PAL10770 <--
157 //=============================================================================
159 //=============================================================================
160 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
162 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
163 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
164 return aListPtr->_this();
167 //=============================================================================
168 // AddItemToListOfGO:
169 //=============================================================================
170 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
171 GEOM::GEOM_Object_ptr theObject)
173 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
174 GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate(theObject);
175 if (GEOM_List_i<GEOM::ListOfGO>* aList =
176 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
177 aList->AddObject(anObj);
178 MESSAGE(" NewLength = "<<aList->GetList().length());
182 //=============================================================================
184 //=============================================================================
185 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
187 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
188 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
189 return aListPtr->_this();
192 //=============================================================================
193 // AddItemToListOfLong:
194 //=============================================================================
195 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
196 CORBA::Long theObject)
198 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
199 if (GEOM_List_i<GEOM::ListOfLong>* aList =
200 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
201 aList->AddObject(theObject);
202 MESSAGE(" NewLength = "<<aList->GetList().length());
206 //=============================================================================
207 // CreateListOfDouble:
208 //=============================================================================
209 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
211 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
212 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
213 return aListPtr->_this();
216 //=============================================================================
217 // AddItemToListOfDouble:
218 //=============================================================================
219 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
220 CORBA::Double theObject)
222 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
223 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
224 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
225 aList->AddObject(theObject);
226 MESSAGE(" NewLength = "<<aList->GetList().length());
230 //=============================================================================
232 //=============================================================================
233 void GEOM_Superv_i::getBasicOp()
235 if (CORBA::is_nil(myGeomEngine))
237 // get GEOM_IBasicOperations interface
238 if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID)) {
239 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
240 // Try to get id of the study from the SALOME Session
241 if(myStudyID < 0 ) SetStudyID(-1);
242 myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
246 //=============================================================================
248 //=============================================================================
249 void GEOM_Superv_i::get3DPrimOp()
251 if (CORBA::is_nil(myGeomEngine))
253 // get GEOM_I3DPrimOperations interface
254 if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID)) {
255 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
256 // Try to get id of the study from the SALOME Session
257 if(myStudyID < 0 ) SetStudyID(-1);
258 my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
262 //=============================================================================
264 //=============================================================================
265 void GEOM_Superv_i::getBoolOp()
267 if (CORBA::is_nil(myGeomEngine))
269 // get GEOM_IBooleanOperations interface
270 if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID)) {
271 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
272 // Try to get id of the study from the SALOME Session
273 if(myStudyID < 0 ) SetStudyID(-1);
274 myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
278 //=============================================================================
280 //=============================================================================
281 void GEOM_Superv_i::getInsOp()
283 if (CORBA::is_nil(myGeomEngine))
285 // get GEOM_IInsertOperations interface
286 if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID)) {
287 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
288 // Try to get id of the study from the SALOME Session
289 if(myStudyID < 0 ) SetStudyID(-1);
290 myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
294 //=============================================================================
296 //=============================================================================
297 void GEOM_Superv_i::getTransfOp()
299 if (CORBA::is_nil(myGeomEngine))
301 // get GEOM_ITransformOperations interface
302 if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID)) {
303 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
304 // Try to get id of the study from the SALOME Session
305 if(myStudyID < 0 ) SetStudyID(-1);
306 myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
310 //=============================================================================
312 //=============================================================================
313 void GEOM_Superv_i::getShapesOp()
315 if (CORBA::is_nil(myGeomEngine))
317 // get GEOM_IShapesOperations interface
318 if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID)) {
319 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
320 // Try to get id of the study from the SALOME Session
321 if(myStudyID < 0 ) SetStudyID(-1);
322 myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
326 //=============================================================================
328 //=============================================================================
329 void GEOM_Superv_i::getBlocksOp()
331 if (CORBA::is_nil(myGeomEngine))
333 // get GEOM_IBlocksOperations interface
334 if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID)) {
335 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
336 // Try to get id of the study from the SALOME Session
337 if(myStudyID < 0 ) SetStudyID(-1);
338 myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
342 //=============================================================================
344 //=============================================================================
345 void GEOM_Superv_i::getCurvesOp()
347 if (CORBA::is_nil(myGeomEngine))
349 // get GEOM_ICurvesOperations interface
350 if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID)) {
351 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
352 // Try to get id of the study from the SALOME Session
353 if(myStudyID < 0 ) SetStudyID(-1);
354 myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
358 //=============================================================================
360 //=============================================================================
361 void GEOM_Superv_i::getLocalOp()
363 if (CORBA::is_nil(myGeomEngine))
365 // get GEOM_ILocalOperations interface
366 if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID)) {
367 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
368 // Try to get id of the study from the SALOME Session
369 if(myStudyID < 0 ) SetStudyID(-1);
370 myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
374 //=============================================================================
376 //=============================================================================
377 void GEOM_Superv_i::getGroupOp()
379 if (CORBA::is_nil(myGeomEngine))
381 // get GEOM_IGroupOperations interface
382 if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID)) {
383 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
384 // Try to get id of the study from the SALOME Session
385 if(myStudyID < 0 ) SetStudyID(-1);
386 myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
390 //=============================================================================
392 //=============================================================================
393 void GEOM_Superv_i::getAdvancedOp()
395 if (CORBA::is_nil(myGeomEngine))
397 // get GEOM::IAdvancedOperations interface
398 if (CORBA::is_nil(myAdvancedOp) || isNewStudy(myLastStudyID,myStudyID)) {
399 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
400 // Try to get id of the study from the SALOME Session
401 if(myStudyID < 0 ) SetStudyID(-1);
402 myAdvancedOp = GEOM::IAdvancedOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "AdvancedEngine"));
406 //=============================================================================
408 //=============================================================================
409 void GEOM_Superv_i::getSTLPluginOp()
411 if (CORBA::is_nil(myGeomEngine))
413 // get GEOM::ISTLOperations interface
414 if (CORBA::is_nil(mySTLOp) || isNewStudy(myLastStudyID,myStudyID)) {
415 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
416 // Try to get id of the study from the SALOME Session
417 if(myStudyID < 0 ) SetStudyID(-1);
418 mySTLOp = GEOM::ISTLOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "STLPluginEngine"));
422 //=============================================================================
424 //=============================================================================
425 void GEOM_Superv_i::getBREPPluginOp()
427 if (CORBA::is_nil(myGeomEngine))
429 // get GEOM:IBREPOperations interface
430 if (CORBA::is_nil(myBREPOp) || isNewStudy(myLastStudyID,myStudyID)) {
431 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
432 // Try to get id of the study from the SALOME Session
433 if(myStudyID < 0 ) SetStudyID(-1);
434 myBREPOp = GEOM::IBREPOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "BREPPluginEngine"));
438 //=============================================================================
440 //=============================================================================
441 void GEOM_Superv_i::getSTEPPluginOp()
443 if (CORBA::is_nil(myGeomEngine))
445 // get GEOM::ISTEPOperations interface
446 if (CORBA::is_nil(mySTEPOp) || isNewStudy(myLastStudyID,myStudyID)) {
447 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
448 // Try to get id of the study from the SALOME Session
449 if(myStudyID < 0 ) SetStudyID(-1);
450 mySTEPOp = GEOM::ISTEPOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "STEPPluginEngine"));
454 //=============================================================================
456 //=============================================================================
457 void GEOM_Superv_i::getIGESPluginOp()
459 if (CORBA::is_nil(myGeomEngine))
461 // get GEOM::IIGESOperations interface
462 if (CORBA::is_nil(myIGESOp) || isNewStudy(myLastStudyID,myStudyID)) {
463 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
464 // Try to get id of the study from the SALOME Session
465 if(myStudyID < 0 ) SetStudyID(-1);
466 myIGESOp = GEOM::IIGESOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "IGESPluginEngine"));
470 //=============================================================================
472 //=============================================================================
473 void GEOM_Superv_i::getXAOPluginOp()
475 if (CORBA::is_nil(myGeomEngine))
477 // get GEOM::IXAOOperations interface
478 if (CORBA::is_nil(myXAOOp) || isNewStudy(myLastStudyID,myStudyID)) {
479 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
480 // Try to get id of the study from the SALOME Session
481 if(myStudyID < 0 ) SetStudyID(-1);
482 myXAOOp = GEOM::IXAOOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "XAOPluginEngine"));
486 //=============================================================================
488 //=============================================================================
489 void GEOM_Superv_i::getVTKPluginOp()
491 if (CORBA::is_nil(myGeomEngine))
493 // get GEOM::IVTKOperations interface
494 if (CORBA::is_nil(myVTKOp) || isNewStudy(myLastStudyID,myStudyID)) {
495 //rnv: to fix bug "IPAL22461 6.3.0: Incorrect study storage if study contains shape modified with YACS"
496 // Try to get id of the study from the SALOME Session
497 if(myStudyID < 0 ) SetStudyID(-1);
498 myVTKOp = GEOM::IVTKOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "VTKPluginEngine"));
502 //=============================================================================
504 //=============================================================================
505 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
506 PortableServer::POA_ptr thePOA)
508 if(CORBA::is_nil(theObject)) return NULL;
509 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
513 //============================================================================
515 // purpose : save OCAF/Geom document
516 //============================================================================
517 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
519 CORBA::Boolean isMultiFile)
521 SALOMEDS::TMPFile_var aStreamFile;
522 return aStreamFile._retn();
525 //============================================================================
526 // function : SaveASCII()
528 //============================================================================
529 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
531 CORBA::Boolean isMultiFile)
533 SALOMEDS::TMPFile_var aStreamFile;
534 return aStreamFile._retn();
537 //============================================================================
540 //============================================================================
541 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
542 const SALOMEDS::TMPFile& theStream,
544 CORBA::Boolean isMultiFile)
549 //============================================================================
550 // function : LoadASCII()
552 //============================================================================
553 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
554 const SALOMEDS::TMPFile& theStream,
556 CORBA::Boolean isMultiFile)
561 //============================================================================
562 // function : Close()
564 //============================================================================
565 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
569 //============================================================================
570 // function : ComponentDataType()
572 //============================================================================
573 char* GEOM_Superv_i::ComponentDataType()
578 //============================================================================
579 // function : IORToLocalPersistentID()
581 //============================================================================
582 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
583 const char* IORString,
584 CORBA::Boolean isMultiFile,
585 CORBA::Boolean isASCII)
590 //============================================================================
591 // function : LocalPersistentIDToIOR()
592 // purpose : Create/Load CORBA object from a persistent ref (an entry)
593 // : Used when a study is loaded
594 // : The IOR (IORName) of object created is returned
595 //============================================================================
596 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
597 const char* aLocalPersistentID,
598 CORBA::Boolean isMultiFile,
599 CORBA::Boolean isASCII)
604 //============================================================================
605 // function : CanPublishInStudy
607 //============================================================================
608 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
610 if (CORBA::is_nil(myGeomEngine))
612 return myGeomEngine->CanPublishInStudy(theIOR);
615 //============================================================================
616 // function : PublishInStudy
618 //============================================================================
619 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
620 SALOMEDS::SObject_ptr theSObject,
621 CORBA::Object_ptr theObject,
622 const char* theName) throw (SALOME::SALOME_Exception)
624 if (CORBA::is_nil(myGeomEngine))
626 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
629 //============================================================================
630 // function : PublishNamedShapesInStudy
632 //============================================================================
634 GEOM_Superv_i::PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
635 //SALOMEDS::SObject_ptr theSObject,
636 CORBA::Object_ptr theObject)
638 if (CORBA::is_nil(myGeomEngine))
640 return myGeomEngine->PublishNamedShapesInStudy(theStudy, theObject);
643 //============================================================================
644 // function : CanCopy()
646 //============================================================================
647 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
652 //============================================================================
653 // function : CopyFrom()
655 //============================================================================
656 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
658 SALOMEDS::TMPFile_var aStreamFile;
659 return aStreamFile._retn();
662 //============================================================================
663 // function : CanPaste()
665 //============================================================================
666 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
671 //============================================================================
672 // function : PasteInto()
674 //============================================================================
675 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
676 CORBA::Long theObjectID,
677 SALOMEDS::SObject_ptr theObject)
679 SALOMEDS::SObject_var aNewSO;
680 return aNewSO._retn();
683 //================= Primitives Construction : BasicOperations =================
684 //=============================================================================
686 //=============================================================================
687 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
691 beginService( " GEOM_Superv_i::MakePointXYZ" );
692 MESSAGE("GEOM_Superv_i::MakePointXYZ");
694 // make vertex and return
695 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
696 endService( " GEOM_Superv_i::MakePointXYZ" );
700 //=============================================================================
701 // MakePointWithReference:
702 //=============================================================================
703 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
708 beginService( " GEOM_Superv_i::MakePointWithReference" );
709 MESSAGE("GEOM_Superv_i::MakePointWithReference");
711 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
712 endService( " GEOM_Superv_i::MakePointWithReference" );
716 //=============================================================================
718 //=============================================================================
719 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
720 CORBA::Double theParameter)
722 beginService( " GEOM_Superv_i::MakePointOnCurve" );
723 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
725 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter, false);
726 endService( " GEOM_Superv_i::MakePointOnCurve" );
730 //=============================================================================
731 // MakePointOnCurveByLength:
732 //=============================================================================
733 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
734 CORBA::Double theLength,
735 GEOM::GEOM_Object_ptr theStartPoint)
737 beginService( " GEOM_Superv_i::MakePointOnCurveByLength" );
738 MESSAGE("GEOM_Superv_i::MakePointOnCurveByLength");
740 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurveByLength(theRefCurve, theLength, theStartPoint);
741 endService( " GEOM_Superv_i::MakePointOnCurveByLength" );
745 //=============================================================================
746 // MakePointOnCurveByCoord
747 //=============================================================================
748 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
749 CORBA::Double theXParameter,
750 CORBA::Double theYParameter,
751 CORBA::Double theZParameter)
753 beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
754 MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
756 GEOM::GEOM_Object_ptr anObj =
757 myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
758 theYParameter, theZParameter);
759 endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
763 //=============================================================================
764 // MakePointOnSurface:
765 //=============================================================================
766 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
767 CORBA::Double theUParameter,
768 CORBA::Double theVParameter)
770 beginService( " GEOM_Superv_i::MakePointOnSurface" );
771 MESSAGE("GEOM_Superv_i::MakePointOnSurface");
773 GEOM::GEOM_Object_ptr anObj =
774 myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
775 endService( " GEOM_Superv_i::MakePointOnSurface" );
779 //=============================================================================
780 // MakePointOnSurfaceByCoord
781 //=============================================================================
782 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
783 CORBA::Double theXParameter,
784 CORBA::Double theYParameter,
785 CORBA::Double theZParameter)
787 beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
788 MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
790 GEOM::GEOM_Object_ptr anObj =
791 myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
792 theYParameter, theZParameter);
793 endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
797 //=============================================================================
798 // MakePointOnLinesIntersection:
799 //=============================================================================
800 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
801 GEOM::GEOM_Object_ptr theRefLine2)
803 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
804 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
806 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
807 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
811 //=============================================================================
812 // MakeTangentOnCurve:
813 //=============================================================================
814 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
815 CORBA::Double theParameter)
817 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
818 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
820 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
821 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
825 //=============================================================================
827 //=============================================================================
828 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
832 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
833 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
835 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
836 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
840 //=============================================================================
842 //=============================================================================
843 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
844 GEOM::GEOM_Object_ptr thePnt2)
846 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
847 MESSAGE("GEOM_Superv_i::MakeVector");
849 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
850 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
854 //=============================================================================
856 //=============================================================================
857 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
858 GEOM::GEOM_Object_ptr thePnt2)
860 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
861 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
863 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
864 endService( " GEOM_Superv_i::MakeLineTwoPnt");
868 //=============================================================================
870 //=============================================================================
871 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
872 GEOM::GEOM_Object_ptr theFace2)
874 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
875 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
877 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
878 endService( " GEOM_Superv_i::MakeLineTwoFaces");
882 //=============================================================================
883 // MakePlaneThreePnt:
884 //=============================================================================
885 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
886 GEOM::GEOM_Object_ptr thePnt2,
887 GEOM::GEOM_Object_ptr thePnt3,
888 CORBA::Double theTrimSize)
890 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
891 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
893 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
894 endService( " GEOM_Superv_i::MakePlaneThreePnt");
898 //=============================================================================
900 //=============================================================================
901 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
902 GEOM::GEOM_Object_ptr theVec,
903 CORBA::Double theTrimSize)
905 beginService( " GEOM_Superv_i::MakePlanePntVec" );
906 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
908 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
909 endService( " GEOM_Superv_i::MakePlanePntVec" );
913 //=============================================================================
915 //=============================================================================
916 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
917 CORBA::Double theTrimSize)
919 beginService( " GEOM_Superv_i::MakePlaneFace" );
920 MESSAGE("GEOM_Superv_i::MakePlaneFace");
922 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
923 endService( " GEOM_Superv_i::MakePlaneFace" );
927 //=============================================================================
929 //=============================================================================
930 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
931 GEOM::GEOM_Object_ptr theVec2,
932 CORBA::Double theTrimSize)
934 beginService( " GEOM_Superv_i::MakePlane2Vec" );
935 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
937 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
938 endService( " GEOM_Superv_i::MakePlane2Vec" );
942 //=============================================================================
944 //=============================================================================
945 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
946 CORBA::Double theTrimSize,
947 CORBA::Double theOrientation)
949 beginService( " GEOM_Superv_i::MakePlaneLCS" );
950 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
952 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
953 endService( " GEOM_Superv_i::MakePlaneLCS" );
957 //=============================================================================
959 //=============================================================================
960 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
961 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
962 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
963 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
965 beginService( " GEOM_Superv_i::MakeMarker" );
966 MESSAGE("GEOM_Superv_i::MakeMarker");
968 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
969 endService( " GEOM_Superv_i::MakeMarker" );
973 //=============================================================================
974 // MakeMarkerFromShape:
975 //=============================================================================
976 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape)
978 beginService( " GEOM_Superv_i::MakeMarkerFromShape" );
979 MESSAGE("GEOM_Superv_i::MakeMarkerFromShape");
981 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerFromShape(theShape);
982 endService( " GEOM_Superv_i::MakeMarkerFromShape" );
986 //=============================================================================
987 // MakeMarkerPntTwoVec:
988 //=============================================================================
989 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
990 GEOM::GEOM_Object_ptr theXVec,
991 GEOM::GEOM_Object_ptr theYVec)
993 beginService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
994 MESSAGE("GEOM_Superv_i::MakeMarkerPntTwoVec");
996 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec);
997 endService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
1001 //=============================================================================
1002 // MakeTangentPlaneOnFace:
1003 //=============================================================================
1004 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
1005 CORBA::Double theParameterU,
1006 CORBA::Double theParameterV,
1007 CORBA::Double theTrimSize)
1009 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
1010 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
1012 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
1013 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
1017 //================= Primitives Construction : 3DPrimOperations ================
1018 //=============================================================================
1020 //=============================================================================
1021 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
1022 CORBA::Double theY1,
1023 CORBA::Double theZ1,
1024 CORBA::Double theX2,
1025 CORBA::Double theY2,
1026 CORBA::Double theZ2)
1028 beginService( " GEOM_Superv_i::MakeBox" );
1029 MESSAGE("GEOM_Superv_i::MakeBox");
1032 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
1033 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
1034 endService( " GEOM_Superv_i::MakeBox" );
1038 //=============================================================================
1040 //=============================================================================
1041 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
1042 CORBA::Double theDY,
1043 CORBA::Double theDZ)
1045 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
1046 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
1048 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
1049 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
1053 //=============================================================================
1055 //=============================================================================
1056 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
1057 GEOM::GEOM_Object_ptr thePnt2)
1059 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
1060 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
1062 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
1063 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
1067 //=============================================================================
1069 //=============================================================================
1070 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
1072 CORBA::Short theOrientation)
1074 beginService( " GEOM_Superv_i::MakeFaceHW" );
1075 MESSAGE("GEOM_Superv_i::MakeFaceHW");
1077 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
1078 endService( " GEOM_Superv_i::MakeFaceHW" );
1082 //=============================================================================
1084 //=============================================================================
1085 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
1089 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
1090 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
1092 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
1093 endService( " GEOM_Superv_i::MakeFaceObjHW" );
1097 //=============================================================================
1099 //=============================================================================
1100 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
1101 GEOM::GEOM_Object_ptr theVector,
1104 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
1105 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
1107 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
1108 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
1112 //=============================================================================
1113 // MakeDiskThreePnt:
1114 //=============================================================================
1115 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1116 GEOM::GEOM_Object_ptr thePnt2,
1117 GEOM::GEOM_Object_ptr thePnt3)
1119 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
1120 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
1122 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
1123 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
1127 //=============================================================================
1129 //=============================================================================
1130 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
1131 CORBA::Short theOrientation)
1133 beginService( " GEOM_Superv_i::MakeDiskR" );
1134 MESSAGE("GEOM_Superv_i::MakeDiskR");
1136 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
1137 endService( " GEOM_Superv_i::MakeDiskR" );
1141 //=============================================================================
1142 // MakeCylinderPntVecRH:
1143 //=============================================================================
1144 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
1145 GEOM::GEOM_Object_ptr theAxis,
1146 CORBA::Double theRadius,
1147 CORBA::Double theHeight)
1149 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1150 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1152 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
1153 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1157 //=============================================================================
1159 //=============================================================================
1160 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1163 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1164 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1166 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
1167 endService( " GEOM_Superv_i::MakeCylinderRH" );
1171 //=============================================================================
1172 // MakeCylinderPntVecRHA:
1173 //=============================================================================
1174 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
1175 GEOM::GEOM_Object_ptr theAxis,
1176 CORBA::Double theRadius,
1177 CORBA::Double theHeight,
1178 CORBA::Double theAngle)
1180 beginService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1181 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRHA");
1183 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRHA(thePnt, theAxis, theRadius, theHeight, theAngle);
1184 endService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1188 //=============================================================================
1190 //=============================================================================
1191 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRHA (CORBA::Double theR,
1195 beginService( " GEOM_Superv_i::MakeCylinderRHA" );
1196 MESSAGE("GEOM_Superv_i::MakeCylinderRHA");
1198 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRHA(theR, theH, theA);
1199 endService( " GEOM_Superv_i::MakeCylinderRHA" );
1203 //=============================================================================
1205 //=============================================================================
1206 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1209 CORBA::Double theRadius)
1211 beginService( " GEOM_Superv_i::MakeSphepe" );
1212 MESSAGE("GEOM_Superv_i::MakeSphepe");
1215 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1216 endService( " GEOM_Superv_i::MakeSphepe" );
1220 //=============================================================================
1222 //=============================================================================
1223 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1225 beginService( " GEOM_Superv_i::MakeSphereR" );
1226 MESSAGE("GEOM_Superv_i::MakeSphereR");
1228 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1229 endService( " GEOM_Superv_i::MakeSphereR" );
1233 //=============================================================================
1235 //=============================================================================
1236 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1239 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1240 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1242 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1243 endService( " GEOM_Superv_i::MakeSpherePntR" );
1247 //=============================================================================
1248 // MakeTorusPntVecRR:
1249 //=============================================================================
1250 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1251 GEOM::GEOM_Object_ptr theVec,
1252 CORBA::Double theRMajor,
1253 CORBA::Double theRMinor)
1255 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1256 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1258 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1259 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1263 //=============================================================================
1265 //=============================================================================
1266 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1267 CORBA::Double theRMinor)
1269 beginService( " GEOM_Superv_i::MakeTorusRR" );
1270 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1272 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1273 endService( " GEOM_Superv_i::MakeTorusRR" );
1277 //=============================================================================
1278 // MakeConePntVecR1R2H:
1279 //=============================================================================
1280 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1281 GEOM::GEOM_Object_ptr theAxis,
1282 CORBA::Double theR1,
1283 CORBA::Double theR2,
1284 CORBA::Double theHeight)
1286 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1287 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1289 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1290 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1294 //=============================================================================
1296 //=============================================================================
1297 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1298 CORBA::Double theR2,
1299 CORBA::Double theHeight)
1301 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1302 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1304 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1305 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1309 //=============================================================================
1311 //=============================================================================
1312 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1313 GEOM::GEOM_Object_ptr theVec,
1316 beginService( " GEOM_Superv_i::MakePrismVecH" );
1317 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1319 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1320 endService( " GEOM_Superv_i::MakePrismVecH" );
1324 //=============================================================================
1325 // MakePrismVecH2Ways:
1326 //=============================================================================
1327 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1328 GEOM::GEOM_Object_ptr theVec,
1331 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1332 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1334 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1335 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1339 //=============================================================================
1341 //=============================================================================
1342 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1343 GEOM::GEOM_Object_ptr thePoint1,
1344 GEOM::GEOM_Object_ptr thePoint2)
1346 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1347 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1349 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1350 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1354 //=============================================================================
1355 // MakePrismTwoPnt2Ways:
1356 //=============================================================================
1357 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1358 GEOM::GEOM_Object_ptr thePoint1,
1359 GEOM::GEOM_Object_ptr thePoint2)
1361 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1362 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1364 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1365 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1369 //=============================================================================
1371 //=============================================================================
1372 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1373 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1375 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1376 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1378 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1379 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1383 //=============================================================================
1385 //=============================================================================
1386 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1387 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1389 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1390 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1392 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1393 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1397 //=============================================================================
1399 //=============================================================================
1400 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1401 GEOM::GEOM_Object_ptr thePath)
1403 beginService( " GEOM_Superv_i::MakePipe" );
1404 MESSAGE("GEOM_Superv_i::MakePipe");
1406 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipe(theBase, thePath, false);
1407 endService( " GEOM_Superv_i::MakePipe" );
1411 //=============================================================================
1412 // MakeRevolutionAxisAngle:
1413 //=============================================================================
1414 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1415 GEOM::GEOM_Object_ptr theAxis,
1416 CORBA::Double theAngle)
1418 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1419 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1421 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1422 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1426 //=============================================================================
1427 // MakeRevolutionAxisAngle:
1428 //=============================================================================
1429 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1430 GEOM::GEOM_Object_ptr theAxis,
1431 CORBA::Double theAngle)
1433 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1434 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1436 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1437 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1441 //=============================================================================
1443 //=============================================================================
1444 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1445 CORBA::Long theMinDeg,
1446 CORBA::Long theMaxDeg,
1447 CORBA::Double theTol2D,
1448 CORBA::Double theTol3D,
1449 CORBA::Long theNbIter,
1450 GEOM::filling_oper_method theMethod,
1451 CORBA::Boolean theApprox)
1453 beginService( " GEOM_Superv_i::MakeFilling" );
1454 MESSAGE("GEOM_Superv_i::MakeFilling");
1456 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
1457 objList->length( 1 );
1458 objList[0] = theShape;
1459 GEOM::GEOM_Object_ptr anObj =
1460 my3DPrimOp->MakeFilling(objList, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1461 theNbIter, theMethod, theApprox);
1462 endService( " GEOM_Superv_i::MakeFilling" );
1466 //============================= BooleanOperations =============================
1467 //=============================================================================
1469 //=============================================================================
1470 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1471 (GEOM::GEOM_Object_ptr theShape1,
1472 GEOM::GEOM_Object_ptr theShape2,
1473 CORBA::Long theOperation)
1475 beginService( " GEOM_Superv_i::MakeBoolean" );
1476 // theOperation indicates the operation to be done:
1477 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1478 MESSAGE("GEOM_Superv_i::MakeBoolean");
1480 GEOM::GEOM_Object_ptr anObj =
1481 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1482 endService( " GEOM_Superv_i::MakeBoolean" );
1486 //=============================================================================
1487 // MakeThruSections:
1488 //=============================================================================
1489 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1490 CORBA::Boolean theModeSolid,
1491 CORBA::Double thePreci,
1492 CORBA::Boolean theRuled)
1494 beginService( " GEOM_Superv_i::MakeThruSections" );
1495 MESSAGE("GEOM_Superv_i::MakeThruSections");
1497 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1498 endService( " GEOM_Superv_i::MakeThruSections" );
1502 //=============================================================================
1504 //=============================================================================
1505 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1506 (const GEOM::ListOfGO& theBases,
1507 const GEOM::ListOfGO& theLocations,
1508 GEOM::GEOM_Object_ptr thePath,
1509 CORBA::Boolean theWithContact,
1510 CORBA::Boolean theWithCorrections)
1512 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1513 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1515 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections, false, false);
1516 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1521 //=============================================================================
1523 //=============================================================================
1524 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1525 (const GEOM::ListOfGO& theBases,
1526 const GEOM::ListOfGO& theSubBases,
1527 const GEOM::ListOfGO& theLocations,
1528 GEOM::GEOM_Object_ptr thePath,
1529 CORBA::Boolean theWithContact,
1530 CORBA::Boolean theWithCorrections)
1532 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1533 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1535 GEOM::ListOfGO_var aList =
1536 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1537 theLocations, thePath,
1538 theWithContact, theWithCorrections,
1540 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1545 //=============================================================================
1547 //=============================================================================
1548 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1549 (const GEOM::ListOfGO& theBases,
1550 const GEOM::ListOfGO& theLocations)
1552 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1553 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1555 GEOM::ListOfGO_var aList =
1556 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations, false);
1557 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1562 //=============================================================================
1564 //=============================================================================
1565 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1566 (GEOM::GEOM_Object_ptr theBase,
1567 GEOM::GEOM_Object_ptr thePath,
1568 GEOM::GEOM_Object_ptr theVec)
1570 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1571 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1573 GEOM::ListOfGO_var aList =
1574 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec, false);
1575 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1580 //=============================================================================
1582 //=============================================================================
1583 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1584 (GEOM::GEOM_Object_ptr theShape1,
1585 GEOM::GEOM_Object_ptr theShape2)
1587 beginService( " GEOM_Superv_i::MakeFuse" );
1588 MESSAGE("GEOM_Superv_i::MakeFuse");
1590 GEOM::GEOM_Object_ptr anObj =
1591 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1592 endService( " GEOM_Superv_i::MakeFuse" );
1596 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1597 GEOM::GEOM_Object_ptr theShape2)
1599 beginService( " GEOM_Superv_i::MakeCommon" );
1600 MESSAGE("GEOM_Superv_i::MakeCommon");
1602 GEOM::GEOM_Object_ptr anObj =
1603 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1604 endService( " GEOM_Superv_i::MakeCommon" );
1608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1609 GEOM::GEOM_Object_ptr theShape2)
1611 beginService( " GEOM_Superv_i::MakeCut" );
1612 MESSAGE("GEOM_Superv_i::MakeCut");
1614 GEOM::GEOM_Object_ptr anObj =
1615 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1616 endService( " GEOM_Superv_i::MakeCut" );
1620 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1621 GEOM::GEOM_Object_ptr theShape2)
1623 beginService( " GEOM_Superv_i::MakeCut" );
1624 MESSAGE("GEOM_Superv_i::MakeCut");
1626 GEOM::GEOM_Object_ptr anObj =
1627 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1628 endService( " GEOM_Superv_i::MakeCut" );
1632 //=============================================================================
1634 //=============================================================================
1635 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1636 GEOM::GEOM_List_ptr theTools,
1637 GEOM::GEOM_List_ptr theKeepInside,
1638 GEOM::GEOM_List_ptr theRemoveInside,
1639 CORBA::Short theLimit,
1640 CORBA::Boolean theRemoveWebs,
1641 GEOM::GEOM_List_ptr theMaterials,
1642 CORBA::Short theKeepNonlimitShapes)
1644 beginService( " GEOM_Superv_i::MakePartition" );
1645 MESSAGE("GEOM_Superv_i::MakePartition");
1646 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1647 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1648 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1649 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1650 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1651 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1652 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1653 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1654 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1655 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1656 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1658 GEOM::GEOM_Object_ptr anObj =
1659 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1660 aListImplKI->GetList(), aListImplRI->GetList(),
1661 theLimit, theRemoveWebs, aListImplM->GetList(),
1662 theKeepNonlimitShapes);
1663 endService( " GEOM_Superv_i::MakePartition" );
1666 endService( " GEOM_Superv_i::MakePartition" );
1670 //=============================================================================
1671 // MakeHalfPartition:
1672 //=============================================================================
1673 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1674 GEOM::GEOM_Object_ptr thePlane)
1676 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1677 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1679 GEOM::GEOM_Object_ptr anObj =
1680 myBoolOp->MakeHalfPartition(theShape, thePlane);
1681 endService( " GEOM_Superv_i::MakeHalfPartition" );
1685 //============================== InsertOperations =============================
1686 //=============================================================================
1688 //=============================================================================
1689 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1691 beginService( " GEOM_Superv_i::MakeCopy" );
1692 MESSAGE("GEOM_Superv_i::MakeCopy");
1694 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1695 endService( " GEOM_Superv_i::MakeCopy" );
1699 //=============================================================================
1701 //=============================================================================
1702 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1703 const char* theFileName,
1704 const char* theFormatName)
1706 beginService( " GEOM_Superv_i::Export" );
1707 MESSAGE("GEOM_Superv_i::Export");
1709 myInsOp->Export(theObject, theFileName, theFormatName);
1710 endService( " GEOM_Superv_i::Export" );
1713 //=============================================================================
1715 //=============================================================================
1716 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1717 const char* theFormatName)
1719 beginService( " GEOM_Superv_i::ImportFile" );
1720 MESSAGE("GEOM_Superv_i::ImportFile");
1722 GEOM::ListOfGBO_var aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1723 GEOM::GEOM_Object_var anObj;
1725 if (aSeq->length() > 0) {
1726 anObj = GEOM::GEOM_Object::_narrow(aSeq[0]);
1729 endService( " GEOM_Superv_i::ImportFile" );
1730 return anObj._retn();
1733 //============================= TransformOperations ===========================
1734 //=============================================================================
1735 // TranslateTwoPoints:
1736 //=============================================================================
1737 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1738 GEOM::GEOM_Object_ptr thePoint1,
1739 GEOM::GEOM_Object_ptr thePoint2)
1741 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1742 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1744 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1745 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1749 //=============================================================================
1750 // TranslateTwoPointsCopy:
1751 //=============================================================================
1752 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1753 GEOM::GEOM_Object_ptr thePoint1,
1754 GEOM::GEOM_Object_ptr thePoint2)
1756 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1757 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1759 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1760 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1764 //=============================================================================
1766 //=============================================================================
1767 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1768 CORBA::Double theDX,
1769 CORBA::Double theDY,
1770 CORBA::Double theDZ)
1772 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1773 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1775 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1776 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1780 //=============================================================================
1781 // TranslateDXDYDZCopy:
1782 //=============================================================================
1783 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1784 CORBA::Double theDX,
1785 CORBA::Double theDY,
1786 CORBA::Double theDZ)
1788 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1789 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1791 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1792 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1796 //=============================================================================
1798 //=============================================================================
1799 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1800 GEOM::GEOM_Object_ptr theVector)
1802 beginService( " GEOM_Superv_i::TranslateVector" );
1803 MESSAGE("GEOM_Superv_i::TranslateVector");
1805 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1806 endService( " GEOM_Superv_i::TranslateVector" );
1810 //=============================================================================
1811 // TranslateVectorCopy:
1812 //=============================================================================
1813 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1814 GEOM::GEOM_Object_ptr theVector)
1816 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1817 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1819 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1820 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1824 //=============================================================================
1825 // TranslateVectorDistance:
1826 //=============================================================================
1827 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1828 GEOM::GEOM_Object_ptr theVector,
1829 CORBA::Double theDistance,
1830 CORBA::Boolean theCopy)
1832 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1833 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1835 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1836 theVector, theDistance, theCopy);
1837 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1841 //=============================================================================
1842 // MultiTranslate1D:
1843 //=============================================================================
1844 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1845 GEOM::GEOM_Object_ptr theVector,
1846 CORBA::Double theStep,
1847 CORBA::Long theNbTimes)
1849 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1850 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1852 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1853 endService( " GEOM_Superv_i::MultiTranslate1D" );
1857 //=============================================================================
1858 // MultiTranslate2D:
1859 //=============================================================================
1860 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1861 GEOM::GEOM_Object_ptr theVector1,
1862 CORBA::Double theStep1,
1863 CORBA::Long theNbTimes1,
1864 GEOM::GEOM_Object_ptr theVector2,
1865 CORBA::Double theStep2,
1866 CORBA::Long theNbTimes2)
1868 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1869 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1871 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1872 theVector2, theStep2, theNbTimes2);
1873 endService( " GEOM_Superv_i::MultiTranslate2D" );
1877 //=============================================================================
1879 //=============================================================================
1880 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1881 GEOM::GEOM_Object_ptr theAxis,
1882 CORBA::Double theAngle)
1884 beginService( " GEOM_Superv_i::Rotate" );
1885 MESSAGE("GEOM_Superv_i::Rotate");
1887 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1888 endService( " GEOM_Superv_i::Rotate" );
1892 //=============================================================================
1894 //=============================================================================
1895 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1896 GEOM::GEOM_Object_ptr theAxis,
1897 CORBA::Double theAngle)
1899 beginService( " GEOM_Superv_i::RotateCopy" );
1900 MESSAGE("GEOM_Superv_i::RotateCopy");
1902 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1903 endService( " GEOM_Superv_i::RotateCopy" );
1906 //=============================================================================
1907 // RotateThreePoints:
1908 //=============================================================================
1909 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1910 GEOM::GEOM_Object_ptr theCentPoint,
1911 GEOM::GEOM_Object_ptr thePoint1,
1912 GEOM::GEOM_Object_ptr thePoint2)
1914 beginService( " GEOM_Superv_i::RotateThreePoints" );
1915 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1917 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1918 endService( " GEOM_Superv_i::RotateThreePoints" );
1922 //=============================================================================
1923 // RotateThreePointsCopy:
1924 //=============================================================================
1925 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1926 GEOM::GEOM_Object_ptr theCentPoint,
1927 GEOM::GEOM_Object_ptr thePoint1,
1928 GEOM::GEOM_Object_ptr thePoint2)
1930 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1931 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1933 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1934 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1938 //=============================================================================
1940 //=============================================================================
1941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1942 GEOM::GEOM_Object_ptr theAxis,
1943 CORBA::Long theNbTimes)
1945 beginService( " GEOM_Superv_i::MultiRotate1D" );
1946 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1948 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1949 endService( " GEOM_Superv_i::MultiRotate1D" );
1953 //=============================================================================
1955 //=============================================================================
1956 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1957 GEOM::GEOM_Object_ptr theAxis,
1958 CORBA::Double theAngle,
1959 CORBA::Long theNbTimes1,
1960 CORBA::Double theStep,
1961 CORBA::Long theNbTimes2)
1963 beginService( " GEOM_Superv_i::MultiRotate2D" );
1964 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1966 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1967 endService( " GEOM_Superv_i::MultiRotate2D" );
1971 //=============================================================================
1973 //=============================================================================
1974 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1975 GEOM::GEOM_Object_ptr thePlane)
1977 beginService( " GEOM_Superv_i::MirrorPlane" );
1978 MESSAGE("GEOM_Superv_i::MirrorPlane");
1980 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1981 endService( " GEOM_Superv_i::MirrorPlane" );
1985 //=============================================================================
1987 //=============================================================================
1988 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1989 GEOM::GEOM_Object_ptr thePlane)
1991 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1992 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1994 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1995 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1999 //=============================================================================
2001 //=============================================================================
2002 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
2003 GEOM::GEOM_Object_ptr theAxis)
2005 beginService( " GEOM_Superv_i::MirrorAxis" );
2006 MESSAGE("GEOM_Superv_i::MirrorAxis");
2008 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
2009 endService( " GEOM_Superv_i::MirrorAxis" );
2013 //=============================================================================
2015 //=============================================================================
2016 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
2017 GEOM::GEOM_Object_ptr theAxis)
2019 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
2020 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
2022 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
2023 endService( " GEOM_Superv_i::MirrorAxisCopy" );
2027 //=============================================================================
2029 //=============================================================================
2030 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
2031 GEOM::GEOM_Object_ptr thePoint)
2033 beginService( " GEOM_Superv_i::MirrorPoint" );
2034 MESSAGE("GEOM_Superv_i::MirrorPoint");
2036 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
2037 endService( " GEOM_Superv_i::MirrorPoint" );
2041 //=============================================================================
2043 //=============================================================================
2044 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
2045 GEOM::GEOM_Object_ptr thePoint)
2047 beginService( " GEOM_Superv_i::MirrorPoint" );
2048 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
2050 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
2051 endService( " GEOM_Superv_i::MirrorPoint" );
2055 //=============================================================================
2057 //=============================================================================
2058 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
2059 CORBA::Double theOffset)
2061 beginService( " GEOM_Superv_i::OffsetShape" );
2062 MESSAGE("GEOM_Superv_i::OffsetShape");
2064 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
2065 endService( " GEOM_Superv_i::OffsetShape" );
2069 //=============================================================================
2071 //=============================================================================
2072 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
2073 CORBA::Double theOffset)
2075 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
2076 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
2078 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
2079 endService( " GEOM_Superv_i::OffsetShapeCopy" );
2083 //=============================================================================
2085 //=============================================================================
2086 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
2087 GEOM::GEOM_Object_ptr thePoint,
2088 CORBA::Double theFactor)
2090 beginService( " GEOM_Superv_i::ScaleShape" );
2091 MESSAGE("GEOM_Superv_i::ScaleShape");
2093 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
2094 endService( " GEOM_Superv_i::ScaleShape" );
2098 //=============================================================================
2100 //=============================================================================
2101 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
2102 GEOM::GEOM_Object_ptr thePoint,
2103 CORBA::Double theFactor)
2105 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2106 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2108 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2109 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2113 //=============================================================================
2114 // ScaleShapeAlongAxes:
2115 //=============================================================================
2116 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2117 GEOM::GEOM_Object_ptr thePoint,
2118 CORBA::Double theFactorX,
2119 CORBA::Double theFactorY,
2120 CORBA::Double theFactorZ)
2122 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2123 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2125 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2126 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2127 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2131 //=============================================================================
2132 // ScaleShapeAlongAxesCopy:
2133 //=============================================================================
2134 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2135 GEOM::GEOM_Object_ptr thePoint,
2136 CORBA::Double theFactorX,
2137 CORBA::Double theFactorY,
2138 CORBA::Double theFactorZ)
2140 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2141 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2143 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2144 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2145 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2149 //=============================================================================
2151 //=============================================================================
2152 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2153 GEOM::GEOM_Object_ptr theStartLCS,
2154 GEOM::GEOM_Object_ptr theEndLCS)
2156 beginService( " GEOM_Superv_i::PositionShape" );
2157 MESSAGE("GEOM_Superv_i::PositionShape");
2159 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2160 endService( " GEOM_Superv_i::PositionShape" );
2164 //=============================================================================
2165 // PositionShapeCopy:
2166 //=============================================================================
2167 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2168 GEOM::GEOM_Object_ptr theStartLCS,
2169 GEOM::GEOM_Object_ptr theEndLCS)
2171 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2172 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2174 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2175 endService( " GEOM_Superv_i::PositionShapeCopy" );
2179 //=============================================================================
2180 // PositionAlongPath:
2181 //=============================================================================
2182 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2183 GEOM::GEOM_Object_ptr thePath,
2184 CORBA::Double theDistance,
2185 CORBA::Boolean theCopy,
2186 CORBA::Boolean theReverse)
2188 beginService( " GEOM_Superv_i::PositionAlongPath" );
2189 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2191 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2192 endService( " GEOM_Superv_i::PositionAlongPath" );
2196 //=============================== ShapesOperations ============================
2197 //=============================================================================
2199 //=============================================================================
2200 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2201 GEOM::GEOM_Object_ptr thePnt2)
2203 beginService( " GEOM_Superv_i::MakeEdge" );
2204 MESSAGE("GEOM_Superv_i::MakeEdge");
2206 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2207 endService( " GEOM_Superv_i::MakeEdge" );
2211 //=============================================================================
2212 // MakeEdgeOnCurveByLength:
2213 //=============================================================================
2214 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2215 CORBA::Double theLength,
2216 GEOM::GEOM_Object_ptr theStartPoint)
2218 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2219 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2221 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2222 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2226 //=============================================================================
2228 //=============================================================================
2229 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2230 CORBA::Double theTolerance)
2232 beginService( " GEOM_Superv_i::MakeWire" );
2233 MESSAGE("GEOM_Superv_i::MakeWire");
2234 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2235 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2237 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2238 endService( " GEOM_Superv_i::MakeWire" );
2241 endService( " GEOM_Superv_i::MakeWire" );
2245 //=============================================================================
2247 //=============================================================================
2248 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2249 CORBA::Boolean isPlanarWanted)
2251 beginService( " GEOM_Superv_i::MakeFace" );
2252 MESSAGE("GEOM_Superv_i::MakeFace");
2254 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2255 endService( " GEOM_Superv_i::MakeFace" );
2259 //=============================================================================
2261 //=============================================================================
2262 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2263 CORBA::Boolean isPlanarWanted)
2265 beginService( " GEOM_Superv_i::MakeFaceWires" );
2266 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2267 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2268 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2270 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2271 endService( " GEOM_Superv_i::MakeFaceWires" );
2274 endService( " GEOM_Superv_i::MakeFaceWires" );
2278 //=============================================================================
2279 // MakeFaceWithConstraints:
2280 //=============================================================================
2281 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints)
2283 beginService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2284 MESSAGE("GEOM_Superv_i::MakeFaceWithConstraints");
2285 if (GEOM_List_i<GEOM::ListOfGO>* aConstraints =
2286 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theConstraints, myPOA).in())) {
2288 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWithConstraints(aConstraints->GetList());
2289 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2292 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2296 //=============================================================================
2298 //=============================================================================
2299 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2301 beginService( " GEOM_Superv_i::MakeShell" );
2302 MESSAGE("GEOM_Superv_i::MakeShell");
2303 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2304 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2306 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2307 endService( " GEOM_Superv_i::MakeShell" );
2310 endService( " GEOM_Superv_i::MakeShell" );
2314 //=============================================================================
2316 //=============================================================================
2317 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2319 beginService( " GEOM_Superv_i::MakeSolidShell" );
2320 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2322 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2323 endService( " GEOM_Superv_i::MakeSolidShell" );
2327 //=============================================================================
2329 //=============================================================================
2330 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2332 beginService( " GEOM_Superv_i::MakeSolidShells" );
2333 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2334 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2335 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2337 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2338 endService( " GEOM_Superv_i::MakeSolidShells" );
2341 endService( " GEOM_Superv_i::MakeSolidShells" );
2345 //=============================================================================
2347 //=============================================================================
2348 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2350 beginService( " GEOM_Superv_i::MakeCompound" );
2351 MESSAGE("GEOM_Superv_i::MakeCompound");
2352 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2353 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2355 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2356 endService( " GEOM_Superv_i::MakeCompound" );
2359 endService( " GEOM_Superv_i::MakeCompound" );
2363 //=============================================================================
2364 // MakeSolidFromConnectedFaces:
2365 //=============================================================================
2366 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
2367 CORBA::Boolean isIntersect)
2369 beginService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2370 MESSAGE("GEOM_Superv_i::MakeSolidFromConnectedFaces");
2371 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2372 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesOrShells, myPOA).in())) {
2374 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidFromConnectedFaces(aListImpl->GetList(), isIntersect);
2375 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2378 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2382 //=============================================================================
2384 //=============================================================================
2385 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2386 CORBA::Double theTolerance,
2387 CORBA::Boolean doKeepNonSolids)
2389 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2390 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2392 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2393 objList->length( 1 );
2394 objList[0] = theShape;
2395 GEOM::GEOM_Object_ptr anObj =
2396 myShapesOp->MakeGlueFaces(objList, theTolerance, doKeepNonSolids);
2397 endService( " GEOM_Superv_i::MakeGlueFaces" );
2401 //=============================================================================
2403 //=============================================================================
2404 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2405 CORBA::Double theTolerance)
2407 beginService( " GEOM_Superv_i::GetGlueFaces" );
2408 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2410 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2411 objList->length( 1 );
2412 objList[0] = theShape;
2413 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(objList, theTolerance);
2414 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2415 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2416 endService( " GEOM_Superv_i::GetGlueFaces" );
2417 return aListPtr->_this();
2420 //=============================================================================
2421 // MakeGlueFacesByList:
2422 //=============================================================================
2423 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2424 CORBA::Double theTolerance,
2425 const GEOM::ListOfGO& theFaces,
2426 CORBA::Boolean doKeepNonSolids,
2427 CORBA::Boolean doGlueAllEdges)
2429 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2430 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2432 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2433 objList->length( 1 );
2434 objList[0] = theShape;
2435 GEOM::GEOM_Object_ptr anObj =
2436 myShapesOp->MakeGlueFacesByList(objList, theTolerance, theFaces,
2437 doKeepNonSolids, doGlueAllEdges);
2438 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2442 //=============================================================================
2444 //=============================================================================
2445 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2446 CORBA::Long theShapeType,
2447 CORBA::Boolean isSorted)
2449 beginService( " GEOM_Superv_i::MakeExplode" );
2450 MESSAGE("GEOM_Superv_i::MakeExplode");
2453 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2454 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2455 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2456 endService( " GEOM_Superv_i::MakeExplode" );
2457 return aListPtr->_this();
2460 //=============================================================================
2462 //=============================================================================
2463 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2465 beginService( " GEOM_Superv_i::NumberOfFaces" );
2466 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2468 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2469 endService( " GEOM_Superv_i::NumberOfFaces" );
2473 //=============================================================================
2475 //=============================================================================
2476 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2478 beginService( " GEOM_Superv_i::NumberOfEdges" );
2479 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2481 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2482 endService( " GEOM_Superv_i::NumberOfEdges" );
2487 //=============================================================================
2488 // ChangeOrientation:
2489 //=============================================================================
2490 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2492 beginService( " GEOM_Superv_i::ChangeOrientation" );
2493 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2495 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2496 endService( " GEOM_Superv_i::ChangeOrientation" );
2501 //=============================================================================
2502 // GetShapesOnShape:
2503 //=============================================================================
2504 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2505 (GEOM::GEOM_Object_ptr theCheckShape,
2506 GEOM::GEOM_Object_ptr theShape,
2507 CORBA::Short theShapeType,
2508 GEOM::shape_state theState)
2510 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2511 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2513 GEOM::ListOfGO* aList =
2514 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2515 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2516 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2517 endService( " GEOM_Superv_i::GetShapesOnShape" );
2518 return aListPtr->_this();
2522 //=============================================================================
2523 // GetShapesOnShapeAsCompound:
2524 //=============================================================================
2525 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2526 (GEOM::GEOM_Object_ptr theCheckShape,
2527 GEOM::GEOM_Object_ptr theShape,
2528 CORBA::Short theShapeType,
2529 GEOM::shape_state theState)
2531 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2532 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2534 GEOM::GEOM_Object_ptr anObj =
2535 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2536 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2541 //=============================== BlocksOperations ============================
2542 //=============================================================================
2543 // MakeQuad4Vertices:
2544 //=============================================================================
2545 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2546 GEOM::GEOM_Object_ptr thePnt2,
2547 GEOM::GEOM_Object_ptr thePnt3,
2548 GEOM::GEOM_Object_ptr thePnt4)
2550 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2551 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2553 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2554 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2558 //=============================================================================
2560 //=============================================================================
2561 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2562 GEOM::GEOM_Object_ptr theEdge2,
2563 GEOM::GEOM_Object_ptr theEdge3,
2564 GEOM::GEOM_Object_ptr theEdge4)
2566 beginService( " GEOM_Superv_i::MakeQuad" );
2567 MESSAGE("GEOM_Superv_i::MakeQuad");
2569 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2570 endService( " GEOM_Superv_i::MakeQuad" );
2574 //=============================================================================
2576 //=============================================================================
2577 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2578 GEOM::GEOM_Object_ptr theEdge2)
2580 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2581 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2583 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2584 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2588 //=============================================================================
2590 //=============================================================================
2591 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2592 GEOM::GEOM_Object_ptr theFace2,
2593 GEOM::GEOM_Object_ptr theFace3,
2594 GEOM::GEOM_Object_ptr theFace4,
2595 GEOM::GEOM_Object_ptr theFace5,
2596 GEOM::GEOM_Object_ptr theFace6)
2598 beginService( " GEOM_Superv_i::MakeHexa" );
2599 MESSAGE("GEOM_Superv_i::MakeHexa");
2601 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2602 endService( " GEOM_Superv_i::MakeHexa" );
2606 //=============================================================================
2608 //=============================================================================
2609 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2610 GEOM::GEOM_Object_ptr theFace2)
2612 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2613 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2615 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2616 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2620 //=============================================================================
2622 //=============================================================================
2623 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2627 CORBA::Double theEpsilon)
2629 beginService( " GEOM_Superv_i::GetPoint" );
2630 MESSAGE("GEOM_Superv_i::GetPoint");
2632 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2633 endService( " GEOM_Superv_i::GetPoint" );
2637 //=============================================================================
2639 //=============================================================================
2640 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2641 GEOM::GEOM_Object_ptr thePoint1,
2642 GEOM::GEOM_Object_ptr thePoint2)
2644 beginService( " GEOM_Superv_i::GetEdge" );
2645 MESSAGE("GEOM_Superv_i::GetEdge");
2647 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2648 endService( " GEOM_Superv_i::GetEdge" );
2652 //=============================================================================
2653 // GetEdgeNearPoint:
2654 //=============================================================================
2655 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2656 GEOM::GEOM_Object_ptr thePoint)
2658 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2659 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2661 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2662 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2666 //=============================================================================
2668 //=============================================================================
2669 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2670 GEOM::GEOM_Object_ptr thePoint1,
2671 GEOM::GEOM_Object_ptr thePoint2,
2672 GEOM::GEOM_Object_ptr thePoint3,
2673 GEOM::GEOM_Object_ptr thePoint4)
2675 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2676 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2678 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2679 endService( " GEOM_Superv_i::GetFaceByPoints" );
2683 //=============================================================================
2685 //=============================================================================
2686 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2687 GEOM::GEOM_Object_ptr theEdge1,
2688 GEOM::GEOM_Object_ptr theEdge2)
2690 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2691 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2693 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2694 endService( " GEOM_Superv_i::GetFaceByEdges" );
2698 //=============================================================================
2700 //=============================================================================
2701 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2702 GEOM::GEOM_Object_ptr theFace)
2704 beginService( " GEOM_Superv_i::GetOppositeFace" );
2705 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2707 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2708 endService( " GEOM_Superv_i::GetOppositeFace" );
2712 //=============================================================================
2713 // GetFaceNearPoint:
2714 //=============================================================================
2715 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2716 GEOM::GEOM_Object_ptr thePoint)
2718 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2719 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2721 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2722 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2726 //=============================================================================
2727 // GetFaceByNormale:
2728 //=============================================================================
2729 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2730 GEOM::GEOM_Object_ptr theVector)
2732 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2733 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2735 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2736 endService( " GEOM_Superv_i::GetFaceByNormale" );
2740 //=============================================================================
2741 // IsCompoundOfBlocks:
2742 //=============================================================================
2743 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2744 CORBA::Long theMinNbFaces,
2745 CORBA::Long theMaxNbFaces,
2746 CORBA::Long& theNbBlocks)
2748 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2749 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2751 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2752 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2756 //=============================================================================
2757 // CheckCompoundOfBlocks:
2758 //=============================================================================
2759 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2760 (GEOM::GEOM_Object_ptr theCompound,
2761 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2763 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2764 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2766 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, -1., theErrors);
2767 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2771 //=============================================================================
2773 //=============================================================================
2774 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2775 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2777 beginService( " GEOM_Superv_i::PrintBCErrors" );
2778 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2780 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2781 endService( " GEOM_Superv_i::PrintBCErrors" );
2785 //=============================================================================
2786 // ExplodeCompoundOfBlocks:
2787 //=============================================================================
2788 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2789 CORBA::Long theMinNbFaces,
2790 CORBA::Long theMaxNbFaces)
2792 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2793 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2795 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2796 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2797 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2798 return aListPtr->_this();
2801 //=============================================================================
2802 // GetBlockNearPoint:
2803 //=============================================================================
2804 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2805 GEOM::GEOM_Object_ptr thePoint)
2807 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2808 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2810 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2811 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2815 //=============================================================================
2817 //=============================================================================
2818 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2819 GEOM::GEOM_List_ptr theParts)
2821 beginService( " GEOM_Superv_i::GetBlockByParts" );
2822 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2823 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2824 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2826 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2827 endService( " GEOM_Superv_i::GetBlockByParts" );
2830 endService( " GEOM_Superv_i::GetBlockByParts" );
2834 //=============================================================================
2835 // GetBlocksByParts:
2836 //=============================================================================
2837 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2838 GEOM::GEOM_List_ptr theParts)
2840 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2841 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2842 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2843 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2846 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2847 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2848 endService( " GEOM_Superv_i::GetBlocksByParts" );
2849 return aListPtr->_this();
2851 endService( " GEOM_Superv_i::GetBlocksByParts" );
2855 //=============================================================================
2856 // MakeMultiTransformation1D:
2857 //=============================================================================
2858 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2859 CORBA::Long theDirFace1,
2860 CORBA::Long theDirFace2,
2861 CORBA::Long theNbTimes)
2863 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2864 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2866 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2867 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2871 //=============================================================================
2872 // MakeMultiTransformation2D:
2873 //=============================================================================
2874 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2875 (GEOM::GEOM_Object_ptr theBlock,
2876 CORBA::Long theDirFace1U,
2877 CORBA::Long theDirFace2U,
2878 CORBA::Long theNbTimesU,
2879 CORBA::Long theDirFace1V,
2880 CORBA::Long theDirFace2V,
2881 CORBA::Long theNbTimesV)
2883 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2884 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2886 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2887 theDirFace1U, theDirFace2U, theNbTimesU,
2888 theDirFace1V, theDirFace2V, theNbTimesV);
2889 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2893 //=============================== CurvesOperations ============================
2894 //=============================================================================
2895 // MakeCirclePntVecR:
2896 //=============================================================================
2897 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2898 GEOM::GEOM_Object_ptr theVector,
2901 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2902 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2904 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2905 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2909 //=============================================================================
2910 // MakeCircleThreePnt:
2911 //=============================================================================
2912 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2913 GEOM::GEOM_Object_ptr thePnt2,
2914 GEOM::GEOM_Object_ptr thePnt3)
2916 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2917 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2919 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2920 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2923 //=============================================================================
2924 // MakeCircleCenter2Pnt:
2925 //=============================================================================
2926 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2927 GEOM::GEOM_Object_ptr thePnt2,
2928 GEOM::GEOM_Object_ptr thePnt3)
2930 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2931 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2933 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2934 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2938 //=============================================================================
2940 //=============================================================================
2941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2942 GEOM::GEOM_Object_ptr theVector,
2943 CORBA::Double theRMajor,
2944 CORBA::Double theRMinor)
2946 beginService( " GEOM_Superv_i::MakeEllipse" );
2947 MESSAGE("GEOM_Superv_i::MakeEllipse");
2949 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2950 endService( " GEOM_Superv_i::MakeEllipse" );
2954 //=============================================================================
2956 //=============================================================================
2957 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2958 GEOM::GEOM_Object_ptr theVector,
2959 CORBA::Double theRMajor,
2960 CORBA::Double theRMinor,
2961 GEOM::GEOM_Object_ptr theVectorMajor)
2963 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2964 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2966 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2967 endService( " GEOM_Superv_i::MakeEllipseVec" );
2971 //=============================================================================
2973 //=============================================================================
2974 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2975 GEOM::GEOM_Object_ptr thePnt2,
2976 GEOM::GEOM_Object_ptr thePnt3)
2978 beginService( " GEOM_Superv_i::MakeArc" );
2979 MESSAGE("GEOM_Superv_i::MakeArc");
2981 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2982 endService( " GEOM_Superv_i::MakeArc" );
2986 //=============================================================================
2988 //=============================================================================
2989 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2990 GEOM::GEOM_Object_ptr thePnt1,
2991 GEOM::GEOM_Object_ptr thePnt2,
2992 CORBA::Boolean theSense)
2994 beginService( " GEOM_Superv_i::MakeArcCenter" );
2995 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2997 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2998 endService( " GEOM_Superv_i::MakeArcCenter" );
3002 //=============================================================================
3003 // MakeArcOfEllipse:
3004 //=============================================================================
3005 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
3006 GEOM::GEOM_Object_ptr thePnt2,
3007 GEOM::GEOM_Object_ptr thePnt3)
3009 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
3010 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
3012 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
3013 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
3017 //=============================================================================
3019 //=============================================================================
3020 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
3021 CORBA::Boolean theIsClosed)
3023 beginService( " GEOM_Superv_i::MakePolyline" );
3024 MESSAGE("GEOM_Superv_i::MakePolyline");
3025 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3026 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3028 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
3029 endService( " GEOM_Superv_i::MakePolyline" );
3032 endService( " GEOM_Superv_i::MakePolyline" );
3036 //=============================================================================
3037 // MakeSplineBezier:
3038 //=============================================================================
3039 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
3040 CORBA::Boolean theIsClosed)
3042 beginService( " GEOM_Superv_i::MakeSplineBezier" );
3043 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
3044 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3045 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3047 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
3048 endService( " GEOM_Superv_i::MakeSplineBezier" );
3051 endService( " GEOM_Superv_i::MakeSplineBezier" );
3055 //=============================================================================
3056 // MakeSplineInterpolation:
3057 //=============================================================================
3058 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
3059 CORBA::Boolean theIsClosed,
3060 CORBA::Boolean theDoReordering)
3062 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
3063 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
3064 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3065 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
3067 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
3068 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
3071 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
3075 //=============================================================================
3077 //=============================================================================
3078 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
3079 GEOM::GEOM_List_ptr theWorkingPlane)
3081 beginService( " GEOM_Superv_i::MakeSketcher" );
3082 MESSAGE("GEOM_Superv_i::MakeSketcher");
3083 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
3084 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
3086 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
3087 endService( " GEOM_Superv_i::MakeSketcher" );
3090 endService( " GEOM_Superv_i::MakeSketcher" );
3094 //=============================================================================
3096 //=============================================================================
3097 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
3099 beginService( " GEOM_Superv_i::Make3DSketcher" );
3100 MESSAGE("GEOM_Superv_i::Make3DSketcher");
3101 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
3102 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
3104 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
3105 endService( " GEOM_Superv_i::Make3DSketcher" );
3108 endService( " GEOM_Superv_i::Make3DSketcher" );
3112 //=============================== LocalOperations =============================
3113 //=============================================================================
3115 //=============================================================================
3116 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
3119 beginService( " GEOM_Superv_i::MakeFilletAll" );
3120 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
3122 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
3123 endService( " GEOM_Superv_i::MakeFilletAll" );
3127 //=============================================================================
3129 //=============================================================================
3130 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
3132 GEOM::GEOM_List_ptr theEdges)
3134 beginService( " GEOM_Superv_i::MakeFilletEdges" );
3135 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
3136 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3137 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3139 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
3140 endService( " GEOM_Superv_i::MakeFilletEdges" );
3143 endService( " GEOM_Superv_i::MakeFilletEdges" );
3147 //=============================================================================
3148 // MakeFilletEdges R1 R2:
3149 //=============================================================================
3150 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3151 CORBA::Double theR1,
3152 CORBA::Double theR2,
3153 GEOM::GEOM_List_ptr theEdges)
3155 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3156 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3157 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3158 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3160 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3161 theR2, aListImplE->GetList());
3162 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3165 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3169 //=============================================================================
3171 //=============================================================================
3172 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3174 GEOM::GEOM_List_ptr theFaces)
3176 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3177 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3178 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3179 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3181 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3182 endService( " GEOM_Superv_i::MakeFilletFaces" );
3185 endService( " GEOM_Superv_i::MakeFilletFaces" );
3189 //=============================================================================
3190 // MakeFilletFaces R1 R2:
3191 //=============================================================================
3192 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3193 CORBA::Double theR1,
3194 CORBA::Double theR2,
3195 GEOM::GEOM_List_ptr theFaces)
3197 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3198 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3199 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3200 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3202 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3203 aListImplF->GetList());
3204 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3207 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3211 //=============================================================================
3213 //=============================================================================
3214 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3216 GEOM::GEOM_List_ptr theVertexes)
3218 beginService( " GEOM_Superv_i::MakeFillet2D" );
3219 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3220 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3221 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3223 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3224 endService( " GEOM_Superv_i::MakeFillet2D" );
3227 endService( " GEOM_Superv_i::MakeFillet2D" );
3231 //=============================================================================
3233 //=============================================================================
3234 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3236 GEOM::GEOM_List_ptr theVertexes,
3237 CORBA::Boolean doIgnoreSecantVertices)
3239 beginService( " GEOM_Superv_i::MakeFillet1D" );
3240 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3241 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3242 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3244 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3245 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3246 endService( " GEOM_Superv_i::MakeFillet1D" );
3249 endService( " GEOM_Superv_i::MakeFillet1D" );
3253 //=============================================================================
3255 //=============================================================================
3256 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3258 beginService( " GEOM_Superv_i::MakeChamferAll" );
3259 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3261 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3262 endService( " GEOM_Superv_i::MakeChamferAll" );
3266 //=============================================================================
3268 //=============================================================================
3269 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3270 CORBA::Double theD1, CORBA::Double theD2,
3271 CORBA::Long theFace1, CORBA::Long theFace2)
3273 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3274 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3276 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3277 endService( " GEOM_Superv_i::MakeChamferEdge" );
3281 //=============================================================================
3282 // MakeChamferEdgeAD:
3283 //=============================================================================
3284 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3285 CORBA::Double theD, CORBA::Double theAngle,
3286 CORBA::Long theFace1, CORBA::Long theFace2)
3288 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3289 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3291 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3292 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3296 //=============================================================================
3297 // MakeChamferFaces:
3298 //=============================================================================
3299 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3300 CORBA::Double theD1, CORBA::Double theD2,
3301 GEOM::GEOM_List_ptr theFaces)
3303 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3304 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3305 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3306 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3308 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3309 endService( " GEOM_Superv_i::MakeChamferFaces" );
3312 endService( " GEOM_Superv_i::MakeChamferFaces" );
3316 //=============================================================================
3317 // MakeChamferFacesAD:
3318 //=============================================================================
3319 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3320 CORBA::Double theD, CORBA::Double theAngle,
3321 GEOM::GEOM_List_ptr theFaces)
3323 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3324 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3325 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3326 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3328 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3329 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3332 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3336 //=============================================================================
3337 // MakeChamferEdges:
3338 //=============================================================================
3339 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3340 CORBA::Double theD1, CORBA::Double theD2,
3341 GEOM::GEOM_List_ptr theEdges)
3343 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3344 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3345 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3346 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3348 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3349 endService( " GEOM_Superv_i::MakeChamferEdges" );
3352 endService( " GEOM_Superv_i::MakeChamferEdges" );
3356 //=============================================================================
3357 // MakeChamferEdgesAD:
3358 //=============================================================================
3359 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3360 CORBA::Double theD, CORBA::Double theAngle,
3361 GEOM::GEOM_List_ptr theEdges)
3363 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3364 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3365 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3366 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3368 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3369 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3372 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3376 //=============================================================================
3378 //=============================================================================
3379 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3380 CORBA::Double theWeight,
3381 CORBA::Double theWaterDensity,
3382 CORBA::Double theMeshingDeflection)
3384 beginService( " GEOM_Superv_i::MakeArchimede" );
3385 MESSAGE("GEOM_Superv_i::MakeArchimede");
3387 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3388 endService( " GEOM_Superv_i::MakeArchimede" );
3392 //=============================================================================
3393 // GetSubShapeIndexMakeFilletAll:
3394 //=============================================================================
3395 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3396 GEOM::GEOM_Object_ptr theSubShape)
3398 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3399 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3401 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3402 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3406 //=============================== GroupOperations =============================
3407 //=============================================================================
3409 //=============================================================================
3410 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3411 CORBA::Long theShapeType)
3413 beginService( " GEOM_Superv_i::CreateGroup" );
3414 MESSAGE("GEOM_Superv_i::CreateGroup");
3416 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3417 endService( " GEOM_Superv_i::CreateGroup" );
3421 //=============================================================================
3423 //=============================================================================
3424 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3425 CORBA::Long theSubShapeId)
3427 beginService( " GEOM_Superv_i::AddObject" );
3428 MESSAGE("GEOM_Superv_i::AddObject");
3430 myGroupOp->AddObject(theGroup, theSubShapeId);
3431 endService( " GEOM_Superv_i::AddObject" );
3434 //=============================================================================
3436 //=============================================================================
3437 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3438 CORBA::Long theSubShapeId)
3440 beginService( " GEOM_Superv_i::RemoveObject" );
3441 MESSAGE("GEOM_Superv_i::RemoveObject");
3443 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3444 endService( " GEOM_Superv_i::RemoveObject" );
3447 //=============================================================================
3449 //=============================================================================
3450 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3452 beginService( " GEOM_Superv_i::GetType" );
3453 MESSAGE("GEOM_Superv_i::GetType");
3455 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3456 endService( " GEOM_Superv_i::GetType" );
3460 //=============================================================================
3462 //=============================================================================
3463 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3465 beginService( " GEOM_Superv_i::GetMainShape" );
3466 MESSAGE("GEOM_Superv_i::GetMainShape");
3468 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3469 endService( " GEOM_Superv_i::GetMainShape" );
3473 //=============================================================================
3475 //=============================================================================
3476 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3478 beginService( " GEOM_Superv_i::GetObjects" );
3479 MESSAGE("GEOM_Superv_i::GetObjects");
3482 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3483 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3484 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3485 endService( " GEOM_Superv_i::GetObjects" );
3486 return aListPtr->_this();
3489 //=============================== Import/Export Operations =============================
3490 //=============================================================================
3492 //=============================================================================
3493 void GEOM_Superv_i::ExportSTL( GEOM::GEOM_Object_ptr theObject,
3494 const char* theFileName,
3495 const bool theIsASCII,
3496 CORBA::Double theDeflection,
3497 const bool theIsRelative )
3499 beginService( " GEOM_Superv_i::ExportSTL" );
3500 MESSAGE("GEOM_Superv_i::ExportSTL");
3502 mySTLOp->ExportSTL( theObject, theFileName, theIsASCII, theDeflection, theIsRelative );
3503 endService( " GEOM_Superv_i::ExportSTL" );
3506 //=============================================================================
3508 //=============================================================================
3509 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTL( const char* theFileName )
3511 beginService( " GEOM_Superv_i::ImportSTL" );
3512 MESSAGE("GEOM_Superv_i::ImportSTL");
3514 GEOM::ListOfGO* aSeq = mySTLOp->ImportSTL(theFileName );
3515 GEOM::GEOM_Object_ptr anObj;
3517 if (aSeq->length() > 0) {
3518 anObj = aSeq->operator[](0);
3521 endService( " GEOM_Superv_i::ImportSTL" );
3525 //=============================================================================
3527 //=============================================================================
3528 void GEOM_Superv_i::ExportBREP( GEOM::GEOM_Object_ptr theObject,
3529 const char* theFileName )
3531 beginService( " GEOM_Superv_i::ExportBREP" );
3532 MESSAGE("GEOM_Superv_i::ExportBREP");
3534 myBREPOp->ExportBREP( theObject, theFileName );
3535 endService( " GEOM_Superv_i::ExportBREP" );
3538 //=============================================================================
3540 //=============================================================================
3541 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportBREP( const char* theFileName )
3543 beginService( " GEOM_Superv_i::ImportBREP" );
3544 MESSAGE("GEOM_Superv_i::ImportBREP");
3546 GEOM::ListOfGO* aSeq = myBREPOp->ImportBREP(theFileName );
3547 GEOM::GEOM_Object_ptr anObj;
3549 if (aSeq->length() > 0) {
3550 anObj = aSeq->operator[](0);
3553 endService( " GEOM_Superv_i::ImportBREP" );
3557 //=============================================================================
3559 //=============================================================================
3560 void GEOM_Superv_i::ExportSTEP( GEOM::GEOM_Object_ptr theObject,
3561 const char* theFileName )
3563 beginService( " GEOM_Superv_i::ExportSTEP" );
3564 MESSAGE("GEOM_Superv_i::ExportSTEP");
3567 const GEOM::length_unit aUnit = GEOM::LU_METER;
3569 mySTEPOp->ExportSTEP( theObject, theFileName, aUnit );
3570 endService( " GEOM_Superv_i::ExportSTEP" );
3573 //=============================================================================
3575 //=============================================================================
3576 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTEP( const char* theFileName,
3577 const bool theIsIgnoreUnits )
3579 beginService( " GEOM_Superv_i::ImportSTEP" );
3580 MESSAGE("GEOM_Superv_i::ImportSTEP");
3582 GEOM::ListOfGO* aSeq = mySTEPOp->ImportSTEP(theFileName, theIsIgnoreUnits );
3583 GEOM::GEOM_Object_ptr anObj;
3585 if (aSeq->length() > 0) {
3586 anObj = aSeq->operator[](0);
3589 endService( " GEOM_Superv_i::ImportSTEP" );
3593 //=============================================================================
3595 //=============================================================================
3596 void GEOM_Superv_i::ExportIGES( GEOM::GEOM_Object_ptr theObject,
3597 const char* theFileName,
3598 const char* theVersion )
3600 beginService( " GEOM_Superv_i::ExportIGES" );
3601 MESSAGE("GEOM_Superv_i::ExportIGES");
3603 myIGESOp->ExportIGES( theObject, theFileName, theVersion );
3604 endService( " GEOM_Superv_i::ExportIGES" );
3607 //=============================================================================
3609 //=============================================================================
3610 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportIGES( const char* theFileName,
3611 const bool theIsIgnoreUnits )
3613 beginService( " GEOM_Superv_i::ImportIGES" );
3614 MESSAGE("GEOM_Superv_i::ImportIGES");
3616 GEOM::ListOfGO* aSeq = myIGESOp->ImportIGES(theFileName, theIsIgnoreUnits );
3617 GEOM::GEOM_Object_ptr anObj;
3619 if (aSeq->length() > 0) {
3620 anObj = aSeq->operator[](0);
3623 endService( " GEOM_Superv_i::ImportIGES" );
3627 //=============================================================================
3629 //=============================================================================
3630 CORBA::Boolean GEOM_Superv_i::ExportXAO( GEOM::GEOM_Object_ptr shape,
3631 const GEOM::ListOfGO& groups,
3632 const GEOM::ListOfFields& fields,
3633 const char* author, const char* fileName )
3635 beginService( " GEOM_Superv_i::ExportXAO" );
3636 MESSAGE("GEOM_Superv_i::ExportXAO");
3638 CORBA::Boolean isGood = myXAOOp->ExportXAO( shape, groups, fields, author, fileName );
3639 endService( " GEOM_Superv_i::ExportXAO" );
3643 //=============================================================================
3645 //=============================================================================
3646 CORBA::Boolean GEOM_Superv_i::ImportXAO( const char* fileName,
3647 GEOM::GEOM_Object_out shape,
3648 GEOM::ListOfGO_out subShapes,
3649 GEOM::ListOfGO_out groups,
3650 GEOM::ListOfFields_out fields )
3655 //=============================================================================
3657 //=============================================================================
3658 void GEOM_Superv_i::ExportVTK( GEOM::GEOM_Object_ptr theObject,
3659 const char* theFileName,
3660 CORBA::Double theDeflection )
3662 beginService( " GEOM_Superv_i::ExportVTK" );
3663 MESSAGE("GEOM_Superv_i::ExportVTK");
3665 myVTKOp->ExportVTK( theObject, theFileName, theDeflection );
3666 endService( " GEOM_Superv_i::ExportVTK" );
3669 //=============================== Advanced Operations =============================
3670 //=============================================================================
3672 //=============================================================================
3673 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3674 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3675 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3676 CORBA::Boolean theHexMesh)
3678 beginService( " GEOM_Superv_i::MakePipeTShape" );
3679 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3682 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3683 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3684 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3685 endService( " GEOM_Superv_i::MakePipeTShape" );
3686 return aSeqPtr->_this();
3689 //=============================================================================
3690 // MakePipeTShapeWithPosition
3691 //=============================================================================
3692 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3693 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3694 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3695 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3697 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3698 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3701 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3702 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3703 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3704 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3705 return aSeqPtr->_this();
3708 //=============================================================================
3709 // MakePipeTShapeChamfer
3710 //=============================================================================
3711 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3712 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3713 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3714 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3716 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3717 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3720 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3721 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3722 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3723 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3724 return aSeqPtr->_this();
3727 //=============================================================================
3728 // MakePipeTShapeChamferWithPosition
3729 //=============================================================================
3730 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3731 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3732 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3733 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3734 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3736 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3737 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3740 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3741 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3742 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3743 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3744 return aSeqPtr->_this();
3747 //=============================================================================
3748 // MakePipeTShapeFillet
3749 //=============================================================================
3750 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3751 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3752 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3753 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3755 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3756 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3759 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3760 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3761 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3762 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3763 return aSeqPtr->_this();
3766 //=============================================================================
3767 // MakePipeTShapeFilletWithPosition
3768 //=============================================================================
3769 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3770 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3771 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3772 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3773 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3775 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3776 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3779 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3780 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3781 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3782 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3783 return aSeqPtr->_this();
3786 //=============================================================================
3788 //=============================================================================
3789 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3790 CORBA::Short theOrientation, GEOM::pattern thePattern)
3792 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3793 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3795 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3796 endService( " GEOM_Superv_i::MakeDividedDisk" );
3800 //=============================================================================
3801 // MakeDividedCylinder
3802 //=============================================================================
3803 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3805 GEOM::pattern thePattern)
3807 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3808 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3810 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3811 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3815 //=============================================================================
3816 // MakeSmoothingSurface
3817 //=============================================================================
3818 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3820 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3821 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3823 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3824 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3826 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3827 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3830 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3834 /*@@ insert new functions before this line @@ do not remove this line @@*/
3836 //=====================================================================================
3838 //=====================================================================================
3842 __declspec( dllexport )
3844 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3845 PortableServer::POA_ptr poa,
3846 PortableServer::ObjectId * contId,
3847 const char *instanceName,
3848 const char * interfaceName)
3850 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3851 //Don't understand the reason why this component is registered ???
3852 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3853 return myGEOM_Superv_i->getId() ;