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,
1053 CORBA::Double theAngle)
1055 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1056 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1058 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight, theAngle);
1059 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1063 //=============================================================================
1065 //=============================================================================
1066 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1070 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1071 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1073 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH, theA);
1074 endService( " GEOM_Superv_i::MakeCylinderRH" );
1078 //=============================================================================
1080 //=============================================================================
1081 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1084 CORBA::Double theRadius)
1086 beginService( " GEOM_Superv_i::MakeSphepe" );
1087 MESSAGE("GEOM_Superv_i::MakeSphepe");
1090 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1091 endService( " GEOM_Superv_i::MakeSphepe" );
1095 //=============================================================================
1097 //=============================================================================
1098 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1100 beginService( " GEOM_Superv_i::MakeSphereR" );
1101 MESSAGE("GEOM_Superv_i::MakeSphereR");
1103 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1104 endService( " GEOM_Superv_i::MakeSphereR" );
1108 //=============================================================================
1110 //=============================================================================
1111 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1114 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1115 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1117 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1118 endService( " GEOM_Superv_i::MakeSpherePntR" );
1122 //=============================================================================
1123 // MakeTorusPntVecRR:
1124 //=============================================================================
1125 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1126 GEOM::GEOM_Object_ptr theVec,
1127 CORBA::Double theRMajor,
1128 CORBA::Double theRMinor)
1130 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1131 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1133 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1134 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1138 //=============================================================================
1140 //=============================================================================
1141 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1142 CORBA::Double theRMinor)
1144 beginService( " GEOM_Superv_i::MakeTorusRR" );
1145 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1147 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1148 endService( " GEOM_Superv_i::MakeTorusRR" );
1152 //=============================================================================
1153 // MakeConePntVecR1R2H:
1154 //=============================================================================
1155 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1156 GEOM::GEOM_Object_ptr theAxis,
1157 CORBA::Double theR1,
1158 CORBA::Double theR2,
1159 CORBA::Double theHeight)
1161 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1162 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1164 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1165 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1169 //=============================================================================
1171 //=============================================================================
1172 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1173 CORBA::Double theR2,
1174 CORBA::Double theHeight)
1176 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1177 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1179 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1180 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1184 //=============================================================================
1186 //=============================================================================
1187 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1188 GEOM::GEOM_Object_ptr theVec,
1191 beginService( " GEOM_Superv_i::MakePrismVecH" );
1192 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1194 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1195 endService( " GEOM_Superv_i::MakePrismVecH" );
1199 //=============================================================================
1200 // MakePrismVecH2Ways:
1201 //=============================================================================
1202 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1203 GEOM::GEOM_Object_ptr theVec,
1206 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1207 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1209 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1210 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1214 //=============================================================================
1216 //=============================================================================
1217 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1218 GEOM::GEOM_Object_ptr thePoint1,
1219 GEOM::GEOM_Object_ptr thePoint2)
1221 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1222 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1224 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1225 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1229 //=============================================================================
1230 // MakePrismTwoPnt2Ways:
1231 //=============================================================================
1232 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1233 GEOM::GEOM_Object_ptr thePoint1,
1234 GEOM::GEOM_Object_ptr thePoint2)
1236 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1237 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1239 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1240 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1244 //=============================================================================
1246 //=============================================================================
1247 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1248 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1250 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1251 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1253 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1254 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1258 //=============================================================================
1260 //=============================================================================
1261 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1262 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1264 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1265 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1267 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1268 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1272 //=============================================================================
1274 //=============================================================================
1275 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1276 GEOM::GEOM_Object_ptr thePath)
1278 beginService( " GEOM_Superv_i::MakePipe" );
1279 MESSAGE("GEOM_Superv_i::MakePipe");
1281 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipe(theBase, thePath);
1282 endService( " GEOM_Superv_i::MakePipe" );
1286 //=============================================================================
1287 // MakeRevolutionAxisAngle:
1288 //=============================================================================
1289 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1290 GEOM::GEOM_Object_ptr theAxis,
1291 CORBA::Double theAngle)
1293 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1294 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1296 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1297 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1301 //=============================================================================
1302 // MakeRevolutionAxisAngle:
1303 //=============================================================================
1304 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1305 GEOM::GEOM_Object_ptr theAxis,
1306 CORBA::Double theAngle)
1308 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1309 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1311 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1312 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1316 //=============================================================================
1318 //=============================================================================
1319 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1320 CORBA::Long theMinDeg,
1321 CORBA::Long theMaxDeg,
1322 CORBA::Double theTol2D,
1323 CORBA::Double theTol3D,
1324 CORBA::Long theNbIter,
1325 GEOM::filling_oper_method theMethod,
1326 CORBA::Boolean theApprox)
1328 beginService( " GEOM_Superv_i::MakeFilling" );
1329 MESSAGE("GEOM_Superv_i::MakeFilling");
1331 GEOM::GEOM_Object_ptr anObj =
1332 my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1333 theNbIter, theMethod, theApprox);
1334 endService( " GEOM_Superv_i::MakeFilling" );
1338 //============================= BooleanOperations =============================
1339 //=============================================================================
1341 //=============================================================================
1342 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1343 (GEOM::GEOM_Object_ptr theShape1,
1344 GEOM::GEOM_Object_ptr theShape2,
1345 CORBA::Long theOperation)
1347 beginService( " GEOM_Superv_i::MakeBoolean" );
1348 // theOperation indicates the operation to be done:
1349 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1350 MESSAGE("GEOM_Superv_i::MakeBoolean");
1352 GEOM::GEOM_Object_ptr anObj =
1353 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1354 endService( " GEOM_Superv_i::MakeBoolean" );
1358 //=============================================================================
1359 // MakeThruSections:
1360 //=============================================================================
1361 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1362 CORBA::Boolean theModeSolid,
1363 CORBA::Double thePreci,
1364 CORBA::Boolean theRuled)
1366 beginService( " GEOM_Superv_i::MakeThruSections" );
1367 MESSAGE("GEOM_Superv_i::MakeThruSections");
1369 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1370 endService( " GEOM_Superv_i::MakeThruSections" );
1374 //=============================================================================
1376 //=============================================================================
1377 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1378 (const GEOM::ListOfGO& theBases,
1379 const GEOM::ListOfGO& theLocations,
1380 GEOM::GEOM_Object_ptr thePath,
1381 CORBA::Boolean theWithContact,
1382 CORBA::Boolean theWithCorrections)
1384 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1385 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1387 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections);
1388 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1393 //=============================================================================
1395 //=============================================================================
1396 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1397 (const GEOM::ListOfGO& theBases,
1398 const GEOM::ListOfGO& theSubBases,
1399 const GEOM::ListOfGO& theLocations,
1400 GEOM::GEOM_Object_ptr thePath,
1401 CORBA::Boolean theWithContact,
1402 CORBA::Boolean theWithCorrections)
1404 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1405 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1407 GEOM::GEOM_Object_ptr anObj =
1408 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1409 theLocations, thePath,
1410 theWithContact, theWithCorrections);
1411 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1416 //=============================================================================
1418 //=============================================================================
1419 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1420 (const GEOM::ListOfGO& theBases,
1421 const GEOM::ListOfGO& theLocations)
1423 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1424 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1426 GEOM::GEOM_Object_ptr anObj =
1427 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations);
1428 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1433 //=============================================================================
1435 //=============================================================================
1436 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1437 (GEOM::GEOM_Object_ptr theBase,
1438 GEOM::GEOM_Object_ptr thePath,
1439 GEOM::GEOM_Object_ptr theVec)
1441 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1442 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1444 GEOM::GEOM_Object_ptr anObj =
1445 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec);
1446 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1451 //=============================================================================
1453 //=============================================================================
1454 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1455 (GEOM::GEOM_Object_ptr theShape1,
1456 GEOM::GEOM_Object_ptr theShape2)
1458 beginService( " GEOM_Superv_i::MakeFuse" );
1459 MESSAGE("GEOM_Superv_i::MakeFuse");
1461 GEOM::GEOM_Object_ptr anObj =
1462 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1463 endService( " GEOM_Superv_i::MakeFuse" );
1467 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1468 GEOM::GEOM_Object_ptr theShape2)
1470 beginService( " GEOM_Superv_i::MakeCommon" );
1471 MESSAGE("GEOM_Superv_i::MakeCommon");
1473 GEOM::GEOM_Object_ptr anObj =
1474 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1475 endService( " GEOM_Superv_i::MakeCommon" );
1479 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1480 GEOM::GEOM_Object_ptr theShape2)
1482 beginService( " GEOM_Superv_i::MakeCut" );
1483 MESSAGE("GEOM_Superv_i::MakeCut");
1485 GEOM::GEOM_Object_ptr anObj =
1486 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1487 endService( " GEOM_Superv_i::MakeCut" );
1491 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1492 GEOM::GEOM_Object_ptr theShape2)
1494 beginService( " GEOM_Superv_i::MakeCut" );
1495 MESSAGE("GEOM_Superv_i::MakeCut");
1497 GEOM::GEOM_Object_ptr anObj =
1498 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1499 endService( " GEOM_Superv_i::MakeCut" );
1503 //=============================================================================
1505 //=============================================================================
1506 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1507 GEOM::GEOM_List_ptr theTools,
1508 GEOM::GEOM_List_ptr theKeepInside,
1509 GEOM::GEOM_List_ptr theRemoveInside,
1510 CORBA::Short theLimit,
1511 CORBA::Boolean theRemoveWebs,
1512 GEOM::GEOM_List_ptr theMaterials,
1513 CORBA::Short theKeepNonlimitShapes)
1515 beginService( " GEOM_Superv_i::MakePartition" );
1516 MESSAGE("GEOM_Superv_i::MakePartition");
1517 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1518 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1519 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1520 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1521 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1522 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1523 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1524 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1525 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1526 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1527 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1529 GEOM::GEOM_Object_ptr anObj =
1530 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1531 aListImplKI->GetList(), aListImplRI->GetList(),
1532 theLimit, theRemoveWebs, aListImplM->GetList(),
1533 theKeepNonlimitShapes);
1534 endService( " GEOM_Superv_i::MakePartition" );
1537 endService( " GEOM_Superv_i::MakePartition" );
1541 //=============================================================================
1542 // MakeHalfPartition:
1543 //=============================================================================
1544 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1545 GEOM::GEOM_Object_ptr thePlane)
1547 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1548 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1550 GEOM::GEOM_Object_ptr anObj =
1551 myBoolOp->MakeHalfPartition(theShape, thePlane);
1552 endService( " GEOM_Superv_i::MakeHalfPartition" );
1556 //============================== InsertOperations =============================
1557 //=============================================================================
1559 //=============================================================================
1560 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1562 beginService( " GEOM_Superv_i::MakeCopy" );
1563 MESSAGE("GEOM_Superv_i::MakeCopy");
1565 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1566 endService( " GEOM_Superv_i::MakeCopy" );
1570 //=============================================================================
1572 //=============================================================================
1573 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1574 const char* theFileName,
1575 const char* theFormatName)
1577 beginService( " GEOM_Superv_i::Export" );
1578 MESSAGE("GEOM_Superv_i::Export");
1580 myInsOp->Export(theObject, theFileName, theFormatName);
1581 endService( " GEOM_Superv_i::Export" );
1584 //=============================================================================
1586 //=============================================================================
1587 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1588 const char* theFormatName)
1590 beginService( " GEOM_Superv_i::ImportFile" );
1591 MESSAGE("GEOM_Superv_i::ImportFile");
1593 GEOM::ListOfGO* aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1594 GEOM::GEOM_Object_ptr anObj;
1596 if (aSeq->length() > 0) {
1597 anObj = aSeq->operator[](0);
1600 endService( " GEOM_Superv_i::ImportFile" );
1604 //=============================================================================
1605 // ImportTranslators:
1606 //=============================================================================
1607 void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats,
1608 GEOM::string_array_out thePatterns)
1610 beginService( " GEOM_Superv_i::ImportTranslators" );
1611 MESSAGE("GEOM_Superv_i::ImportTranslators");
1613 myInsOp->ImportTranslators(theFormats, thePatterns);
1614 endService( " GEOM_Superv_i::ImportTranslators" );
1617 //=============================================================================
1618 // ExportTranslators:
1619 //=============================================================================
1620 void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats,
1621 GEOM::string_array_out thePatterns)
1623 beginService( " GEOM_Superv_i::ExportTranslators" );
1624 MESSAGE("GEOM_Superv_i::ExportTranslators");
1626 myInsOp->ExportTranslators(theFormats, thePatterns);
1627 endService( " GEOM_Superv_i::ExportTranslators" );
1630 //============================= TransformOperations ===========================
1631 //=============================================================================
1632 // TranslateTwoPoints:
1633 //=============================================================================
1634 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1635 GEOM::GEOM_Object_ptr thePoint1,
1636 GEOM::GEOM_Object_ptr thePoint2)
1638 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1639 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1641 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1642 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1646 //=============================================================================
1647 // TranslateTwoPointsCopy:
1648 //=============================================================================
1649 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1650 GEOM::GEOM_Object_ptr thePoint1,
1651 GEOM::GEOM_Object_ptr thePoint2)
1653 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1654 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1656 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1657 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1661 //=============================================================================
1663 //=============================================================================
1664 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1665 CORBA::Double theDX,
1666 CORBA::Double theDY,
1667 CORBA::Double theDZ)
1669 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1670 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1672 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1673 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1677 //=============================================================================
1678 // TranslateDXDYDZCopy:
1679 //=============================================================================
1680 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1681 CORBA::Double theDX,
1682 CORBA::Double theDY,
1683 CORBA::Double theDZ)
1685 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1686 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1688 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1689 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1693 //=============================================================================
1695 //=============================================================================
1696 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1697 GEOM::GEOM_Object_ptr theVector)
1699 beginService( " GEOM_Superv_i::TranslateVector" );
1700 MESSAGE("GEOM_Superv_i::TranslateVector");
1702 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1703 endService( " GEOM_Superv_i::TranslateVector" );
1707 //=============================================================================
1708 // TranslateVectorCopy:
1709 //=============================================================================
1710 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1711 GEOM::GEOM_Object_ptr theVector)
1713 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1714 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1716 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1717 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1721 //=============================================================================
1722 // TranslateVectorDistance:
1723 //=============================================================================
1724 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1725 GEOM::GEOM_Object_ptr theVector,
1726 CORBA::Double theDistance,
1727 CORBA::Boolean theCopy)
1729 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1730 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1732 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1733 theVector, theDistance, theCopy);
1734 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1738 //=============================================================================
1739 // MultiTranslate1D:
1740 //=============================================================================
1741 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1742 GEOM::GEOM_Object_ptr theVector,
1743 CORBA::Double theStep,
1744 CORBA::Long theNbTimes)
1746 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1747 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1749 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1750 endService( " GEOM_Superv_i::MultiTranslate1D" );
1754 //=============================================================================
1755 // MultiTranslate2D:
1756 //=============================================================================
1757 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1758 GEOM::GEOM_Object_ptr theVector1,
1759 CORBA::Double theStep1,
1760 CORBA::Long theNbTimes1,
1761 GEOM::GEOM_Object_ptr theVector2,
1762 CORBA::Double theStep2,
1763 CORBA::Long theNbTimes2)
1765 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1766 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1768 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1769 theVector2, theStep2, theNbTimes2);
1770 endService( " GEOM_Superv_i::MultiTranslate2D" );
1774 //=============================================================================
1776 //=============================================================================
1777 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1778 GEOM::GEOM_Object_ptr theAxis,
1779 CORBA::Double theAngle)
1781 beginService( " GEOM_Superv_i::Rotate" );
1782 MESSAGE("GEOM_Superv_i::Rotate");
1784 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1785 endService( " GEOM_Superv_i::Rotate" );
1789 //=============================================================================
1791 //=============================================================================
1792 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1793 GEOM::GEOM_Object_ptr theAxis,
1794 CORBA::Double theAngle)
1796 beginService( " GEOM_Superv_i::RotateCopy" );
1797 MESSAGE("GEOM_Superv_i::RotateCopy");
1799 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1800 endService( " GEOM_Superv_i::RotateCopy" );
1803 //=============================================================================
1804 // RotateThreePoints:
1805 //=============================================================================
1806 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1807 GEOM::GEOM_Object_ptr theCentPoint,
1808 GEOM::GEOM_Object_ptr thePoint1,
1809 GEOM::GEOM_Object_ptr thePoint2)
1811 beginService( " GEOM_Superv_i::RotateThreePoints" );
1812 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1814 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1815 endService( " GEOM_Superv_i::RotateThreePoints" );
1819 //=============================================================================
1820 // RotateThreePointsCopy:
1821 //=============================================================================
1822 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1823 GEOM::GEOM_Object_ptr theCentPoint,
1824 GEOM::GEOM_Object_ptr thePoint1,
1825 GEOM::GEOM_Object_ptr thePoint2)
1827 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1828 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1830 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1831 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1835 //=============================================================================
1837 //=============================================================================
1838 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1839 GEOM::GEOM_Object_ptr theAxis,
1840 CORBA::Long theNbTimes)
1842 beginService( " GEOM_Superv_i::MultiRotate1D" );
1843 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1845 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1846 endService( " GEOM_Superv_i::MultiRotate1D" );
1850 //=============================================================================
1852 //=============================================================================
1853 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1854 GEOM::GEOM_Object_ptr theAxis,
1855 CORBA::Double theAngle,
1856 CORBA::Long theNbTimes1,
1857 CORBA::Double theStep,
1858 CORBA::Long theNbTimes2)
1860 beginService( " GEOM_Superv_i::MultiRotate2D" );
1861 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1863 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1864 endService( " GEOM_Superv_i::MultiRotate2D" );
1868 //=============================================================================
1870 //=============================================================================
1871 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1872 GEOM::GEOM_Object_ptr thePlane)
1874 beginService( " GEOM_Superv_i::MirrorPlane" );
1875 MESSAGE("GEOM_Superv_i::MirrorPlane");
1877 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1878 endService( " GEOM_Superv_i::MirrorPlane" );
1882 //=============================================================================
1884 //=============================================================================
1885 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1886 GEOM::GEOM_Object_ptr thePlane)
1888 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1889 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1891 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1892 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1896 //=============================================================================
1898 //=============================================================================
1899 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1900 GEOM::GEOM_Object_ptr theAxis)
1902 beginService( " GEOM_Superv_i::MirrorAxis" );
1903 MESSAGE("GEOM_Superv_i::MirrorAxis");
1905 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1906 endService( " GEOM_Superv_i::MirrorAxis" );
1910 //=============================================================================
1912 //=============================================================================
1913 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1914 GEOM::GEOM_Object_ptr theAxis)
1916 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1917 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1919 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1920 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1924 //=============================================================================
1926 //=============================================================================
1927 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1928 GEOM::GEOM_Object_ptr thePoint)
1930 beginService( " GEOM_Superv_i::MirrorPoint" );
1931 MESSAGE("GEOM_Superv_i::MirrorPoint");
1933 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1934 endService( " GEOM_Superv_i::MirrorPoint" );
1938 //=============================================================================
1940 //=============================================================================
1941 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1942 GEOM::GEOM_Object_ptr thePoint)
1944 beginService( " GEOM_Superv_i::MirrorPoint" );
1945 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1947 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1948 endService( " GEOM_Superv_i::MirrorPoint" );
1952 //=============================================================================
1954 //=============================================================================
1955 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1956 CORBA::Double theOffset)
1958 beginService( " GEOM_Superv_i::OffsetShape" );
1959 MESSAGE("GEOM_Superv_i::OffsetShape");
1961 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset);
1962 endService( " GEOM_Superv_i::OffsetShape" );
1966 //=============================================================================
1968 //=============================================================================
1969 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1970 CORBA::Double theOffset)
1972 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1973 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1975 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset);
1976 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1980 //=============================================================================
1982 //=============================================================================
1983 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1984 GEOM::GEOM_Object_ptr thePoint,
1985 CORBA::Double theFactor)
1987 beginService( " GEOM_Superv_i::ScaleShape" );
1988 MESSAGE("GEOM_Superv_i::ScaleShape");
1990 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1991 endService( " GEOM_Superv_i::ScaleShape" );
1995 //=============================================================================
1997 //=============================================================================
1998 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
1999 GEOM::GEOM_Object_ptr thePoint,
2000 CORBA::Double theFactor)
2002 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2003 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2005 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2006 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2010 //=============================================================================
2011 // ScaleShapeAlongAxes:
2012 //=============================================================================
2013 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2014 GEOM::GEOM_Object_ptr thePoint,
2015 CORBA::Double theFactorX,
2016 CORBA::Double theFactorY,
2017 CORBA::Double theFactorZ)
2019 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2020 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2022 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2023 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2024 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2028 //=============================================================================
2029 // ScaleShapeAlongAxesCopy:
2030 //=============================================================================
2031 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2032 GEOM::GEOM_Object_ptr thePoint,
2033 CORBA::Double theFactorX,
2034 CORBA::Double theFactorY,
2035 CORBA::Double theFactorZ)
2037 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2038 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2040 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2041 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2042 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2046 //=============================================================================
2048 //=============================================================================
2049 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2050 GEOM::GEOM_Object_ptr theStartLCS,
2051 GEOM::GEOM_Object_ptr theEndLCS)
2053 beginService( " GEOM_Superv_i::PositionShape" );
2054 MESSAGE("GEOM_Superv_i::PositionShape");
2056 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2057 endService( " GEOM_Superv_i::PositionShape" );
2061 //=============================================================================
2062 // PositionShapeCopy:
2063 //=============================================================================
2064 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2065 GEOM::GEOM_Object_ptr theStartLCS,
2066 GEOM::GEOM_Object_ptr theEndLCS)
2068 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2069 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2071 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2072 endService( " GEOM_Superv_i::PositionShapeCopy" );
2076 //=============================================================================
2077 // PositionAlongPath:
2078 //=============================================================================
2079 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2080 GEOM::GEOM_Object_ptr thePath,
2081 CORBA::Double theDistance,
2082 CORBA::Boolean theCopy,
2083 CORBA::Boolean theReverse)
2085 beginService( " GEOM_Superv_i::PositionAlongPath" );
2086 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2088 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2089 endService( " GEOM_Superv_i::PositionAlongPath" );
2093 //=============================== ShapesOperations ============================
2094 //=============================================================================
2096 //=============================================================================
2097 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2098 GEOM::GEOM_Object_ptr thePnt2)
2100 beginService( " GEOM_Superv_i::MakeEdge" );
2101 MESSAGE("GEOM_Superv_i::MakeEdge");
2103 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2104 endService( " GEOM_Superv_i::MakeEdge" );
2108 //=============================================================================
2109 // MakeEdgeOnCurveByLength:
2110 //=============================================================================
2111 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2112 CORBA::Double theLength,
2113 GEOM::GEOM_Object_ptr theStartPoint)
2115 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2116 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2118 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2119 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2123 //=============================================================================
2125 //=============================================================================
2126 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2127 CORBA::Double theTolerance)
2129 beginService( " GEOM_Superv_i::MakeWire" );
2130 MESSAGE("GEOM_Superv_i::MakeWire");
2131 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2132 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2134 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2135 endService( " GEOM_Superv_i::MakeWire" );
2138 endService( " GEOM_Superv_i::MakeWire" );
2142 //=============================================================================
2144 //=============================================================================
2145 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2146 CORBA::Boolean isPlanarWanted)
2148 beginService( " GEOM_Superv_i::MakeFace" );
2149 MESSAGE("GEOM_Superv_i::MakeFace");
2151 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2152 endService( " GEOM_Superv_i::MakeFace" );
2156 //=============================================================================
2158 //=============================================================================
2159 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2160 CORBA::Boolean isPlanarWanted)
2162 beginService( " GEOM_Superv_i::MakeFaceWires" );
2163 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2164 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2165 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2167 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2168 endService( " GEOM_Superv_i::MakeFaceWires" );
2171 endService( " GEOM_Superv_i::MakeFaceWires" );
2175 //=============================================================================
2177 //=============================================================================
2178 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2180 beginService( " GEOM_Superv_i::MakeShell" );
2181 MESSAGE("GEOM_Superv_i::MakeShell");
2182 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2183 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2185 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2186 endService( " GEOM_Superv_i::MakeShell" );
2189 endService( " GEOM_Superv_i::MakeShell" );
2193 //=============================================================================
2195 //=============================================================================
2196 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2198 beginService( " GEOM_Superv_i::MakeSolidShell" );
2199 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2201 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2202 endService( " GEOM_Superv_i::MakeSolidShell" );
2206 //=============================================================================
2208 //=============================================================================
2209 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2211 beginService( " GEOM_Superv_i::MakeSolidShells" );
2212 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2213 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2214 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2216 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2217 endService( " GEOM_Superv_i::MakeSolidShells" );
2220 endService( " GEOM_Superv_i::MakeSolidShells" );
2224 //=============================================================================
2226 //=============================================================================
2227 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2229 beginService( " GEOM_Superv_i::MakeCompound" );
2230 MESSAGE("GEOM_Superv_i::MakeCompound");
2231 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2232 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2234 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2235 endService( " GEOM_Superv_i::MakeCompound" );
2238 endService( " GEOM_Superv_i::MakeCompound" );
2242 //=============================================================================
2244 //=============================================================================
2245 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2246 CORBA::Double theTolerance,
2247 CORBA::Boolean doKeepNonSolids)
2249 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2250 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2252 GEOM::GEOM_Object_ptr anObj =
2253 myShapesOp->MakeGlueFaces(theShape, theTolerance, doKeepNonSolids);
2254 endService( " GEOM_Superv_i::MakeGlueFaces" );
2258 //=============================================================================
2260 //=============================================================================
2261 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2262 CORBA::Double theTolerance)
2264 beginService( " GEOM_Superv_i::GetGlueFaces" );
2265 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2267 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(theShape, theTolerance);
2268 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2269 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2270 endService( " GEOM_Superv_i::GetGlueFaces" );
2271 return aListPtr->_this();
2274 //=============================================================================
2275 // MakeGlueFacesByList:
2276 //=============================================================================
2277 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2278 CORBA::Double theTolerance,
2279 const GEOM::ListOfGO& theFaces,
2280 CORBA::Boolean doKeepNonSolids,
2281 CORBA::Boolean doGlueAllEdges)
2283 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2284 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2286 GEOM::GEOM_Object_ptr anObj =
2287 myShapesOp->MakeGlueFacesByList(theShape, theTolerance, theFaces,
2288 doKeepNonSolids, doGlueAllEdges);
2289 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2293 //=============================================================================
2295 //=============================================================================
2296 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2297 CORBA::Long theShapeType,
2298 CORBA::Boolean isSorted)
2300 beginService( " GEOM_Superv_i::MakeExplode" );
2301 MESSAGE("GEOM_Superv_i::MakeExplode");
2304 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2305 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2306 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2307 endService( " GEOM_Superv_i::MakeExplode" );
2308 return aListPtr->_this();
2311 //=============================================================================
2313 //=============================================================================
2314 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2316 beginService( " GEOM_Superv_i::NumberOfFaces" );
2317 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2319 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2320 endService( " GEOM_Superv_i::NumberOfFaces" );
2324 //=============================================================================
2326 //=============================================================================
2327 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2329 beginService( " GEOM_Superv_i::NumberOfEdges" );
2330 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2332 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2333 endService( " GEOM_Superv_i::NumberOfEdges" );
2338 //=============================================================================
2339 // ChangeOrientation:
2340 //=============================================================================
2341 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2343 beginService( " GEOM_Superv_i::ChangeOrientation" );
2344 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2346 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2347 endService( " GEOM_Superv_i::ChangeOrientation" );
2352 //=============================================================================
2353 // GetShapesOnShape:
2354 //=============================================================================
2355 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2356 (GEOM::GEOM_Object_ptr theCheckShape,
2357 GEOM::GEOM_Object_ptr theShape,
2358 CORBA::Short theShapeType,
2359 GEOM::shape_state theState)
2361 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2362 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2364 GEOM::ListOfGO* aList =
2365 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2366 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2367 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2368 endService( " GEOM_Superv_i::GetShapesOnShape" );
2369 return aListPtr->_this();
2373 //=============================================================================
2374 // GetShapesOnShapeAsCompound:
2375 //=============================================================================
2376 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2377 (GEOM::GEOM_Object_ptr theCheckShape,
2378 GEOM::GEOM_Object_ptr theShape,
2379 CORBA::Short theShapeType,
2380 GEOM::shape_state theState)
2382 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2383 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2385 GEOM::GEOM_Object_ptr anObj =
2386 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2387 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2392 //=============================== BlocksOperations ============================
2393 //=============================================================================
2394 // MakeQuad4Vertices:
2395 //=============================================================================
2396 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2397 GEOM::GEOM_Object_ptr thePnt2,
2398 GEOM::GEOM_Object_ptr thePnt3,
2399 GEOM::GEOM_Object_ptr thePnt4)
2401 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2402 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2404 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2405 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2409 //=============================================================================
2411 //=============================================================================
2412 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2413 GEOM::GEOM_Object_ptr theEdge2,
2414 GEOM::GEOM_Object_ptr theEdge3,
2415 GEOM::GEOM_Object_ptr theEdge4)
2417 beginService( " GEOM_Superv_i::MakeQuad" );
2418 MESSAGE("GEOM_Superv_i::MakeQuad");
2420 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2421 endService( " GEOM_Superv_i::MakeQuad" );
2425 //=============================================================================
2427 //=============================================================================
2428 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2429 GEOM::GEOM_Object_ptr theEdge2)
2431 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2432 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2434 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2435 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2439 //=============================================================================
2441 //=============================================================================
2442 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2443 GEOM::GEOM_Object_ptr theFace2,
2444 GEOM::GEOM_Object_ptr theFace3,
2445 GEOM::GEOM_Object_ptr theFace4,
2446 GEOM::GEOM_Object_ptr theFace5,
2447 GEOM::GEOM_Object_ptr theFace6)
2449 beginService( " GEOM_Superv_i::MakeHexa" );
2450 MESSAGE("GEOM_Superv_i::MakeHexa");
2452 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2453 endService( " GEOM_Superv_i::MakeHexa" );
2457 //=============================================================================
2459 //=============================================================================
2460 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2461 GEOM::GEOM_Object_ptr theFace2)
2463 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2464 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2466 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2467 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2471 //=============================================================================
2473 //=============================================================================
2474 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2478 CORBA::Double theEpsilon)
2480 beginService( " GEOM_Superv_i::GetPoint" );
2481 MESSAGE("GEOM_Superv_i::GetPoint");
2483 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2484 endService( " GEOM_Superv_i::GetPoint" );
2488 //=============================================================================
2490 //=============================================================================
2491 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2492 GEOM::GEOM_Object_ptr thePoint1,
2493 GEOM::GEOM_Object_ptr thePoint2)
2495 beginService( " GEOM_Superv_i::GetEdge" );
2496 MESSAGE("GEOM_Superv_i::GetEdge");
2498 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2499 endService( " GEOM_Superv_i::GetEdge" );
2503 //=============================================================================
2504 // GetEdgeNearPoint:
2505 //=============================================================================
2506 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2507 GEOM::GEOM_Object_ptr thePoint)
2509 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2510 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2512 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2513 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2517 //=============================================================================
2519 //=============================================================================
2520 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2521 GEOM::GEOM_Object_ptr thePoint1,
2522 GEOM::GEOM_Object_ptr thePoint2,
2523 GEOM::GEOM_Object_ptr thePoint3,
2524 GEOM::GEOM_Object_ptr thePoint4)
2526 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2527 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2529 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2530 endService( " GEOM_Superv_i::GetFaceByPoints" );
2534 //=============================================================================
2536 //=============================================================================
2537 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2538 GEOM::GEOM_Object_ptr theEdge1,
2539 GEOM::GEOM_Object_ptr theEdge2)
2541 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2542 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2544 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2545 endService( " GEOM_Superv_i::GetFaceByEdges" );
2549 //=============================================================================
2551 //=============================================================================
2552 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2553 GEOM::GEOM_Object_ptr theFace)
2555 beginService( " GEOM_Superv_i::GetOppositeFace" );
2556 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2558 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2559 endService( " GEOM_Superv_i::GetOppositeFace" );
2563 //=============================================================================
2564 // GetFaceNearPoint:
2565 //=============================================================================
2566 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2567 GEOM::GEOM_Object_ptr thePoint)
2569 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2570 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2572 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2573 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2577 //=============================================================================
2578 // GetFaceByNormale:
2579 //=============================================================================
2580 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2581 GEOM::GEOM_Object_ptr theVector)
2583 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2584 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2586 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2587 endService( " GEOM_Superv_i::GetFaceByNormale" );
2591 //=============================================================================
2592 // IsCompoundOfBlocks:
2593 //=============================================================================
2594 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2595 CORBA::Long theMinNbFaces,
2596 CORBA::Long theMaxNbFaces,
2597 CORBA::Long& theNbBlocks)
2599 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2600 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2602 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2603 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2607 //=============================================================================
2608 // CheckCompoundOfBlocks:
2609 //=============================================================================
2610 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2611 (GEOM::GEOM_Object_ptr theCompound,
2612 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2614 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2615 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2617 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
2618 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2622 //=============================================================================
2624 //=============================================================================
2625 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2626 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2628 beginService( " GEOM_Superv_i::PrintBCErrors" );
2629 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2631 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2632 endService( " GEOM_Superv_i::PrintBCErrors" );
2636 //=============================================================================
2637 // ExplodeCompoundOfBlocks:
2638 //=============================================================================
2639 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2640 CORBA::Long theMinNbFaces,
2641 CORBA::Long theMaxNbFaces)
2643 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2644 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2646 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2647 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2648 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2649 return aListPtr->_this();
2652 //=============================================================================
2653 // GetBlockNearPoint:
2654 //=============================================================================
2655 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2656 GEOM::GEOM_Object_ptr thePoint)
2658 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2659 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2661 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2662 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2666 //=============================================================================
2668 //=============================================================================
2669 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2670 GEOM::GEOM_List_ptr theParts)
2672 beginService( " GEOM_Superv_i::GetBlockByParts" );
2673 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2674 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2675 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2677 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2678 endService( " GEOM_Superv_i::GetBlockByParts" );
2681 endService( " GEOM_Superv_i::GetBlockByParts" );
2685 //=============================================================================
2686 // GetBlocksByParts:
2687 //=============================================================================
2688 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2689 GEOM::GEOM_List_ptr theParts)
2691 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2692 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2693 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2694 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2697 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2698 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2699 endService( " GEOM_Superv_i::GetBlocksByParts" );
2700 return aListPtr->_this();
2702 endService( " GEOM_Superv_i::GetBlocksByParts" );
2706 //=============================================================================
2707 // MakeMultiTransformation1D:
2708 //=============================================================================
2709 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2710 CORBA::Long theDirFace1,
2711 CORBA::Long theDirFace2,
2712 CORBA::Long theNbTimes)
2714 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2715 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2717 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2718 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2722 //=============================================================================
2723 // MakeMultiTransformation2D:
2724 //=============================================================================
2725 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2726 (GEOM::GEOM_Object_ptr theBlock,
2727 CORBA::Long theDirFace1U,
2728 CORBA::Long theDirFace2U,
2729 CORBA::Long theNbTimesU,
2730 CORBA::Long theDirFace1V,
2731 CORBA::Long theDirFace2V,
2732 CORBA::Long theNbTimesV)
2734 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2735 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2737 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2738 theDirFace1U, theDirFace2U, theNbTimesU,
2739 theDirFace1V, theDirFace2V, theNbTimesV);
2740 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2744 //=============================== CurvesOperations ============================
2745 //=============================================================================
2746 // MakeCirclePntVecR:
2747 //=============================================================================
2748 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2749 GEOM::GEOM_Object_ptr theVector,
2752 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2753 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2755 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2756 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2760 //=============================================================================
2761 // MakeCircleThreePnt:
2762 //=============================================================================
2763 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2764 GEOM::GEOM_Object_ptr thePnt2,
2765 GEOM::GEOM_Object_ptr thePnt3)
2767 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2768 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2770 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2771 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2774 //=============================================================================
2775 // MakeCircleCenter2Pnt:
2776 //=============================================================================
2777 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2778 GEOM::GEOM_Object_ptr thePnt2,
2779 GEOM::GEOM_Object_ptr thePnt3)
2781 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2782 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2784 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2785 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2789 //=============================================================================
2791 //=============================================================================
2792 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2793 GEOM::GEOM_Object_ptr theVector,
2794 CORBA::Double theRMajor,
2795 CORBA::Double theRMinor)
2797 beginService( " GEOM_Superv_i::MakeEllipse" );
2798 MESSAGE("GEOM_Superv_i::MakeEllipse");
2800 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2801 endService( " GEOM_Superv_i::MakeEllipse" );
2805 //=============================================================================
2807 //=============================================================================
2808 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2809 GEOM::GEOM_Object_ptr theVector,
2810 CORBA::Double theRMajor,
2811 CORBA::Double theRMinor,
2812 GEOM::GEOM_Object_ptr theVectorMajor)
2814 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2815 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2817 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2818 endService( " GEOM_Superv_i::MakeEllipseVec" );
2822 //=============================================================================
2824 //=============================================================================
2825 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2826 GEOM::GEOM_Object_ptr thePnt2,
2827 GEOM::GEOM_Object_ptr thePnt3)
2829 beginService( " GEOM_Superv_i::MakeArc" );
2830 MESSAGE("GEOM_Superv_i::MakeArc");
2832 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2833 endService( " GEOM_Superv_i::MakeArc" );
2837 //=============================================================================
2839 //=============================================================================
2840 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2841 GEOM::GEOM_Object_ptr thePnt1,
2842 GEOM::GEOM_Object_ptr thePnt2,
2843 CORBA::Boolean theSense)
2845 beginService( " GEOM_Superv_i::MakeArcCenter" );
2846 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2848 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2849 endService( " GEOM_Superv_i::MakeArcCenter" );
2853 //=============================================================================
2854 // MakeArcOfEllipse:
2855 //=============================================================================
2856 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2857 GEOM::GEOM_Object_ptr thePnt2,
2858 GEOM::GEOM_Object_ptr thePnt3)
2860 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2861 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2863 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2864 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2868 //=============================================================================
2870 //=============================================================================
2871 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
2872 CORBA::Boolean theIsClosed)
2874 beginService( " GEOM_Superv_i::MakePolyline" );
2875 MESSAGE("GEOM_Superv_i::MakePolyline");
2876 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2877 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2879 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
2880 endService( " GEOM_Superv_i::MakePolyline" );
2883 endService( " GEOM_Superv_i::MakePolyline" );
2887 //=============================================================================
2888 // MakeSplineBezier:
2889 //=============================================================================
2890 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
2891 CORBA::Boolean theIsClosed)
2893 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2894 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2895 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2896 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2898 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
2899 endService( " GEOM_Superv_i::MakeSplineBezier" );
2902 endService( " GEOM_Superv_i::MakeSplineBezier" );
2906 //=============================================================================
2907 // MakeSplineInterpolation:
2908 //=============================================================================
2909 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
2910 CORBA::Boolean theIsClosed,
2911 CORBA::Boolean theDoReordering)
2913 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2914 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2915 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2916 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2918 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
2919 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2922 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2926 //=============================================================================
2928 //=============================================================================
2929 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2930 GEOM::GEOM_List_ptr theWorkingPlane)
2932 beginService( " GEOM_Superv_i::MakeSketcher" );
2933 MESSAGE("GEOM_Superv_i::MakeSketcher");
2934 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2935 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2937 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2938 endService( " GEOM_Superv_i::MakeSketcher" );
2941 endService( " GEOM_Superv_i::MakeSketcher" );
2945 //=============================================================================
2947 //=============================================================================
2948 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
2950 beginService( " GEOM_Superv_i::Make3DSketcher" );
2951 MESSAGE("GEOM_Superv_i::Make3DSketcher");
2952 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
2953 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
2955 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
2956 endService( " GEOM_Superv_i::Make3DSketcher" );
2959 endService( " GEOM_Superv_i::Make3DSketcher" );
2963 //=============================== LocalOperations =============================
2964 //=============================================================================
2966 //=============================================================================
2967 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
2970 beginService( " GEOM_Superv_i::MakeFilletAll" );
2971 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
2973 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
2974 endService( " GEOM_Superv_i::MakeFilletAll" );
2978 //=============================================================================
2980 //=============================================================================
2981 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
2983 GEOM::GEOM_List_ptr theEdges)
2985 beginService( " GEOM_Superv_i::MakeFilletEdges" );
2986 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
2987 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
2988 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
2990 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
2991 endService( " GEOM_Superv_i::MakeFilletEdges" );
2994 endService( " GEOM_Superv_i::MakeFilletEdges" );
2998 //=============================================================================
2999 // MakeFilletEdges R1 R2:
3000 //=============================================================================
3001 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3002 CORBA::Double theR1,
3003 CORBA::Double theR2,
3004 GEOM::GEOM_List_ptr theEdges)
3006 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3007 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3008 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3009 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3011 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3012 theR2, aListImplE->GetList());
3013 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3016 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3020 //=============================================================================
3022 //=============================================================================
3023 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3025 GEOM::GEOM_List_ptr theFaces)
3027 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3028 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3029 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3030 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3032 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3033 endService( " GEOM_Superv_i::MakeFilletFaces" );
3036 endService( " GEOM_Superv_i::MakeFilletFaces" );
3040 //=============================================================================
3041 // MakeFilletFaces R1 R2:
3042 //=============================================================================
3043 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3044 CORBA::Double theR1,
3045 CORBA::Double theR2,
3046 GEOM::GEOM_List_ptr theFaces)
3048 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3049 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3050 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3051 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3053 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3054 aListImplF->GetList());
3055 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3058 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3062 //=============================================================================
3064 //=============================================================================
3065 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3067 GEOM::GEOM_List_ptr theVertexes)
3069 beginService( " GEOM_Superv_i::MakeFillet2D" );
3070 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3071 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3072 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3074 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3075 endService( " GEOM_Superv_i::MakeFillet2D" );
3078 endService( " GEOM_Superv_i::MakeFillet2D" );
3082 //=============================================================================
3084 //=============================================================================
3085 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3087 GEOM::GEOM_List_ptr theVertexes,
3088 CORBA::Boolean doIgnoreSecantVertices)
3090 beginService( " GEOM_Superv_i::MakeFillet1D" );
3091 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3092 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3093 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3095 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3096 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3097 endService( " GEOM_Superv_i::MakeFillet1D" );
3100 endService( " GEOM_Superv_i::MakeFillet1D" );
3104 //=============================================================================
3106 //=============================================================================
3107 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3109 beginService( " GEOM_Superv_i::MakeChamferAll" );
3110 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3112 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3113 endService( " GEOM_Superv_i::MakeChamferAll" );
3117 //=============================================================================
3119 //=============================================================================
3120 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3121 CORBA::Double theD1, CORBA::Double theD2,
3122 CORBA::Long theFace1, CORBA::Long theFace2)
3124 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3125 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3127 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3128 endService( " GEOM_Superv_i::MakeChamferEdge" );
3132 //=============================================================================
3133 // MakeChamferEdgeAD:
3134 //=============================================================================
3135 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3136 CORBA::Double theD, CORBA::Double theAngle,
3137 CORBA::Long theFace1, CORBA::Long theFace2)
3139 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3140 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3142 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3143 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3147 //=============================================================================
3148 // MakeChamferFaces:
3149 //=============================================================================
3150 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3151 CORBA::Double theD1, CORBA::Double theD2,
3152 GEOM::GEOM_List_ptr theFaces)
3154 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3155 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3156 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3157 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3159 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3160 endService( " GEOM_Superv_i::MakeChamferFaces" );
3163 endService( " GEOM_Superv_i::MakeChamferFaces" );
3167 //=============================================================================
3168 // MakeChamferFacesAD:
3169 //=============================================================================
3170 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3171 CORBA::Double theD, CORBA::Double theAngle,
3172 GEOM::GEOM_List_ptr theFaces)
3174 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3175 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3176 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3177 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3179 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3180 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3183 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3187 //=============================================================================
3188 // MakeChamferEdges:
3189 //=============================================================================
3190 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3191 CORBA::Double theD1, CORBA::Double theD2,
3192 GEOM::GEOM_List_ptr theEdges)
3194 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3195 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3196 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3197 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3199 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3200 endService( " GEOM_Superv_i::MakeChamferEdges" );
3203 endService( " GEOM_Superv_i::MakeChamferEdges" );
3207 //=============================================================================
3208 // MakeChamferEdgesAD:
3209 //=============================================================================
3210 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3211 CORBA::Double theD, CORBA::Double theAngle,
3212 GEOM::GEOM_List_ptr theEdges)
3214 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3215 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3216 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3217 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3219 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3220 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3223 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3227 //=============================================================================
3229 //=============================================================================
3230 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3231 CORBA::Double theWeight,
3232 CORBA::Double theWaterDensity,
3233 CORBA::Double theMeshingDeflection)
3235 beginService( " GEOM_Superv_i::MakeArchimede" );
3236 MESSAGE("GEOM_Superv_i::MakeArchimede");
3238 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3239 endService( " GEOM_Superv_i::MakeArchimede" );
3243 //=============================================================================
3244 // GetSubShapeIndexMakeFilletAll:
3245 //=============================================================================
3246 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3247 GEOM::GEOM_Object_ptr theSubShape)
3249 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3250 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3252 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3253 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3257 //=============================== GroupOperations =============================
3258 //=============================================================================
3260 //=============================================================================
3261 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3262 CORBA::Long theShapeType)
3264 beginService( " GEOM_Superv_i::CreateGroup" );
3265 MESSAGE("GEOM_Superv_i::CreateGroup");
3267 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3268 endService( " GEOM_Superv_i::CreateGroup" );
3272 //=============================================================================
3274 //=============================================================================
3275 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3276 CORBA::Long theSubShapeId)
3278 beginService( " GEOM_Superv_i::AddObject" );
3279 MESSAGE("GEOM_Superv_i::AddObject");
3281 myGroupOp->AddObject(theGroup, theSubShapeId);
3282 endService( " GEOM_Superv_i::AddObject" );
3285 //=============================================================================
3287 //=============================================================================
3288 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3289 CORBA::Long theSubShapeId)
3291 beginService( " GEOM_Superv_i::RemoveObject" );
3292 MESSAGE("GEOM_Superv_i::RemoveObject");
3294 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3295 endService( " GEOM_Superv_i::RemoveObject" );
3298 //=============================================================================
3300 //=============================================================================
3301 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3303 beginService( " GEOM_Superv_i::GetType" );
3304 MESSAGE("GEOM_Superv_i::GetType");
3306 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3307 endService( " GEOM_Superv_i::GetType" );
3311 //=============================================================================
3313 //=============================================================================
3314 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3316 beginService( " GEOM_Superv_i::GetMainShape" );
3317 MESSAGE("GEOM_Superv_i::GetMainShape");
3319 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3320 endService( " GEOM_Superv_i::GetMainShape" );
3324 //=============================================================================
3326 //=============================================================================
3327 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3329 beginService( " GEOM_Superv_i::GetObjects" );
3330 MESSAGE("GEOM_Superv_i::GetObjects");
3333 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3334 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3335 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3336 endService( " GEOM_Superv_i::GetObjects" );
3337 return aListPtr->_this();
3340 //=============================================================================
3342 //=============================================================================
3343 CORBA::Boolean GEOM_Superv_i::ExportXAO (GEOM::GEOM_Object_ptr shape,
3344 const GEOM::ListOfGO& groups, const GEOM::ListOfFields& fields,
3345 const char* author, const char* fileName)
3347 beginService( " GEOM_Superv_i::ExportXAO" );
3348 MESSAGE("GEOM_Superv_i::ExportXAO");
3350 CORBA::Boolean isGood = myInsOp->ExportXAO(shape, groups, fields, author, fileName);
3351 endService( " GEOM_Superv_i::ExportXAO" );
3355 //=============================================================================
3357 //=============================================================================
3358 CORBA::Boolean GEOM_Superv_i::ImportXAO (const char* fileName, GEOM::GEOM_Object_out shape,
3359 GEOM::ListOfGO_out subShapes, GEOM::ListOfGO_out groups, GEOM::ListOfFields_out fields)
3364 //=============================== Advanced Operations =============================
3365 //=============================================================================
3367 //=============================================================================
3368 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3369 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3370 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3371 CORBA::Boolean theHexMesh)
3373 beginService( " GEOM_Superv_i::MakePipeTShape" );
3374 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3377 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3378 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3379 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3380 endService( " GEOM_Superv_i::MakePipeTShape" );
3381 return aSeqPtr->_this();
3384 //=============================================================================
3385 // MakePipeTShapeWithPosition
3386 //=============================================================================
3387 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3388 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3389 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3390 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3392 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3393 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3396 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3397 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3398 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3399 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3400 return aSeqPtr->_this();
3403 //=============================================================================
3404 // MakePipeTShapeChamfer
3405 //=============================================================================
3406 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3407 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3408 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3409 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3411 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3412 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3415 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3416 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3417 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3418 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3419 return aSeqPtr->_this();
3422 //=============================================================================
3423 // MakePipeTShapeChamferWithPosition
3424 //=============================================================================
3425 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3426 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3427 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3428 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3429 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3431 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3432 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3435 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3436 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3437 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3438 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3439 return aSeqPtr->_this();
3442 //=============================================================================
3443 // MakePipeTShapeFillet
3444 //=============================================================================
3445 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3446 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3447 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3448 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3450 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3451 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3454 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3455 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3456 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3457 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3458 return aSeqPtr->_this();
3461 //=============================================================================
3462 // MakePipeTShapeFilletWithPosition
3463 //=============================================================================
3464 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3465 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3466 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3467 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3468 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3470 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3471 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3474 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3475 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3476 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3477 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3478 return aSeqPtr->_this();
3481 //=============================================================================
3483 //=============================================================================
3484 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3485 CORBA::Short theOrientation, GEOM::pattern thePattern)
3487 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3488 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3490 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3491 endService( " GEOM_Superv_i::MakeDividedDisk" );
3495 //=============================================================================
3496 // MakeDividedCylinder
3497 //=============================================================================
3498 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3500 GEOM::pattern thePattern)
3502 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3503 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3505 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3506 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3510 //=============================================================================
3511 // MakeSmoothingSurface
3512 //=============================================================================
3513 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3515 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3516 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3518 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3519 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3521 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3522 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3525 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3529 /*@@ insert new functions before this line @@ do not remove this line @@*/
3531 //=====================================================================================
3533 //=====================================================================================
3537 __declspec( dllexport )
3539 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3540 PortableServer::POA_ptr poa,
3541 PortableServer::ObjectId * contId,
3542 const char *instanceName,
3543 const char * interfaceName)
3545 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3546 //Don't understand the reason why this component is registered ???
3547 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3548 return myGEOM_Superv_i->getId() ;