1 // Copyright (C) 2007-2014 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 = myGeomEngine->GetIAdvancedOperations(myStudyID);
403 myAdvancedOp = GEOM::GEOM_IAdvancedOperations::_narrow(myGeomEngine->GetPluginOperations(myStudyID, "AdvancedEngine"));
407 //=============================================================================
409 //=============================================================================
410 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
411 PortableServer::POA_ptr thePOA)
413 if(CORBA::is_nil(theObject)) return NULL;
414 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
418 //============================================================================
420 // purpose : save OCAF/Geom document
421 //============================================================================
422 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
424 CORBA::Boolean isMultiFile)
426 SALOMEDS::TMPFile_var aStreamFile;
427 return aStreamFile._retn();
430 //============================================================================
431 // function : SaveASCII()
433 //============================================================================
434 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
436 CORBA::Boolean isMultiFile)
438 SALOMEDS::TMPFile_var aStreamFile;
439 return aStreamFile._retn();
442 //============================================================================
445 //============================================================================
446 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
447 const SALOMEDS::TMPFile& theStream,
449 CORBA::Boolean isMultiFile)
454 //============================================================================
455 // function : LoadASCII()
457 //============================================================================
458 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
459 const SALOMEDS::TMPFile& theStream,
461 CORBA::Boolean isMultiFile)
466 //============================================================================
467 // function : Close()
469 //============================================================================
470 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
474 //============================================================================
475 // function : ComponentDataType()
477 //============================================================================
478 char* GEOM_Superv_i::ComponentDataType()
483 //============================================================================
484 // function : IORToLocalPersistentID()
486 //============================================================================
487 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
488 const char* IORString,
489 CORBA::Boolean isMultiFile,
490 CORBA::Boolean isASCII)
495 //============================================================================
496 // function : LocalPersistentIDToIOR()
497 // purpose : Create/Load CORBA object from a persistent ref (an entry)
498 // : Used when a study is loaded
499 // : The IOR (IORName) of object created is returned
500 //============================================================================
501 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
502 const char* aLocalPersistentID,
503 CORBA::Boolean isMultiFile,
504 CORBA::Boolean isASCII)
509 //============================================================================
510 // function : CanPublishInStudy
512 //============================================================================
513 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
515 if (CORBA::is_nil(myGeomEngine))
517 return myGeomEngine->CanPublishInStudy(theIOR);
520 //============================================================================
521 // function : PublishInStudy
523 //============================================================================
524 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
525 SALOMEDS::SObject_ptr theSObject,
526 CORBA::Object_ptr theObject,
527 const char* theName) throw (SALOME::SALOME_Exception)
529 if (CORBA::is_nil(myGeomEngine))
531 return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
534 //============================================================================
535 // function : PublishNamedShapesInStudy
537 //============================================================================
539 GEOM_Superv_i::PublishNamedShapesInStudy(SALOMEDS::Study_ptr theStudy,
540 //SALOMEDS::SObject_ptr theSObject,
541 CORBA::Object_ptr theObject)
543 if (CORBA::is_nil(myGeomEngine))
545 return myGeomEngine->PublishNamedShapesInStudy(theStudy, theObject);
548 //============================================================================
549 // function : CanCopy()
551 //============================================================================
552 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
557 //============================================================================
558 // function : CopyFrom()
560 //============================================================================
561 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
563 SALOMEDS::TMPFile_var aStreamFile;
564 return aStreamFile._retn();
567 //============================================================================
568 // function : CanPaste()
570 //============================================================================
571 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
576 //============================================================================
577 // function : PasteInto()
579 //============================================================================
580 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
581 CORBA::Long theObjectID,
582 SALOMEDS::SObject_ptr theObject)
584 SALOMEDS::SObject_var aNewSO;
585 return aNewSO._retn();
588 //================= Primitives Construction : BasicOperations =================
589 //=============================================================================
591 //=============================================================================
592 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
596 beginService( " GEOM_Superv_i::MakePointXYZ" );
597 MESSAGE("GEOM_Superv_i::MakePointXYZ");
599 // make vertex and return
600 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
601 endService( " GEOM_Superv_i::MakePointXYZ" );
605 //=============================================================================
606 // MakePointWithReference:
607 //=============================================================================
608 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
613 beginService( " GEOM_Superv_i::MakePointWithReference" );
614 MESSAGE("GEOM_Superv_i::MakePointWithReference");
616 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
617 endService( " GEOM_Superv_i::MakePointWithReference" );
621 //=============================================================================
623 //=============================================================================
624 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
625 CORBA::Double theParameter)
627 beginService( " GEOM_Superv_i::MakePointOnCurve" );
628 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
630 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
631 endService( " GEOM_Superv_i::MakePointOnCurve" );
635 //=============================================================================
636 // MakePointOnCurveByLength:
637 //=============================================================================
638 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
639 CORBA::Double theLength,
640 GEOM::GEOM_Object_ptr theStartPoint)
642 beginService( " GEOM_Superv_i::MakePointOnCurveByLength" );
643 MESSAGE("GEOM_Superv_i::MakePointOnCurveByLength");
645 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurveByLength(theRefCurve, theLength, theStartPoint);
646 endService( " GEOM_Superv_i::MakePointOnCurveByLength" );
650 //=============================================================================
651 // MakePointOnCurveByCoord
652 //=============================================================================
653 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
654 CORBA::Double theXParameter,
655 CORBA::Double theYParameter,
656 CORBA::Double theZParameter)
658 beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
659 MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
661 GEOM::GEOM_Object_ptr anObj =
662 myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
663 theYParameter, theZParameter);
664 endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
668 //=============================================================================
669 // MakePointOnSurface:
670 //=============================================================================
671 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
672 CORBA::Double theUParameter,
673 CORBA::Double theVParameter)
675 beginService( " GEOM_Superv_i::MakePointOnSurface" );
676 MESSAGE("GEOM_Superv_i::MakePointOnSurface");
678 GEOM::GEOM_Object_ptr anObj =
679 myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
680 endService( " GEOM_Superv_i::MakePointOnSurface" );
684 //=============================================================================
685 // MakePointOnSurfaceByCoord
686 //=============================================================================
687 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
688 CORBA::Double theXParameter,
689 CORBA::Double theYParameter,
690 CORBA::Double theZParameter)
692 beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
693 MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
695 GEOM::GEOM_Object_ptr anObj =
696 myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
697 theYParameter, theZParameter);
698 endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
702 //=============================================================================
703 // MakePointOnLinesIntersection:
704 //=============================================================================
705 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
706 GEOM::GEOM_Object_ptr theRefLine2)
708 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
709 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
711 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
712 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
716 //=============================================================================
717 // MakeTangentOnCurve:
718 //=============================================================================
719 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
720 CORBA::Double theParameter)
722 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
723 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
725 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
726 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
730 //=============================================================================
732 //=============================================================================
733 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
737 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
738 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
740 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
741 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
745 //=============================================================================
747 //=============================================================================
748 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
749 GEOM::GEOM_Object_ptr thePnt2)
751 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
752 MESSAGE("GEOM_Superv_i::MakeVector");
754 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
755 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
759 //=============================================================================
761 //=============================================================================
762 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
763 GEOM::GEOM_Object_ptr thePnt2)
765 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
766 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
768 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
769 endService( " GEOM_Superv_i::MakeLineTwoPnt");
773 //=============================================================================
775 //=============================================================================
776 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
777 GEOM::GEOM_Object_ptr theFace2)
779 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
780 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
782 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
783 endService( " GEOM_Superv_i::MakeLineTwoFaces");
787 //=============================================================================
788 // MakePlaneThreePnt:
789 //=============================================================================
790 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
791 GEOM::GEOM_Object_ptr thePnt2,
792 GEOM::GEOM_Object_ptr thePnt3,
793 CORBA::Double theTrimSize)
795 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
796 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
798 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
799 endService( " GEOM_Superv_i::MakePlaneThreePnt");
803 //=============================================================================
805 //=============================================================================
806 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
807 GEOM::GEOM_Object_ptr theVec,
808 CORBA::Double theTrimSize)
810 beginService( " GEOM_Superv_i::MakePlanePntVec" );
811 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
813 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
814 endService( " GEOM_Superv_i::MakePlanePntVec" );
818 //=============================================================================
820 //=============================================================================
821 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
822 CORBA::Double theTrimSize)
824 beginService( " GEOM_Superv_i::MakePlaneFace" );
825 MESSAGE("GEOM_Superv_i::MakePlaneFace");
827 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
828 endService( " GEOM_Superv_i::MakePlaneFace" );
832 //=============================================================================
834 //=============================================================================
835 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
836 GEOM::GEOM_Object_ptr theVec2,
837 CORBA::Double theTrimSize)
839 beginService( " GEOM_Superv_i::MakePlane2Vec" );
840 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
842 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
843 endService( " GEOM_Superv_i::MakePlane2Vec" );
847 //=============================================================================
849 //=============================================================================
850 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
851 CORBA::Double theTrimSize,
852 CORBA::Double theOrientation)
854 beginService( " GEOM_Superv_i::MakePlaneLCS" );
855 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
857 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
858 endService( " GEOM_Superv_i::MakePlaneLCS" );
862 //=============================================================================
864 //=============================================================================
865 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
866 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
867 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
868 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
870 beginService( " GEOM_Superv_i::MakeMarker" );
871 MESSAGE("GEOM_Superv_i::MakeMarker");
873 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
874 endService( " GEOM_Superv_i::MakeMarker" );
878 //=============================================================================
879 // MakeMarkerFromShape:
880 //=============================================================================
881 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape)
883 beginService( " GEOM_Superv_i::MakeMarkerFromShape" );
884 MESSAGE("GEOM_Superv_i::MakeMarkerFromShape");
886 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerFromShape(theShape);
887 endService( " GEOM_Superv_i::MakeMarkerFromShape" );
891 //=============================================================================
892 // MakeMarkerPntTwoVec:
893 //=============================================================================
894 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
895 GEOM::GEOM_Object_ptr theXVec,
896 GEOM::GEOM_Object_ptr theYVec)
898 beginService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
899 MESSAGE("GEOM_Superv_i::MakeMarkerPntTwoVec");
901 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec);
902 endService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
906 //=============================================================================
907 // MakeTangentPlaneOnFace:
908 //=============================================================================
909 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
910 CORBA::Double theParameterU,
911 CORBA::Double theParameterV,
912 CORBA::Double theTrimSize)
914 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
915 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
917 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
918 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
922 //================= Primitives Construction : 3DPrimOperations ================
923 //=============================================================================
925 //=============================================================================
926 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
933 beginService( " GEOM_Superv_i::MakeBox" );
934 MESSAGE("GEOM_Superv_i::MakeBox");
937 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
938 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
939 endService( " GEOM_Superv_i::MakeBox" );
943 //=============================================================================
945 //=============================================================================
946 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
950 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
951 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
953 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
954 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
958 //=============================================================================
960 //=============================================================================
961 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
962 GEOM::GEOM_Object_ptr thePnt2)
964 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
965 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
967 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
968 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
972 //=============================================================================
974 //=============================================================================
975 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
977 CORBA::Short theOrientation)
979 beginService( " GEOM_Superv_i::MakeFaceHW" );
980 MESSAGE("GEOM_Superv_i::MakeFaceHW");
982 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
983 endService( " GEOM_Superv_i::MakeFaceHW" );
987 //=============================================================================
989 //=============================================================================
990 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
994 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
995 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
997 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
998 endService( " GEOM_Superv_i::MakeFaceObjHW" );
1002 //=============================================================================
1004 //=============================================================================
1005 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
1006 GEOM::GEOM_Object_ptr theVector,
1009 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
1010 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
1012 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
1013 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
1017 //=============================================================================
1018 // MakeDiskThreePnt:
1019 //=============================================================================
1020 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1021 GEOM::GEOM_Object_ptr thePnt2,
1022 GEOM::GEOM_Object_ptr thePnt3)
1024 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
1025 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
1027 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
1028 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
1032 //=============================================================================
1034 //=============================================================================
1035 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
1036 CORBA::Short theOrientation)
1038 beginService( " GEOM_Superv_i::MakeDiskR" );
1039 MESSAGE("GEOM_Superv_i::MakeDiskR");
1041 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
1042 endService( " GEOM_Superv_i::MakeDiskR" );
1046 //=============================================================================
1047 // MakeCylinderPntVecRH:
1048 //=============================================================================
1049 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
1050 GEOM::GEOM_Object_ptr theAxis,
1051 CORBA::Double theRadius,
1052 CORBA::Double theHeight)
1054 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1055 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1057 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
1058 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1062 //=============================================================================
1064 //=============================================================================
1065 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1068 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1069 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1071 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
1072 endService( " GEOM_Superv_i::MakeCylinderRH" );
1076 //=============================================================================
1078 //=============================================================================
1079 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1082 CORBA::Double theRadius)
1084 beginService( " GEOM_Superv_i::MakeSphepe" );
1085 MESSAGE("GEOM_Superv_i::MakeSphepe");
1088 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1089 endService( " GEOM_Superv_i::MakeSphepe" );
1093 //=============================================================================
1095 //=============================================================================
1096 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1098 beginService( " GEOM_Superv_i::MakeSphereR" );
1099 MESSAGE("GEOM_Superv_i::MakeSphereR");
1101 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1102 endService( " GEOM_Superv_i::MakeSphereR" );
1106 //=============================================================================
1108 //=============================================================================
1109 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1112 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1113 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1115 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1116 endService( " GEOM_Superv_i::MakeSpherePntR" );
1120 //=============================================================================
1121 // MakeTorusPntVecRR:
1122 //=============================================================================
1123 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1124 GEOM::GEOM_Object_ptr theVec,
1125 CORBA::Double theRMajor,
1126 CORBA::Double theRMinor)
1128 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1129 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1131 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1132 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1136 //=============================================================================
1138 //=============================================================================
1139 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1140 CORBA::Double theRMinor)
1142 beginService( " GEOM_Superv_i::MakeTorusRR" );
1143 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1145 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1146 endService( " GEOM_Superv_i::MakeTorusRR" );
1150 //=============================================================================
1151 // MakeConePntVecR1R2H:
1152 //=============================================================================
1153 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1154 GEOM::GEOM_Object_ptr theAxis,
1155 CORBA::Double theR1,
1156 CORBA::Double theR2,
1157 CORBA::Double theHeight)
1159 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1160 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1162 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1163 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1167 //=============================================================================
1169 //=============================================================================
1170 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1171 CORBA::Double theR2,
1172 CORBA::Double theHeight)
1174 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1175 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1177 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1178 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1182 //=============================================================================
1184 //=============================================================================
1185 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1186 GEOM::GEOM_Object_ptr theVec,
1189 beginService( " GEOM_Superv_i::MakePrismVecH" );
1190 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1192 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1193 endService( " GEOM_Superv_i::MakePrismVecH" );
1197 //=============================================================================
1198 // MakePrismVecH2Ways:
1199 //=============================================================================
1200 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1201 GEOM::GEOM_Object_ptr theVec,
1204 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1205 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1207 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1208 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1212 //=============================================================================
1214 //=============================================================================
1215 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1216 GEOM::GEOM_Object_ptr thePoint1,
1217 GEOM::GEOM_Object_ptr thePoint2)
1219 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1220 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1222 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1223 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1227 //=============================================================================
1228 // MakePrismTwoPnt2Ways:
1229 //=============================================================================
1230 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1231 GEOM::GEOM_Object_ptr thePoint1,
1232 GEOM::GEOM_Object_ptr thePoint2)
1234 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1235 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1237 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1238 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1242 //=============================================================================
1244 //=============================================================================
1245 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1246 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1248 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1249 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1251 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1252 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1256 //=============================================================================
1258 //=============================================================================
1259 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1260 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1262 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1263 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1265 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1266 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1270 //=============================================================================
1272 //=============================================================================
1273 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1274 GEOM::GEOM_Object_ptr thePath)
1276 beginService( " GEOM_Superv_i::MakePipe" );
1277 MESSAGE("GEOM_Superv_i::MakePipe");
1279 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
1280 endService( " GEOM_Superv_i::MakePipe" );
1284 //=============================================================================
1285 // MakeRevolutionAxisAngle:
1286 //=============================================================================
1287 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1288 GEOM::GEOM_Object_ptr theAxis,
1289 CORBA::Double theAngle)
1291 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1292 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1294 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1295 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1299 //=============================================================================
1300 // MakeRevolutionAxisAngle:
1301 //=============================================================================
1302 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1303 GEOM::GEOM_Object_ptr theAxis,
1304 CORBA::Double theAngle)
1306 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1307 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1309 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1310 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1314 //=============================================================================
1316 //=============================================================================
1317 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1318 CORBA::Long theMinDeg,
1319 CORBA::Long theMaxDeg,
1320 CORBA::Double theTol2D,
1321 CORBA::Double theTol3D,
1322 CORBA::Long theNbIter,
1323 GEOM::filling_oper_method theMethod,
1324 CORBA::Boolean theApprox)
1326 beginService( " GEOM_Superv_i::MakeFilling" );
1327 MESSAGE("GEOM_Superv_i::MakeFilling");
1329 GEOM::GEOM_Object_ptr anObj =
1330 my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1331 theNbIter, theMethod, theApprox);
1332 endService( " GEOM_Superv_i::MakeFilling" );
1336 //============================= BooleanOperations =============================
1337 //=============================================================================
1339 //=============================================================================
1340 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1341 (GEOM::GEOM_Object_ptr theShape1,
1342 GEOM::GEOM_Object_ptr theShape2,
1343 CORBA::Long theOperation)
1345 beginService( " GEOM_Superv_i::MakeBoolean" );
1346 // theOperation indicates the operation to be done:
1347 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1348 MESSAGE("GEOM_Superv_i::MakeBoolean");
1350 GEOM::GEOM_Object_ptr anObj =
1351 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1352 endService( " GEOM_Superv_i::MakeBoolean" );
1356 //=============================================================================
1357 // MakeThruSections:
1358 //=============================================================================
1359 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1360 CORBA::Boolean theModeSolid,
1361 CORBA::Double thePreci,
1362 CORBA::Boolean theRuled)
1364 beginService( " GEOM_Superv_i::MakeThruSections" );
1365 MESSAGE("GEOM_Superv_i::MakeThruSections");
1367 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1368 endService( " GEOM_Superv_i::MakeThruSections" );
1372 //=============================================================================
1374 //=============================================================================
1375 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1376 (const GEOM::ListOfGO& theBases,
1377 const GEOM::ListOfGO& theLocations,
1378 GEOM::GEOM_Object_ptr thePath,
1379 CORBA::Boolean theWithContact,
1380 CORBA::Boolean theWithCorrections)
1382 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1383 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1385 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
1386 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1391 //=============================================================================
1393 //=============================================================================
1394 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1395 (const GEOM::ListOfGO& theBases,
1396 const GEOM::ListOfGO& theSubBases,
1397 const GEOM::ListOfGO& theLocations,
1398 GEOM::GEOM_Object_ptr thePath,
1399 CORBA::Boolean theWithContact,
1400 CORBA::Boolean theWithCorrections)
1402 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1403 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1405 GEOM::GEOM_Object_ptr anObj =
1406 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1407 theLocations, thePath,
1408 theWithContact, theWithCorrections);
1409 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1414 //=============================================================================
1416 //=============================================================================
1417 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1418 (const GEOM::ListOfGO& theBases,
1419 const GEOM::ListOfGO& theLocations)
1421 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1422 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1424 GEOM::GEOM_Object_ptr anObj =
1425 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1426 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1431 //=============================================================================
1433 //=============================================================================
1434 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1435 (GEOM::GEOM_Object_ptr theBase,
1436 GEOM::GEOM_Object_ptr thePath,
1437 GEOM::GEOM_Object_ptr theVec)
1439 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1440 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1442 GEOM::GEOM_Object_ptr anObj =
1443 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec);
1444 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1449 //=============================================================================
1451 //=============================================================================
1452 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1453 (GEOM::GEOM_Object_ptr theShape1,
1454 GEOM::GEOM_Object_ptr theShape2)
1456 beginService( " GEOM_Superv_i::MakeFuse" );
1457 MESSAGE("GEOM_Superv_i::MakeFuse");
1459 GEOM::GEOM_Object_ptr anObj =
1460 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1461 endService( " GEOM_Superv_i::MakeFuse" );
1465 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1466 GEOM::GEOM_Object_ptr theShape2)
1468 beginService( " GEOM_Superv_i::MakeCommon" );
1469 MESSAGE("GEOM_Superv_i::MakeCommon");
1471 GEOM::GEOM_Object_ptr anObj =
1472 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1473 endService( " GEOM_Superv_i::MakeCommon" );
1477 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1478 GEOM::GEOM_Object_ptr theShape2)
1480 beginService( " GEOM_Superv_i::MakeCut" );
1481 MESSAGE("GEOM_Superv_i::MakeCut");
1483 GEOM::GEOM_Object_ptr anObj =
1484 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1485 endService( " GEOM_Superv_i::MakeCut" );
1489 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1490 GEOM::GEOM_Object_ptr theShape2)
1492 beginService( " GEOM_Superv_i::MakeCut" );
1493 MESSAGE("GEOM_Superv_i::MakeCut");
1495 GEOM::GEOM_Object_ptr anObj =
1496 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1497 endService( " GEOM_Superv_i::MakeCut" );
1501 //=============================================================================
1503 //=============================================================================
1504 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1505 GEOM::GEOM_List_ptr theTools,
1506 GEOM::GEOM_List_ptr theKeepInside,
1507 GEOM::GEOM_List_ptr theRemoveInside,
1508 CORBA::Short theLimit,
1509 CORBA::Boolean theRemoveWebs,
1510 GEOM::GEOM_List_ptr theMaterials,
1511 CORBA::Short theKeepNonlimitShapes)
1513 beginService( " GEOM_Superv_i::MakePartition" );
1514 MESSAGE("GEOM_Superv_i::MakePartition");
1515 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1516 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1517 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1518 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1519 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1520 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1521 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1522 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1523 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1524 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1525 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1527 GEOM::GEOM_Object_ptr anObj =
1528 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1529 aListImplKI->GetList(), aListImplRI->GetList(),
1530 theLimit, theRemoveWebs, aListImplM->GetList(),
1531 theKeepNonlimitShapes);
1532 endService( " GEOM_Superv_i::MakePartition" );
1535 endService( " GEOM_Superv_i::MakePartition" );
1539 //=============================================================================
1540 // MakeHalfPartition:
1541 //=============================================================================
1542 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1543 GEOM::GEOM_Object_ptr thePlane)
1545 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1546 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1548 GEOM::GEOM_Object_ptr anObj =
1549 myBoolOp->MakeHalfPartition(theShape, thePlane);
1550 endService( " GEOM_Superv_i::MakeHalfPartition" );
1554 //============================== InsertOperations =============================
1555 //=============================================================================
1557 //=============================================================================
1558 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1560 beginService( " GEOM_Superv_i::MakeCopy" );
1561 MESSAGE("GEOM_Superv_i::MakeCopy");
1563 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1564 endService( " GEOM_Superv_i::MakeCopy" );
1568 //=============================================================================
1570 //=============================================================================
1571 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1572 const char* theFileName,
1573 const char* theFormatName)
1575 beginService( " GEOM_Superv_i::Export" );
1576 MESSAGE("GEOM_Superv_i::Export");
1578 myInsOp->Export(theObject, theFileName, theFormatName);
1579 endService( " GEOM_Superv_i::Export" );
1582 //=============================================================================
1584 //=============================================================================
1585 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1586 const char* theFormatName)
1588 beginService( " GEOM_Superv_i::ImportFile" );
1589 MESSAGE("GEOM_Superv_i::ImportFile");
1591 GEOM::ListOfGO* aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1592 GEOM::GEOM_Object_ptr anObj;
1594 if (aSeq->length() > 0) {
1595 anObj = aSeq->operator[](0);
1598 endService( " GEOM_Superv_i::ImportFile" );
1602 //=============================================================================
1603 // ImportTranslators:
1604 //=============================================================================
1605 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1606 GEOM::string_array_out thePatterns)
1608 beginService( " GEOM_Superv_i::ImportTranslators" );
1609 MESSAGE("GEOM_Superv_i::ImportTranslators");
1611 myInsOp->ImportTranslators(theFormats, thePatterns);
1612 endService( " GEOM_Superv_i::ImportTranslators" );
1615 //=============================================================================
1616 // ExportTranslators:
1617 //=============================================================================
1618 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1619 GEOM::string_array_out thePatterns)
1621 beginService( " GEOM_Superv_i::ExportTranslators" );
1622 MESSAGE("GEOM_Superv_i::ExportTranslators");
1624 myInsOp->ExportTranslators(theFormats, thePatterns);
1625 endService( " GEOM_Superv_i::ExportTranslators" );
1628 //============================= TransformOperations ===========================
1629 //=============================================================================
1630 // TranslateTwoPoints:
1631 //=============================================================================
1632 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1633 GEOM::GEOM_Object_ptr thePoint1,
1634 GEOM::GEOM_Object_ptr thePoint2)
1636 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1637 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1639 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1640 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1644 //=============================================================================
1645 // TranslateTwoPointsCopy:
1646 //=============================================================================
1647 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1648 GEOM::GEOM_Object_ptr thePoint1,
1649 GEOM::GEOM_Object_ptr thePoint2)
1651 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1652 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1654 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1655 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1659 //=============================================================================
1661 //=============================================================================
1662 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1663 CORBA::Double theDX,
1664 CORBA::Double theDY,
1665 CORBA::Double theDZ)
1667 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1668 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1670 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1671 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1675 //=============================================================================
1676 // TranslateDXDYDZCopy:
1677 //=============================================================================
1678 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1679 CORBA::Double theDX,
1680 CORBA::Double theDY,
1681 CORBA::Double theDZ)
1683 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1684 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1686 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1687 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1691 //=============================================================================
1693 //=============================================================================
1694 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1695 GEOM::GEOM_Object_ptr theVector)
1697 beginService( " GEOM_Superv_i::TranslateVector" );
1698 MESSAGE("GEOM_Superv_i::TranslateVector");
1700 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1701 endService( " GEOM_Superv_i::TranslateVector" );
1705 //=============================================================================
1706 // TranslateVectorCopy:
1707 //=============================================================================
1708 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1709 GEOM::GEOM_Object_ptr theVector)
1711 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1712 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1714 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1715 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1719 //=============================================================================
1720 // TranslateVectorDistance:
1721 //=============================================================================
1722 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1723 GEOM::GEOM_Object_ptr theVector,
1724 CORBA::Double theDistance,
1725 CORBA::Boolean theCopy)
1727 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1728 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1730 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1731 theVector, theDistance, theCopy);
1732 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1736 //=============================================================================
1737 // MultiTranslate1D:
1738 //=============================================================================
1739 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1740 GEOM::GEOM_Object_ptr theVector,
1741 CORBA::Double theStep,
1742 CORBA::Long theNbTimes)
1744 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1745 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1747 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1748 endService( " GEOM_Superv_i::MultiTranslate1D" );
1752 //=============================================================================
1753 // MultiTranslate2D:
1754 //=============================================================================
1755 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1756 GEOM::GEOM_Object_ptr theVector1,
1757 CORBA::Double theStep1,
1758 CORBA::Long theNbTimes1,
1759 GEOM::GEOM_Object_ptr theVector2,
1760 CORBA::Double theStep2,
1761 CORBA::Long theNbTimes2)
1763 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1764 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1766 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1767 theVector2, theStep2, theNbTimes2);
1768 endService( " GEOM_Superv_i::MultiTranslate2D" );
1772 //=============================================================================
1774 //=============================================================================
1775 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1776 GEOM::GEOM_Object_ptr theAxis,
1777 CORBA::Double theAngle)
1779 beginService( " GEOM_Superv_i::Rotate" );
1780 MESSAGE("GEOM_Superv_i::Rotate");
1782 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1783 endService( " GEOM_Superv_i::Rotate" );
1787 //=============================================================================
1789 //=============================================================================
1790 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1791 GEOM::GEOM_Object_ptr theAxis,
1792 CORBA::Double theAngle)
1794 beginService( " GEOM_Superv_i::RotateCopy" );
1795 MESSAGE("GEOM_Superv_i::RotateCopy");
1797 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1798 endService( " GEOM_Superv_i::RotateCopy" );
1801 //=============================================================================
1802 // RotateThreePoints:
1803 //=============================================================================
1804 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1805 GEOM::GEOM_Object_ptr theCentPoint,
1806 GEOM::GEOM_Object_ptr thePoint1,
1807 GEOM::GEOM_Object_ptr thePoint2)
1809 beginService( " GEOM_Superv_i::RotateThreePoints" );
1810 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1812 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1813 endService( " GEOM_Superv_i::RotateThreePoints" );
1817 //=============================================================================
1818 // RotateThreePointsCopy:
1819 //=============================================================================
1820 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1821 GEOM::GEOM_Object_ptr theCentPoint,
1822 GEOM::GEOM_Object_ptr thePoint1,
1823 GEOM::GEOM_Object_ptr thePoint2)
1825 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1826 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1828 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1829 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1833 //=============================================================================
1835 //=============================================================================
1836 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1837 GEOM::GEOM_Object_ptr theAxis,
1838 CORBA::Long theNbTimes)
1840 beginService( " GEOM_Superv_i::MultiRotate1D" );
1841 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1843 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1844 endService( " GEOM_Superv_i::MultiRotate1D" );
1848 //=============================================================================
1850 //=============================================================================
1851 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1852 GEOM::GEOM_Object_ptr theAxis,
1853 CORBA::Double theAngle,
1854 CORBA::Long theNbTimes1,
1855 CORBA::Double theStep,
1856 CORBA::Long theNbTimes2)
1858 beginService( " GEOM_Superv_i::MultiRotate2D" );
1859 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1861 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1862 endService( " GEOM_Superv_i::MultiRotate2D" );
1866 //=============================================================================
1868 //=============================================================================
1869 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1870 GEOM::GEOM_Object_ptr thePlane)
1872 beginService( " GEOM_Superv_i::MirrorPlane" );
1873 MESSAGE("GEOM_Superv_i::MirrorPlane");
1875 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1876 endService( " GEOM_Superv_i::MirrorPlane" );
1880 //=============================================================================
1882 //=============================================================================
1883 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1884 GEOM::GEOM_Object_ptr thePlane)
1886 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1887 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1889 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1890 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1894 //=============================================================================
1896 //=============================================================================
1897 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1898 GEOM::GEOM_Object_ptr theAxis)
1900 beginService( " GEOM_Superv_i::MirrorAxis" );
1901 MESSAGE("GEOM_Superv_i::MirrorAxis");
1903 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1904 endService( " GEOM_Superv_i::MirrorAxis" );
1908 //=============================================================================
1910 //=============================================================================
1911 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1912 GEOM::GEOM_Object_ptr theAxis)
1914 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1915 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1917 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1918 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1922 //=============================================================================
1924 //=============================================================================
1925 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1926 GEOM::GEOM_Object_ptr thePoint)
1928 beginService( " GEOM_Superv_i::MirrorPoint" );
1929 MESSAGE("GEOM_Superv_i::MirrorPoint");
1931 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1932 endService( " GEOM_Superv_i::MirrorPoint" );
1936 //=============================================================================
1938 //=============================================================================
1939 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1940 GEOM::GEOM_Object_ptr thePoint)
1942 beginService( " GEOM_Superv_i::MirrorPoint" );
1943 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1945 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1946 endService( " GEOM_Superv_i::MirrorPoint" );
1950 //=============================================================================
1952 //=============================================================================
1953 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1954 CORBA::Double theOffset)
1956 beginService( " GEOM_Superv_i::OffsetShape" );
1957 MESSAGE("GEOM_Superv_i::OffsetShape");
1959 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1960 endService( " GEOM_Superv_i::OffsetShape" );
1964 //=============================================================================
1966 //=============================================================================
1967 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1968 CORBA::Double theOffset)
1970 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1971 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1973 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1974 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1978 //=============================================================================
1980 //=============================================================================
1981 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1982 GEOM::GEOM_Object_ptr thePoint,
1983 CORBA::Double theFactor)
1985 beginService( " GEOM_Superv_i::ScaleShape" );
1986 MESSAGE("GEOM_Superv_i::ScaleShape");
1988 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1989 endService( " GEOM_Superv_i::ScaleShape" );
1993 //=============================================================================
1995 //=============================================================================
1996 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1997 GEOM::GEOM_Object_ptr thePoint,
1998 CORBA::Double theFactor)
2000 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2001 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2003 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2004 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2008 //=============================================================================
2009 // ScaleShapeAlongAxes:
2010 //=============================================================================
2011 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2012 GEOM::GEOM_Object_ptr thePoint,
2013 CORBA::Double theFactorX,
2014 CORBA::Double theFactorY,
2015 CORBA::Double theFactorZ)
2017 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2018 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2020 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2021 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2022 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2026 //=============================================================================
2027 // ScaleShapeAlongAxesCopy:
2028 //=============================================================================
2029 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2030 GEOM::GEOM_Object_ptr thePoint,
2031 CORBA::Double theFactorX,
2032 CORBA::Double theFactorY,
2033 CORBA::Double theFactorZ)
2035 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2036 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2038 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2039 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2040 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2044 //=============================================================================
2046 //=============================================================================
2047 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2048 GEOM::GEOM_Object_ptr theStartLCS,
2049 GEOM::GEOM_Object_ptr theEndLCS)
2051 beginService( " GEOM_Superv_i::PositionShape" );
2052 MESSAGE("GEOM_Superv_i::PositionShape");
2054 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2055 endService( " GEOM_Superv_i::PositionShape" );
2059 //=============================================================================
2060 // PositionShapeCopy:
2061 //=============================================================================
2062 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2063 GEOM::GEOM_Object_ptr theStartLCS,
2064 GEOM::GEOM_Object_ptr theEndLCS)
2066 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2067 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2069 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2070 endService( " GEOM_Superv_i::PositionShapeCopy" );
2074 //=============================================================================
2075 // PositionAlongPath:
2076 //=============================================================================
2077 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2078 GEOM::GEOM_Object_ptr thePath,
2079 CORBA::Double theDistance,
2080 CORBA::Boolean theCopy,
2081 CORBA::Boolean theReverse)
2083 beginService( " GEOM_Superv_i::PositionAlongPath" );
2084 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2086 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2087 endService( " GEOM_Superv_i::PositionAlongPath" );
2091 //=============================== ShapesOperations ============================
2092 //=============================================================================
2094 //=============================================================================
2095 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2096 GEOM::GEOM_Object_ptr thePnt2)
2098 beginService( " GEOM_Superv_i::MakeEdge" );
2099 MESSAGE("GEOM_Superv_i::MakeEdge");
2101 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2102 endService( " GEOM_Superv_i::MakeEdge" );
2106 //=============================================================================
2107 // MakeEdgeOnCurveByLength:
2108 //=============================================================================
2109 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2110 CORBA::Double theLength,
2111 GEOM::GEOM_Object_ptr theStartPoint)
2113 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2114 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2116 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2117 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2121 //=============================================================================
2123 //=============================================================================
2124 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2125 CORBA::Double theTolerance)
2127 beginService( " GEOM_Superv_i::MakeWire" );
2128 MESSAGE("GEOM_Superv_i::MakeWire");
2129 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2130 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2132 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2133 endService( " GEOM_Superv_i::MakeWire" );
2136 endService( " GEOM_Superv_i::MakeWire" );
2140 //=============================================================================
2142 //=============================================================================
2143 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2144 CORBA::Boolean isPlanarWanted)
2146 beginService( " GEOM_Superv_i::MakeFace" );
2147 MESSAGE("GEOM_Superv_i::MakeFace");
2149 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2150 endService( " GEOM_Superv_i::MakeFace" );
2154 //=============================================================================
2156 //=============================================================================
2157 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2158 CORBA::Boolean isPlanarWanted)
2160 beginService( " GEOM_Superv_i::MakeFaceWires" );
2161 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2162 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2163 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2165 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2166 endService( " GEOM_Superv_i::MakeFaceWires" );
2169 endService( " GEOM_Superv_i::MakeFaceWires" );
2173 //=============================================================================
2175 //=============================================================================
2176 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2178 beginService( " GEOM_Superv_i::MakeShell" );
2179 MESSAGE("GEOM_Superv_i::MakeShell");
2180 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2181 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2183 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2184 endService( " GEOM_Superv_i::MakeShell" );
2187 endService( " GEOM_Superv_i::MakeShell" );
2191 //=============================================================================
2193 //=============================================================================
2194 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2196 beginService( " GEOM_Superv_i::MakeSolidShell" );
2197 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2199 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2200 endService( " GEOM_Superv_i::MakeSolidShell" );
2204 //=============================================================================
2206 //=============================================================================
2207 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2209 beginService( " GEOM_Superv_i::MakeSolidShells" );
2210 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2211 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2212 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2214 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2215 endService( " GEOM_Superv_i::MakeSolidShells" );
2218 endService( " GEOM_Superv_i::MakeSolidShells" );
2222 //=============================================================================
2224 //=============================================================================
2225 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2227 beginService( " GEOM_Superv_i::MakeCompound" );
2228 MESSAGE("GEOM_Superv_i::MakeCompound");
2229 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2230 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2232 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2233 endService( " GEOM_Superv_i::MakeCompound" );
2236 endService( " GEOM_Superv_i::MakeCompound" );
2240 //=============================================================================
2242 //=============================================================================
2243 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2244 CORBA::Double theTolerance,
2245 CORBA::Boolean doKeepNonSolids)
2247 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2248 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2250 GEOM::GEOM_Object_ptr anObj =
2251 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
2252 endService( " GEOM_Superv_i::MakeGlueFaces" );
2256 //=============================================================================
2258 //=============================================================================
2259 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2260 CORBA::Double theTolerance)
2262 beginService( " GEOM_Superv_i::GetGlueFaces" );
2263 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2265 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
2266 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2267 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2268 endService( " GEOM_Superv_i::GetGlueFaces" );
2269 return aListPtr->_this();
2272 //=============================================================================
2273 // MakeGlueFacesByList:
2274 //=============================================================================
2275 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2276 CORBA::Double theTolerance,
2277 const GEOM::ListOfGO& theFaces,
2278 CORBA::Boolean doKeepNonSolids,
2279 CORBA::Boolean doGlueAllEdges)
2281 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2282 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2284 GEOM::GEOM_Object_ptr anObj =
2285 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces,
2286 doKeepNonSolids, doGlueAllEdges);
2287 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2291 //=============================================================================
2293 //=============================================================================
2294 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2295 CORBA::Long theShapeType,
2296 CORBA::Boolean isSorted)
2298 beginService( " GEOM_Superv_i::MakeExplode" );
2299 MESSAGE("GEOM_Superv_i::MakeExplode");
2302 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2303 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2304 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2305 endService( " GEOM_Superv_i::MakeExplode" );
2306 return aListPtr->_this();
2309 //=============================================================================
2311 //=============================================================================
2312 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2314 beginService( " GEOM_Superv_i::NumberOfFaces" );
2315 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2317 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2318 endService( " GEOM_Superv_i::NumberOfFaces" );
2322 //=============================================================================
2324 //=============================================================================
2325 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2327 beginService( " GEOM_Superv_i::NumberOfEdges" );
2328 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2330 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2331 endService( " GEOM_Superv_i::NumberOfEdges" );
2336 //=============================================================================
2337 // ChangeOrientation:
2338 //=============================================================================
2339 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2341 beginService( " GEOM_Superv_i::ChangeOrientation" );
2342 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2344 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2345 endService( " GEOM_Superv_i::ChangeOrientation" );
2350 //=============================================================================
2351 // GetShapesOnShape:
2352 //=============================================================================
2353 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2354 (GEOM::GEOM_Object_ptr theCheckShape,
2355 GEOM::GEOM_Object_ptr theShape,
2356 CORBA::Short theShapeType,
2357 GEOM::shape_state theState)
2359 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2360 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2362 GEOM::ListOfGO* aList =
2363 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2364 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2365 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2366 endService( " GEOM_Superv_i::GetShapesOnShape" );
2367 return aListPtr->_this();
2371 //=============================================================================
2372 // GetShapesOnShapeAsCompound:
2373 //=============================================================================
2374 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2375 (GEOM::GEOM_Object_ptr theCheckShape,
2376 GEOM::GEOM_Object_ptr theShape,
2377 CORBA::Short theShapeType,
2378 GEOM::shape_state theState)
2380 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2381 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2383 GEOM::GEOM_Object_ptr anObj =
2384 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2385 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2390 //=============================== BlocksOperations ============================
2391 //=============================================================================
2392 // MakeQuad4Vertices:
2393 //=============================================================================
2394 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2395 GEOM::GEOM_Object_ptr thePnt2,
2396 GEOM::GEOM_Object_ptr thePnt3,
2397 GEOM::GEOM_Object_ptr thePnt4)
2399 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2400 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2402 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2403 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2407 //=============================================================================
2409 //=============================================================================
2410 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2411 GEOM::GEOM_Object_ptr theEdge2,
2412 GEOM::GEOM_Object_ptr theEdge3,
2413 GEOM::GEOM_Object_ptr theEdge4)
2415 beginService( " GEOM_Superv_i::MakeQuad" );
2416 MESSAGE("GEOM_Superv_i::MakeQuad");
2418 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2419 endService( " GEOM_Superv_i::MakeQuad" );
2423 //=============================================================================
2425 //=============================================================================
2426 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2427 GEOM::GEOM_Object_ptr theEdge2)
2429 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2430 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2432 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2433 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2437 //=============================================================================
2439 //=============================================================================
2440 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2441 GEOM::GEOM_Object_ptr theFace2,
2442 GEOM::GEOM_Object_ptr theFace3,
2443 GEOM::GEOM_Object_ptr theFace4,
2444 GEOM::GEOM_Object_ptr theFace5,
2445 GEOM::GEOM_Object_ptr theFace6)
2447 beginService( " GEOM_Superv_i::MakeHexa" );
2448 MESSAGE("GEOM_Superv_i::MakeHexa");
2450 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2451 endService( " GEOM_Superv_i::MakeHexa" );
2455 //=============================================================================
2457 //=============================================================================
2458 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2459 GEOM::GEOM_Object_ptr theFace2)
2461 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2462 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2464 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2465 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2469 //=============================================================================
2471 //=============================================================================
2472 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2476 CORBA::Double theEpsilon)
2478 beginService( " GEOM_Superv_i::GetPoint" );
2479 MESSAGE("GEOM_Superv_i::GetPoint");
2481 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2482 endService( " GEOM_Superv_i::GetPoint" );
2486 //=============================================================================
2488 //=============================================================================
2489 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2490 GEOM::GEOM_Object_ptr thePoint1,
2491 GEOM::GEOM_Object_ptr thePoint2)
2493 beginService( " GEOM_Superv_i::GetEdge" );
2494 MESSAGE("GEOM_Superv_i::GetEdge");
2496 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2497 endService( " GEOM_Superv_i::GetEdge" );
2501 //=============================================================================
2502 // GetEdgeNearPoint:
2503 //=============================================================================
2504 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2505 GEOM::GEOM_Object_ptr thePoint)
2507 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2508 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2510 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2511 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2515 //=============================================================================
2517 //=============================================================================
2518 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2519 GEOM::GEOM_Object_ptr thePoint1,
2520 GEOM::GEOM_Object_ptr thePoint2,
2521 GEOM::GEOM_Object_ptr thePoint3,
2522 GEOM::GEOM_Object_ptr thePoint4)
2524 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2525 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2527 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2528 endService( " GEOM_Superv_i::GetFaceByPoints" );
2532 //=============================================================================
2534 //=============================================================================
2535 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2536 GEOM::GEOM_Object_ptr theEdge1,
2537 GEOM::GEOM_Object_ptr theEdge2)
2539 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2540 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2542 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2543 endService( " GEOM_Superv_i::GetFaceByEdges" );
2547 //=============================================================================
2549 //=============================================================================
2550 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2551 GEOM::GEOM_Object_ptr theFace)
2553 beginService( " GEOM_Superv_i::GetOppositeFace" );
2554 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2556 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2557 endService( " GEOM_Superv_i::GetOppositeFace" );
2561 //=============================================================================
2562 // GetFaceNearPoint:
2563 //=============================================================================
2564 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2565 GEOM::GEOM_Object_ptr thePoint)
2567 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2568 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2570 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2571 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2575 //=============================================================================
2576 // GetFaceByNormale:
2577 //=============================================================================
2578 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2579 GEOM::GEOM_Object_ptr theVector)
2581 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2582 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2584 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2585 endService( " GEOM_Superv_i::GetFaceByNormale" );
2589 //=============================================================================
2590 // IsCompoundOfBlocks:
2591 //=============================================================================
2592 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2593 CORBA::Long theMinNbFaces,
2594 CORBA::Long theMaxNbFaces,
2595 CORBA::Long& theNbBlocks)
2597 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2598 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2600 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2601 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2605 //=============================================================================
2606 // CheckCompoundOfBlocks:
2607 //=============================================================================
2608 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2609 (GEOM::GEOM_Object_ptr theCompound,
2610 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2612 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2613 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2615 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2616 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2620 //=============================================================================
2622 //=============================================================================
2623 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2624 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2626 beginService( " GEOM_Superv_i::PrintBCErrors" );
2627 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2629 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2630 endService( " GEOM_Superv_i::PrintBCErrors" );
2634 //=============================================================================
2635 // ExplodeCompoundOfBlocks:
2636 //=============================================================================
2637 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2638 CORBA::Long theMinNbFaces,
2639 CORBA::Long theMaxNbFaces)
2641 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2642 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2644 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2645 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2646 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2647 return aListPtr->_this();
2650 //=============================================================================
2651 // GetBlockNearPoint:
2652 //=============================================================================
2653 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2654 GEOM::GEOM_Object_ptr thePoint)
2656 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2657 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2659 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2660 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2664 //=============================================================================
2666 //=============================================================================
2667 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2668 GEOM::GEOM_List_ptr theParts)
2670 beginService( " GEOM_Superv_i::GetBlockByParts" );
2671 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2672 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2673 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2675 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2676 endService( " GEOM_Superv_i::GetBlockByParts" );
2679 endService( " GEOM_Superv_i::GetBlockByParts" );
2683 //=============================================================================
2684 // GetBlocksByParts:
2685 //=============================================================================
2686 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2687 GEOM::GEOM_List_ptr theParts)
2689 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2690 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2691 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2692 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2695 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2696 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2697 endService( " GEOM_Superv_i::GetBlocksByParts" );
2698 return aListPtr->_this();
2700 endService( " GEOM_Superv_i::GetBlocksByParts" );
2704 //=============================================================================
2705 // MakeMultiTransformation1D:
2706 //=============================================================================
2707 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2708 CORBA::Long theDirFace1,
2709 CORBA::Long theDirFace2,
2710 CORBA::Long theNbTimes)
2712 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2713 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2715 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2716 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2720 //=============================================================================
2721 // MakeMultiTransformation2D:
2722 //=============================================================================
2723 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2724 (GEOM::GEOM_Object_ptr theBlock,
2725 CORBA::Long theDirFace1U,
2726 CORBA::Long theDirFace2U,
2727 CORBA::Long theNbTimesU,
2728 CORBA::Long theDirFace1V,
2729 CORBA::Long theDirFace2V,
2730 CORBA::Long theNbTimesV)
2732 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2733 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2735 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2736 theDirFace1U, theDirFace2U, theNbTimesU,
2737 theDirFace1V, theDirFace2V, theNbTimesV);
2738 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2742 //=============================== CurvesOperations ============================
2743 //=============================================================================
2744 // MakeCirclePntVecR:
2745 //=============================================================================
2746 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2747 GEOM::GEOM_Object_ptr theVector,
2750 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2751 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2753 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2754 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2758 //=============================================================================
2759 // MakeCircleThreePnt:
2760 //=============================================================================
2761 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2762 GEOM::GEOM_Object_ptr thePnt2,
2763 GEOM::GEOM_Object_ptr thePnt3)
2765 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2766 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2768 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2769 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2772 //=============================================================================
2773 // MakeCircleCenter2Pnt:
2774 //=============================================================================
2775 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2776 GEOM::GEOM_Object_ptr thePnt2,
2777 GEOM::GEOM_Object_ptr thePnt3)
2779 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2780 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2782 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2783 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2787 //=============================================================================
2789 //=============================================================================
2790 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2791 GEOM::GEOM_Object_ptr theVector,
2792 CORBA::Double theRMajor,
2793 CORBA::Double theRMinor)
2795 beginService( " GEOM_Superv_i::MakeEllipse" );
2796 MESSAGE("GEOM_Superv_i::MakeEllipse");
2798 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2799 endService( " GEOM_Superv_i::MakeEllipse" );
2803 //=============================================================================
2805 //=============================================================================
2806 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2807 GEOM::GEOM_Object_ptr theVector,
2808 CORBA::Double theRMajor,
2809 CORBA::Double theRMinor,
2810 GEOM::GEOM_Object_ptr theVectorMajor)
2812 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2813 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2815 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2816 endService( " GEOM_Superv_i::MakeEllipseVec" );
2820 //=============================================================================
2822 //=============================================================================
2823 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2824 GEOM::GEOM_Object_ptr thePnt2,
2825 GEOM::GEOM_Object_ptr thePnt3)
2827 beginService( " GEOM_Superv_i::MakeArc" );
2828 MESSAGE("GEOM_Superv_i::MakeArc");
2830 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2831 endService( " GEOM_Superv_i::MakeArc" );
2835 //=============================================================================
2837 //=============================================================================
2838 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2839 GEOM::GEOM_Object_ptr thePnt1,
2840 GEOM::GEOM_Object_ptr thePnt2,
2841 CORBA::Boolean theSense)
2843 beginService( " GEOM_Superv_i::MakeArcCenter" );
2844 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2846 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2847 endService( " GEOM_Superv_i::MakeArcCenter" );
2851 //=============================================================================
2852 // MakeArcOfEllipse:
2853 //=============================================================================
2854 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2855 GEOM::GEOM_Object_ptr thePnt2,
2856 GEOM::GEOM_Object_ptr thePnt3)
2858 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2859 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2861 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2862 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2866 //=============================================================================
2868 //=============================================================================
2869 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
2870 CORBA::Boolean theIsClosed)
2872 beginService( " GEOM_Superv_i::MakePolyline" );
2873 MESSAGE("GEOM_Superv_i::MakePolyline");
2874 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2875 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2877 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
2878 endService( " GEOM_Superv_i::MakePolyline" );
2881 endService( " GEOM_Superv_i::MakePolyline" );
2885 //=============================================================================
2886 // MakeSplineBezier:
2887 //=============================================================================
2888 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
2889 CORBA::Boolean theIsClosed)
2891 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2892 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2893 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2894 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2896 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
2897 endService( " GEOM_Superv_i::MakeSplineBezier" );
2900 endService( " GEOM_Superv_i::MakeSplineBezier" );
2904 //=============================================================================
2905 // MakeSplineInterpolation:
2906 //=============================================================================
2907 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
2908 CORBA::Boolean theIsClosed,
2909 CORBA::Boolean theDoReordering)
2911 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2912 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2913 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2914 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2916 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
2917 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2920 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2924 //=============================================================================
2926 //=============================================================================
2927 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2928 GEOM::GEOM_List_ptr theWorkingPlane)
2930 beginService( " GEOM_Superv_i::MakeSketcher" );
2931 MESSAGE("GEOM_Superv_i::MakeSketcher");
2932 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2933 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2935 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2936 endService( " GEOM_Superv_i::MakeSketcher" );
2939 endService( " GEOM_Superv_i::MakeSketcher" );
2943 //=============================================================================
2945 //=============================================================================
2946 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
2948 beginService( " GEOM_Superv_i::Make3DSketcher" );
2949 MESSAGE("GEOM_Superv_i::Make3DSketcher");
2950 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
2951 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
2953 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
2954 endService( " GEOM_Superv_i::Make3DSketcher" );
2957 endService( " GEOM_Superv_i::Make3DSketcher" );
2961 //=============================== LocalOperations =============================
2962 //=============================================================================
2964 //=============================================================================
2965 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2968 beginService( " GEOM_Superv_i::MakeFilletAll" );
2969 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2971 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2972 endService( " GEOM_Superv_i::MakeFilletAll" );
2976 //=============================================================================
2978 //=============================================================================
2979 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2981 GEOM::GEOM_List_ptr theEdges)
2983 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2984 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2985 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2986 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2988 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2989 endService( " GEOM_Superv_i::MakeFilletEdges" );
2992 endService( " GEOM_Superv_i::MakeFilletEdges" );
2996 //=============================================================================
2997 // MakeFilletEdges R1 R2:
2998 //=============================================================================
2999 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3000 CORBA::Double theR1,
3001 CORBA::Double theR2,
3002 GEOM::GEOM_List_ptr theEdges)
3004 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3005 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3006 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3007 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3009 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3010 theR2, aListImplE->GetList());
3011 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3014 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3018 //=============================================================================
3020 //=============================================================================
3021 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3023 GEOM::GEOM_List_ptr theFaces)
3025 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3026 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3027 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3028 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3030 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3031 endService( " GEOM_Superv_i::MakeFilletFaces" );
3034 endService( " GEOM_Superv_i::MakeFilletFaces" );
3038 //=============================================================================
3039 // MakeFilletFaces R1 R2:
3040 //=============================================================================
3041 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3042 CORBA::Double theR1,
3043 CORBA::Double theR2,
3044 GEOM::GEOM_List_ptr theFaces)
3046 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3047 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3048 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3049 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3051 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3052 aListImplF->GetList());
3053 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3056 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3060 //=============================================================================
3062 //=============================================================================
3063 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3065 GEOM::GEOM_List_ptr theVertexes)
3067 beginService( " GEOM_Superv_i::MakeFillet2D" );
3068 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3069 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3070 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3072 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3073 endService( " GEOM_Superv_i::MakeFillet2D" );
3076 endService( " GEOM_Superv_i::MakeFillet2D" );
3080 //=============================================================================
3082 //=============================================================================
3083 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3085 GEOM::GEOM_List_ptr theVertexes,
3086 CORBA::Boolean doIgnoreSecantVertices)
3088 beginService( " GEOM_Superv_i::MakeFillet1D" );
3089 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3090 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3091 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3093 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3094 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3095 endService( " GEOM_Superv_i::MakeFillet1D" );
3098 endService( " GEOM_Superv_i::MakeFillet1D" );
3102 //=============================================================================
3104 //=============================================================================
3105 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3107 beginService( " GEOM_Superv_i::MakeChamferAll" );
3108 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3110 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3111 endService( " GEOM_Superv_i::MakeChamferAll" );
3115 //=============================================================================
3117 //=============================================================================
3118 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3119 CORBA::Double theD1, CORBA::Double theD2,
3120 CORBA::Long theFace1, CORBA::Long theFace2)
3122 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3123 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3125 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3126 endService( " GEOM_Superv_i::MakeChamferEdge" );
3130 //=============================================================================
3131 // MakeChamferEdgeAD:
3132 //=============================================================================
3133 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3134 CORBA::Double theD, CORBA::Double theAngle,
3135 CORBA::Long theFace1, CORBA::Long theFace2)
3137 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3138 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3140 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3141 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3145 //=============================================================================
3146 // MakeChamferFaces:
3147 //=============================================================================
3148 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3149 CORBA::Double theD1, CORBA::Double theD2,
3150 GEOM::GEOM_List_ptr theFaces)
3152 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3153 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3154 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3155 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3157 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3158 endService( " GEOM_Superv_i::MakeChamferFaces" );
3161 endService( " GEOM_Superv_i::MakeChamferFaces" );
3165 //=============================================================================
3166 // MakeChamferFacesAD:
3167 //=============================================================================
3168 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3169 CORBA::Double theD, CORBA::Double theAngle,
3170 GEOM::GEOM_List_ptr theFaces)
3172 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3173 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3174 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3175 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3177 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3178 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3181 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3185 //=============================================================================
3186 // MakeChamferEdges:
3187 //=============================================================================
3188 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3189 CORBA::Double theD1, CORBA::Double theD2,
3190 GEOM::GEOM_List_ptr theEdges)
3192 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3193 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3194 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3195 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3197 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3198 endService( " GEOM_Superv_i::MakeChamferEdges" );
3201 endService( " GEOM_Superv_i::MakeChamferEdges" );
3205 //=============================================================================
3206 // MakeChamferEdgesAD:
3207 //=============================================================================
3208 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3209 CORBA::Double theD, CORBA::Double theAngle,
3210 GEOM::GEOM_List_ptr theEdges)
3212 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3213 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3214 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3215 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3217 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3218 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3221 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3225 //=============================================================================
3227 //=============================================================================
3228 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3229 CORBA::Double theWeight,
3230 CORBA::Double theWaterDensity,
3231 CORBA::Double theMeshingDeflection)
3233 beginService( " GEOM_Superv_i::MakeArchimede" );
3234 MESSAGE("GEOM_Superv_i::MakeArchimede");
3236 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3237 endService( " GEOM_Superv_i::MakeArchimede" );
3241 //=============================================================================
3242 // GetSubShapeIndexMakeFilletAll:
3243 //=============================================================================
3244 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3245 GEOM::GEOM_Object_ptr theSubShape)
3247 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3248 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3250 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3251 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3255 //=============================== GroupOperations =============================
3256 //=============================================================================
3258 //=============================================================================
3259 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3260 CORBA::Long theShapeType)
3262 beginService( " GEOM_Superv_i::CreateGroup" );
3263 MESSAGE("GEOM_Superv_i::CreateGroup");
3265 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3266 endService( " GEOM_Superv_i::CreateGroup" );
3270 //=============================================================================
3272 //=============================================================================
3273 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3274 CORBA::Long theSubShapeId)
3276 beginService( " GEOM_Superv_i::AddObject" );
3277 MESSAGE("GEOM_Superv_i::AddObject");
3279 myGroupOp->AddObject(theGroup, theSubShapeId);
3280 endService( " GEOM_Superv_i::AddObject" );
3283 //=============================================================================
3285 //=============================================================================
3286 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3287 CORBA::Long theSubShapeId)
3289 beginService( " GEOM_Superv_i::RemoveObject" );
3290 MESSAGE("GEOM_Superv_i::RemoveObject");
3292 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3293 endService( " GEOM_Superv_i::RemoveObject" );
3296 //=============================================================================
3298 //=============================================================================
3299 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3301 beginService( " GEOM_Superv_i::GetType" );
3302 MESSAGE("GEOM_Superv_i::GetType");
3304 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3305 endService( " GEOM_Superv_i::GetType" );
3309 //=============================================================================
3311 //=============================================================================
3312 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3314 beginService( " GEOM_Superv_i::GetMainShape" );
3315 MESSAGE("GEOM_Superv_i::GetMainShape");
3317 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3318 endService( " GEOM_Superv_i::GetMainShape" );
3322 //=============================================================================
3324 //=============================================================================
3325 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3327 beginService( " GEOM_Superv_i::GetObjects" );
3328 MESSAGE("GEOM_Superv_i::GetObjects");
3331 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3332 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3333 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3334 endService( " GEOM_Superv_i::GetObjects" );
3335 return aListPtr->_this();
3338 //=============================================================================
3340 //=============================================================================
3341 CORBA::Boolean GEOM_Superv_i::ExportXAO (GEOM::GEOM_Object_ptr shape,
3342 const GEOM::ListOfGO& groups, const GEOM::ListOfFields& fields,
3343 const char* author, const char* fileName)
3345 beginService( " GEOM_Superv_i::ExportXAO" );
3346 MESSAGE("GEOM_Superv_i::ExportXAO");
3348 CORBA::Boolean isGood = myInsOp->ExportXAO(shape, groups, fields, author, fileName);
3349 endService( " GEOM_Superv_i::ExportXAO" );
3353 //=============================================================================
3355 //=============================================================================
3356 CORBA::Boolean GEOM_Superv_i::ImportXAO (const char* fileName, GEOM::GEOM_Object_out shape,
3357 GEOM::ListOfGO_out subShapes, GEOM::ListOfGO_out groups, GEOM::ListOfFields_out fields)
3362 //=============================== Advanced Operations =============================
3363 //=============================================================================
3365 //=============================================================================
3366 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3367 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3368 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3369 CORBA::Boolean theHexMesh)
3371 beginService( " GEOM_Superv_i::MakePipeTShape" );
3372 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3375 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3376 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3377 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3378 endService( " GEOM_Superv_i::MakePipeTShape" );
3379 return aSeqPtr->_this();
3382 //=============================================================================
3383 // MakePipeTShapeWithPosition
3384 //=============================================================================
3385 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3386 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3387 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3388 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3390 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3391 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3394 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3395 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3396 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3397 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3398 return aSeqPtr->_this();
3401 //=============================================================================
3402 // MakePipeTShapeChamfer
3403 //=============================================================================
3404 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3405 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3406 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3407 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3409 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3410 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3413 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3414 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3415 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3416 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3417 return aSeqPtr->_this();
3420 //=============================================================================
3421 // MakePipeTShapeChamferWithPosition
3422 //=============================================================================
3423 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3424 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3425 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3426 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3427 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3429 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3430 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3433 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3434 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3435 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3436 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3437 return aSeqPtr->_this();
3440 //=============================================================================
3441 // MakePipeTShapeFillet
3442 //=============================================================================
3443 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3444 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3445 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3446 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3448 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3449 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3452 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3453 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3454 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3455 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3456 return aSeqPtr->_this();
3459 //=============================================================================
3460 // MakePipeTShapeFilletWithPosition
3461 //=============================================================================
3462 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3463 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3464 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3465 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3466 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3468 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3469 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3472 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3473 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3474 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3475 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3476 return aSeqPtr->_this();
3479 //=============================================================================
3481 //=============================================================================
3482 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3483 CORBA::Short theOrientation, GEOM::pattern thePattern)
3485 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3486 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3488 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3489 endService( " GEOM_Superv_i::MakeDividedDisk" );
3493 //=============================================================================
3494 // MakeDividedCylinder
3495 //=============================================================================
3496 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3498 GEOM::pattern thePattern)
3500 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3501 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3503 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3504 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3508 //=============================================================================
3509 // MakeSmoothingSurface
3510 //=============================================================================
3511 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3513 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3514 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3516 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3517 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3519 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3520 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3523 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3527 /*@@ insert new functions before this line @@ do not remove this line @@*/
3529 //=====================================================================================
3531 //=====================================================================================
3535 __declspec( dllexport )
3537 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3538 PortableServer::POA_ptr poa,
3539 PortableServer::ObjectId * contId,
3540 const char *instanceName,
3541 const char * interfaceName)
3543 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3544 //Don't understand the reason why this component is registered ???
3545 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3546 return myGEOM_Superv_i->getId() ;