1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #include "GEOM_Superv_i.hh"
24 #include "SALOME_LifeCycleCORBA.hxx"
25 #include "Utils_CorbaException.hxx"
27 #include CORBA_SERVER_HEADER(SALOME_Session)
28 #include "SALOMEDSClient_ClientFactory.hxx"
30 #define isNewStudy(a,b) (a > 0 && a != b)
32 //=============================================================================
34 //=============================================================================
35 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
36 PortableServer::POA_ptr poa,
37 PortableServer::ObjectId * contId,
38 const char *instanceName,
39 const char *interfaceName) :
40 Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
42 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
45 _id = _poa->activate_object(_thisObj);
46 name_service = new SALOME_NamingService(_orb);
47 //get RootPOA (the default)
48 //myPOA = PortableServer::RefCountServantBase::_default_POA();
49 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
50 myPOA = PortableServer::POA::_narrow(anObj);
54 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
55 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
56 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
57 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
58 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
59 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
60 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
61 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
62 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
63 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
66 //=============================================================================
68 //=============================================================================
69 GEOM_Superv_i::~GEOM_Superv_i()
71 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
72 if (!CORBA::is_nil(myBasicOp))
73 myBasicOp->UnRegister();
74 if (!CORBA::is_nil(myBoolOp))
75 myBoolOp->UnRegister();
76 if (!CORBA::is_nil(my3DPrimOp))
77 my3DPrimOp->UnRegister();
81 //============================================================================
82 // function : register()
83 // purpose : register 'name' in 'name_service'
84 //============================================================================
85 void GEOM_Superv_i::register_name(char * name)
87 GEOM::GEOM_Superv_var g = _this();
88 name_service->Register(g, name);
91 //=============================================================================
93 //=============================================================================
94 void GEOM_Superv_i::setGeomEngine()
96 if ( !CORBA::is_nil(myGeomEngine) )
99 // get GEOM_Gen engine
100 Engines::Container_var cont=GetContainerRef();
101 CORBA::String_var container_name=cont->name();
102 std::string shortName=container_name.in();
103 shortName=shortName.substr(12); // substract "/Containers/"
104 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
105 Engines::EngineComponent_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
108 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
111 //=============================================================================
113 //=============================================================================
114 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
116 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
117 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
118 return aListPtr->_this();
121 //=============================================================================
122 // AddItemToListOfGO:
123 //=============================================================================
124 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
125 GEOM::GEOM_Object_ptr theObject)
127 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
128 GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate(theObject);
129 if (GEOM_List_i<GEOM::ListOfGO>* aList =
130 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
131 aList->AddObject(anObj);
132 MESSAGE(" NewLength = "<<aList->GetList().length());
136 //=============================================================================
138 //=============================================================================
139 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
141 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
142 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
143 return aListPtr->_this();
146 //=============================================================================
147 // AddItemToListOfLong:
148 //=============================================================================
149 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
150 CORBA::Long theObject)
152 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
153 if (GEOM_List_i<GEOM::ListOfLong>* aList =
154 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
155 aList->AddObject(theObject);
156 MESSAGE(" NewLength = "<<aList->GetList().length());
160 //=============================================================================
161 // CreateListOfDouble:
162 //=============================================================================
163 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
165 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
166 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
167 return aListPtr->_this();
170 //=============================================================================
171 // AddItemToListOfDouble:
172 //=============================================================================
173 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
174 CORBA::Double theObject)
176 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
177 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
178 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
179 aList->AddObject(theObject);
180 MESSAGE(" NewLength = "<<aList->GetList().length());
184 //=============================================================================
186 //=============================================================================
187 void GEOM_Superv_i::getBasicOp()
189 if (CORBA::is_nil(myGeomEngine))
191 // get GEOM_IBasicOperations interface
192 if (CORBA::is_nil(myBasicOp)) {
193 myBasicOp = myGeomEngine->GetIBasicOperations();
197 //=============================================================================
199 //=============================================================================
200 void GEOM_Superv_i::get3DPrimOp()
202 if (CORBA::is_nil(myGeomEngine))
204 // get GEOM_I3DPrimOperations interface
205 if (CORBA::is_nil(my3DPrimOp)) {
206 my3DPrimOp = myGeomEngine->GetI3DPrimOperations();
210 //=============================================================================
212 //=============================================================================
213 void GEOM_Superv_i::getBoolOp()
215 if (CORBA::is_nil(myGeomEngine))
217 // get GEOM_IBooleanOperations interface
218 if (CORBA::is_nil(myBoolOp)) {
219 myBoolOp = myGeomEngine->GetIBooleanOperations();
223 //=============================================================================
225 //=============================================================================
226 void GEOM_Superv_i::getInsOp()
228 if (CORBA::is_nil(myGeomEngine))
230 // get GEOM_IInsertOperations interface
231 if (CORBA::is_nil(myInsOp)) {
232 myInsOp = myGeomEngine->GetIInsertOperations();
236 //=============================================================================
238 //=============================================================================
239 void GEOM_Superv_i::getTransfOp()
241 if (CORBA::is_nil(myGeomEngine))
243 // get GEOM_ITransformOperations interface
244 if (CORBA::is_nil(myTransfOp)) {
245 myTransfOp = myGeomEngine->GetITransformOperations();
249 //=============================================================================
251 //=============================================================================
252 void GEOM_Superv_i::getShapesOp()
254 if (CORBA::is_nil(myGeomEngine))
256 // get GEOM_IShapesOperations interface
257 if (CORBA::is_nil(myShapesOp)) {
258 myShapesOp = myGeomEngine->GetIShapesOperations();
262 //=============================================================================
264 //=============================================================================
265 void GEOM_Superv_i::getBlocksOp()
267 if (CORBA::is_nil(myGeomEngine))
269 // get GEOM_IBlocksOperations interface
270 if (CORBA::is_nil(myBlocksOp)) {
271 myBlocksOp = myGeomEngine->GetIBlocksOperations();
275 //=============================================================================
277 //=============================================================================
278 void GEOM_Superv_i::getCurvesOp()
280 if (CORBA::is_nil(myGeomEngine))
282 // get GEOM_ICurvesOperations interface
283 if (CORBA::is_nil(myCurvesOp)) {
284 myCurvesOp = myGeomEngine->GetICurvesOperations();
288 //=============================================================================
290 //=============================================================================
291 void GEOM_Superv_i::getLocalOp()
293 if (CORBA::is_nil(myGeomEngine))
295 // get GEOM_ILocalOperations interface
296 if (CORBA::is_nil(myLocalOp)) {
297 myLocalOp = myGeomEngine->GetILocalOperations();
301 //=============================================================================
303 //=============================================================================
304 void GEOM_Superv_i::getGroupOp()
306 if (CORBA::is_nil(myGeomEngine))
308 // get GEOM_IGroupOperations interface
309 if (CORBA::is_nil(myGroupOp)) {
310 myGroupOp = myGeomEngine->GetIGroupOperations();
314 //=============================================================================
316 //=============================================================================
317 void GEOM_Superv_i::getAdvancedOp()
319 if (CORBA::is_nil(myGeomEngine))
321 // get GEOM::IAdvancedOperations interface
322 if (CORBA::is_nil(myAdvancedOp)) {
323 myAdvancedOp = GEOM::IAdvancedOperations::_narrow(myGeomEngine->GetPluginOperations("AdvancedEngine"));
327 //=============================================================================
329 //=============================================================================
330 void GEOM_Superv_i::getSTLPluginOp()
332 if (CORBA::is_nil(myGeomEngine))
334 // get GEOM::ISTLOperations interface
335 if (CORBA::is_nil(mySTLOp)) {
336 mySTLOp = GEOM::ISTLOperations::_narrow(myGeomEngine->GetPluginOperations("STLPluginEngine"));
340 //=============================================================================
342 //=============================================================================
343 void GEOM_Superv_i::getBREPPluginOp()
345 if (CORBA::is_nil(myGeomEngine))
347 // get GEOM:IBREPOperations interface
348 if (CORBA::is_nil(myBREPOp)) {
349 myBREPOp = GEOM::IBREPOperations::_narrow(myGeomEngine->GetPluginOperations("BREPPluginEngine"));
353 //=============================================================================
355 //=============================================================================
356 void GEOM_Superv_i::getSTEPPluginOp()
358 if (CORBA::is_nil(myGeomEngine))
360 // get GEOM::ISTEPOperations interface
361 if (CORBA::is_nil(mySTEPOp)) {
362 mySTEPOp = GEOM::ISTEPOperations::_narrow(myGeomEngine->GetPluginOperations("STEPPluginEngine"));
366 //=============================================================================
368 //=============================================================================
369 void GEOM_Superv_i::getIGESPluginOp()
371 if (CORBA::is_nil(myGeomEngine))
373 // get GEOM::IIGESOperations interface
374 if (CORBA::is_nil(myIGESOp)) {
375 myIGESOp = GEOM::IIGESOperations::_narrow(myGeomEngine->GetPluginOperations("IGESPluginEngine"));
379 //=============================================================================
381 //=============================================================================
382 void GEOM_Superv_i::getXAOPluginOp()
384 if (CORBA::is_nil(myGeomEngine))
386 // get GEOM::IXAOOperations interface
387 if (CORBA::is_nil(myXAOOp)) {
388 myXAOOp = GEOM::IXAOOperations::_narrow(myGeomEngine->GetPluginOperations("XAOPluginEngine"));
393 //=============================================================================
395 //=============================================================================
396 void GEOM_Superv_i::getVTKPluginOp()
398 if (CORBA::is_nil(myGeomEngine))
400 // get GEOM::IVTKOperations interface
401 if (CORBA::is_nil(myVTKOp)) {
402 myVTKOp = GEOM::IVTKOperations::_narrow(myGeomEngine->GetPluginOperations("VTKPluginEngine"));
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::SObject_ptr theSObject,
525 CORBA::Object_ptr theObject,
526 const char* theName) throw (SALOME::SALOME_Exception)
528 if (CORBA::is_nil(myGeomEngine))
530 return myGeomEngine->PublishInStudy(theSObject, theObject, theName);
533 //============================================================================
534 // function : PublishNamedShapesInStudy
536 //============================================================================
538 GEOM_Superv_i::PublishNamedShapesInStudy(//SALOMEDS::SObject_ptr theSObject,
539 CORBA::Object_ptr theObject)
541 if (CORBA::is_nil(myGeomEngine))
543 return myGeomEngine->PublishNamedShapesInStudy(theObject);
546 //============================================================================
547 // function : CanCopy()
549 //============================================================================
550 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
555 //============================================================================
556 // function : CopyFrom()
558 //============================================================================
559 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
561 SALOMEDS::TMPFile_var aStreamFile;
562 return aStreamFile._retn();
565 //============================================================================
566 // function : CanPaste()
568 //============================================================================
569 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
574 //============================================================================
575 // function : PasteInto()
577 //============================================================================
578 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
579 CORBA::Long theObjectID,
580 SALOMEDS::SObject_ptr theObject)
582 SALOMEDS::SObject_var aNewSO;
583 return aNewSO._retn();
586 //================= Primitives Construction : BasicOperations =================
587 //=============================================================================
589 //=============================================================================
590 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
594 beginService( " GEOM_Superv_i::MakePointXYZ" );
595 MESSAGE("GEOM_Superv_i::MakePointXYZ");
597 // make vertex and return
598 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
599 endService( " GEOM_Superv_i::MakePointXYZ" );
603 //=============================================================================
604 // MakePointWithReference:
605 //=============================================================================
606 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
611 beginService( " GEOM_Superv_i::MakePointWithReference" );
612 MESSAGE("GEOM_Superv_i::MakePointWithReference");
614 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
615 endService( " GEOM_Superv_i::MakePointWithReference" );
619 //=============================================================================
621 //=============================================================================
622 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
623 CORBA::Double theParameter)
625 beginService( " GEOM_Superv_i::MakePointOnCurve" );
626 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
628 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter, false);
629 endService( " GEOM_Superv_i::MakePointOnCurve" );
633 //=============================================================================
634 // MakePointOnCurveByLength:
635 //=============================================================================
636 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
637 CORBA::Double theLength,
638 GEOM::GEOM_Object_ptr theStartPoint)
640 beginService( " GEOM_Superv_i::MakePointOnCurveByLength" );
641 MESSAGE("GEOM_Superv_i::MakePointOnCurveByLength");
643 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurveByLength(theRefCurve, theLength, theStartPoint);
644 endService( " GEOM_Superv_i::MakePointOnCurveByLength" );
648 //=============================================================================
649 // MakePointOnCurveByCoord
650 //=============================================================================
651 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
652 CORBA::Double theXParameter,
653 CORBA::Double theYParameter,
654 CORBA::Double theZParameter)
656 beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
657 MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
659 GEOM::GEOM_Object_ptr anObj =
660 myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
661 theYParameter, theZParameter);
662 endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
666 //=============================================================================
667 // MakePointOnSurface:
668 //=============================================================================
669 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
670 CORBA::Double theUParameter,
671 CORBA::Double theVParameter)
673 beginService( " GEOM_Superv_i::MakePointOnSurface" );
674 MESSAGE("GEOM_Superv_i::MakePointOnSurface");
676 GEOM::GEOM_Object_ptr anObj =
677 myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
678 endService( " GEOM_Superv_i::MakePointOnSurface" );
682 //=============================================================================
683 // MakePointOnSurfaceByCoord
684 //=============================================================================
685 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
686 CORBA::Double theXParameter,
687 CORBA::Double theYParameter,
688 CORBA::Double theZParameter)
690 beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
691 MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
693 GEOM::GEOM_Object_ptr anObj =
694 myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
695 theYParameter, theZParameter);
696 endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
700 //=============================================================================
701 // MakePointOnLinesIntersection:
702 //=============================================================================
703 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
704 GEOM::GEOM_Object_ptr theRefLine2)
706 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
707 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
709 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
710 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
714 //=============================================================================
715 // MakeTangentOnCurve:
716 //=============================================================================
717 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
718 CORBA::Double theParameter)
720 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
721 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
723 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
724 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
728 //=============================================================================
730 //=============================================================================
731 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
735 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
736 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
738 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
739 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
743 //=============================================================================
745 //=============================================================================
746 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
747 GEOM::GEOM_Object_ptr thePnt2)
749 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
750 MESSAGE("GEOM_Superv_i::MakeVector");
752 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
753 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
757 //=============================================================================
759 //=============================================================================
760 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
761 GEOM::GEOM_Object_ptr thePnt2)
763 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
764 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
766 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
767 endService( " GEOM_Superv_i::MakeLineTwoPnt");
771 //=============================================================================
773 //=============================================================================
774 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
775 GEOM::GEOM_Object_ptr theFace2)
777 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
778 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
780 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
781 endService( " GEOM_Superv_i::MakeLineTwoFaces");
785 //=============================================================================
786 // MakePlaneThreePnt:
787 //=============================================================================
788 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
789 GEOM::GEOM_Object_ptr thePnt2,
790 GEOM::GEOM_Object_ptr thePnt3,
791 CORBA::Double theTrimSize)
793 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
794 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
796 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
797 endService( " GEOM_Superv_i::MakePlaneThreePnt");
801 //=============================================================================
803 //=============================================================================
804 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
805 GEOM::GEOM_Object_ptr theVec,
806 CORBA::Double theTrimSize)
808 beginService( " GEOM_Superv_i::MakePlanePntVec" );
809 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
811 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
812 endService( " GEOM_Superv_i::MakePlanePntVec" );
816 //=============================================================================
818 //=============================================================================
819 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
820 CORBA::Double theTrimSize)
822 beginService( " GEOM_Superv_i::MakePlaneFace" );
823 MESSAGE("GEOM_Superv_i::MakePlaneFace");
825 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
826 endService( " GEOM_Superv_i::MakePlaneFace" );
830 //=============================================================================
832 //=============================================================================
833 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
834 GEOM::GEOM_Object_ptr theVec2,
835 CORBA::Double theTrimSize)
837 beginService( " GEOM_Superv_i::MakePlane2Vec" );
838 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
840 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
841 endService( " GEOM_Superv_i::MakePlane2Vec" );
845 //=============================================================================
847 //=============================================================================
848 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
849 CORBA::Double theTrimSize,
850 CORBA::Double theOrientation)
852 beginService( " GEOM_Superv_i::MakePlaneLCS" );
853 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
855 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
856 endService( " GEOM_Superv_i::MakePlaneLCS" );
860 //=============================================================================
862 //=============================================================================
863 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
864 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
865 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
866 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
868 beginService( " GEOM_Superv_i::MakeMarker" );
869 MESSAGE("GEOM_Superv_i::MakeMarker");
871 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
872 endService( " GEOM_Superv_i::MakeMarker" );
876 //=============================================================================
877 // MakeMarkerFromShape:
878 //=============================================================================
879 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape)
881 beginService( " GEOM_Superv_i::MakeMarkerFromShape" );
882 MESSAGE("GEOM_Superv_i::MakeMarkerFromShape");
884 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerFromShape(theShape);
885 endService( " GEOM_Superv_i::MakeMarkerFromShape" );
889 //=============================================================================
890 // MakeMarkerPntTwoVec:
891 //=============================================================================
892 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
893 GEOM::GEOM_Object_ptr theXVec,
894 GEOM::GEOM_Object_ptr theYVec)
896 beginService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
897 MESSAGE("GEOM_Superv_i::MakeMarkerPntTwoVec");
899 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec);
900 endService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
904 //=============================================================================
905 // MakeTangentPlaneOnFace:
906 //=============================================================================
907 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
908 CORBA::Double theParameterU,
909 CORBA::Double theParameterV,
910 CORBA::Double theTrimSize)
912 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
913 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
915 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
916 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
920 //================= Primitives Construction : 3DPrimOperations ================
921 //=============================================================================
923 //=============================================================================
924 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
931 beginService( " GEOM_Superv_i::MakeBox" );
932 MESSAGE("GEOM_Superv_i::MakeBox");
935 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
936 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
937 endService( " GEOM_Superv_i::MakeBox" );
941 //=============================================================================
943 //=============================================================================
944 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
948 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
949 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
951 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
952 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
956 //=============================================================================
958 //=============================================================================
959 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
960 GEOM::GEOM_Object_ptr thePnt2)
962 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
963 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
965 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
966 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
970 //=============================================================================
972 //=============================================================================
973 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
975 CORBA::Short theOrientation)
977 beginService( " GEOM_Superv_i::MakeFaceHW" );
978 MESSAGE("GEOM_Superv_i::MakeFaceHW");
980 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
981 endService( " GEOM_Superv_i::MakeFaceHW" );
985 //=============================================================================
987 //=============================================================================
988 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
992 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
993 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
995 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
996 endService( " GEOM_Superv_i::MakeFaceObjHW" );
1000 //=============================================================================
1002 //=============================================================================
1003 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
1004 GEOM::GEOM_Object_ptr theVector,
1007 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
1008 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
1010 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
1011 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
1015 //=============================================================================
1016 // MakeDiskThreePnt:
1017 //=============================================================================
1018 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1019 GEOM::GEOM_Object_ptr thePnt2,
1020 GEOM::GEOM_Object_ptr thePnt3)
1022 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
1023 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
1025 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
1026 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
1030 //=============================================================================
1032 //=============================================================================
1033 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
1034 CORBA::Short theOrientation)
1036 beginService( " GEOM_Superv_i::MakeDiskR" );
1037 MESSAGE("GEOM_Superv_i::MakeDiskR");
1039 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
1040 endService( " GEOM_Superv_i::MakeDiskR" );
1044 //=============================================================================
1045 // MakeCylinderPntVecRH:
1046 //=============================================================================
1047 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
1048 GEOM::GEOM_Object_ptr theAxis,
1049 CORBA::Double theRadius,
1050 CORBA::Double theHeight)
1052 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1053 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1055 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
1056 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1060 //=============================================================================
1062 //=============================================================================
1063 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1066 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1067 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1069 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
1070 endService( " GEOM_Superv_i::MakeCylinderRH" );
1074 //=============================================================================
1075 // MakeCylinderPntVecRHA:
1076 //=============================================================================
1077 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
1078 GEOM::GEOM_Object_ptr theAxis,
1079 CORBA::Double theRadius,
1080 CORBA::Double theHeight,
1081 CORBA::Double theAngle)
1083 beginService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1084 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRHA");
1086 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRHA(thePnt, theAxis, theRadius, theHeight, theAngle);
1087 endService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1091 //=============================================================================
1093 //=============================================================================
1094 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRHA (CORBA::Double theR,
1098 beginService( " GEOM_Superv_i::MakeCylinderRHA" );
1099 MESSAGE("GEOM_Superv_i::MakeCylinderRHA");
1101 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRHA(theR, theH, theA);
1102 endService( " GEOM_Superv_i::MakeCylinderRHA" );
1106 //=============================================================================
1108 //=============================================================================
1109 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1112 CORBA::Double theRadius)
1114 beginService( " GEOM_Superv_i::MakeSphepe" );
1115 MESSAGE("GEOM_Superv_i::MakeSphepe");
1118 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1119 endService( " GEOM_Superv_i::MakeSphepe" );
1123 //=============================================================================
1125 //=============================================================================
1126 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1128 beginService( " GEOM_Superv_i::MakeSphereR" );
1129 MESSAGE("GEOM_Superv_i::MakeSphereR");
1131 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1132 endService( " GEOM_Superv_i::MakeSphereR" );
1136 //=============================================================================
1138 //=============================================================================
1139 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1142 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1143 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1145 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1146 endService( " GEOM_Superv_i::MakeSpherePntR" );
1150 //=============================================================================
1151 // MakeTorusPntVecRR:
1152 //=============================================================================
1153 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1154 GEOM::GEOM_Object_ptr theVec,
1155 CORBA::Double theRMajor,
1156 CORBA::Double theRMinor)
1158 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1159 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1161 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1162 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1166 //=============================================================================
1168 //=============================================================================
1169 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1170 CORBA::Double theRMinor)
1172 beginService( " GEOM_Superv_i::MakeTorusRR" );
1173 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1175 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1176 endService( " GEOM_Superv_i::MakeTorusRR" );
1180 //=============================================================================
1181 // MakeConePntVecR1R2H:
1182 //=============================================================================
1183 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1184 GEOM::GEOM_Object_ptr theAxis,
1185 CORBA::Double theR1,
1186 CORBA::Double theR2,
1187 CORBA::Double theHeight)
1189 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1190 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1192 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1193 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1197 //=============================================================================
1199 //=============================================================================
1200 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1201 CORBA::Double theR2,
1202 CORBA::Double theHeight)
1204 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1205 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1207 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1208 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1212 //=============================================================================
1214 //=============================================================================
1215 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1216 GEOM::GEOM_Object_ptr theVec,
1219 beginService( " GEOM_Superv_i::MakePrismVecH" );
1220 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1222 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1223 endService( " GEOM_Superv_i::MakePrismVecH" );
1227 //=============================================================================
1228 // MakePrismVecH2Ways:
1229 //=============================================================================
1230 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1231 GEOM::GEOM_Object_ptr theVec,
1234 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1235 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1237 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1238 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1242 //=============================================================================
1244 //=============================================================================
1245 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1246 GEOM::GEOM_Object_ptr thePoint1,
1247 GEOM::GEOM_Object_ptr thePoint2)
1249 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1250 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1252 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1253 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1257 //=============================================================================
1258 // MakePrismTwoPnt2Ways:
1259 //=============================================================================
1260 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1261 GEOM::GEOM_Object_ptr thePoint1,
1262 GEOM::GEOM_Object_ptr thePoint2)
1264 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1265 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1267 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1268 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1272 //=============================================================================
1274 //=============================================================================
1275 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1276 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1278 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1279 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1281 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1282 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1286 //=============================================================================
1288 //=============================================================================
1289 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1290 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1292 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1293 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1295 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1296 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1300 //=============================================================================
1302 //=============================================================================
1303 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1304 GEOM::GEOM_Object_ptr thePath)
1306 beginService( " GEOM_Superv_i::MakePipe" );
1307 MESSAGE("GEOM_Superv_i::MakePipe");
1309 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipe(theBase, thePath, false);
1310 endService( " GEOM_Superv_i::MakePipe" );
1314 //=============================================================================
1315 // MakeRevolutionAxisAngle:
1316 //=============================================================================
1317 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1318 GEOM::GEOM_Object_ptr theAxis,
1319 CORBA::Double theAngle)
1321 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1322 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1324 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1325 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1329 //=============================================================================
1330 // MakeRevolutionAxisAngle:
1331 //=============================================================================
1332 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1333 GEOM::GEOM_Object_ptr theAxis,
1334 CORBA::Double theAngle)
1336 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1337 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1339 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1340 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1344 //=============================================================================
1346 //=============================================================================
1347 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1348 CORBA::Long theMinDeg,
1349 CORBA::Long theMaxDeg,
1350 CORBA::Double theTol2D,
1351 CORBA::Double theTol3D,
1352 CORBA::Long theNbIter,
1353 GEOM::filling_oper_method theMethod,
1354 CORBA::Boolean theApprox)
1356 beginService( " GEOM_Superv_i::MakeFilling" );
1357 MESSAGE("GEOM_Superv_i::MakeFilling");
1359 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
1360 objList->length( 1 );
1361 objList[0] = theShape;
1362 GEOM::GEOM_Object_ptr anObj =
1363 my3DPrimOp->MakeFilling(objList, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1364 theNbIter, theMethod, theApprox);
1365 endService( " GEOM_Superv_i::MakeFilling" );
1369 //============================= BooleanOperations =============================
1370 //=============================================================================
1372 //=============================================================================
1373 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1374 (GEOM::GEOM_Object_ptr theShape1,
1375 GEOM::GEOM_Object_ptr theShape2,
1376 CORBA::Long theOperation)
1378 beginService( " GEOM_Superv_i::MakeBoolean" );
1379 // theOperation indicates the operation to be done:
1380 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1381 MESSAGE("GEOM_Superv_i::MakeBoolean");
1383 GEOM::GEOM_Object_ptr anObj =
1384 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1385 endService( " GEOM_Superv_i::MakeBoolean" );
1389 //=============================================================================
1390 // MakeThruSections:
1391 //=============================================================================
1392 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1393 CORBA::Boolean theModeSolid,
1394 CORBA::Double thePreci,
1395 CORBA::Boolean theRuled)
1397 beginService( " GEOM_Superv_i::MakeThruSections" );
1398 MESSAGE("GEOM_Superv_i::MakeThruSections");
1400 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1401 endService( " GEOM_Superv_i::MakeThruSections" );
1405 //=============================================================================
1407 //=============================================================================
1408 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1409 (const GEOM::ListOfGO& theBases,
1410 const GEOM::ListOfGO& theLocations,
1411 GEOM::GEOM_Object_ptr thePath,
1412 CORBA::Boolean theWithContact,
1413 CORBA::Boolean theWithCorrections)
1415 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1416 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1418 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections, false, false);
1419 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1424 //=============================================================================
1426 //=============================================================================
1427 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1428 (const GEOM::ListOfGO& theBases,
1429 const GEOM::ListOfGO& theSubBases,
1430 const GEOM::ListOfGO& theLocations,
1431 GEOM::GEOM_Object_ptr thePath,
1432 CORBA::Boolean theWithContact,
1433 CORBA::Boolean theWithCorrections)
1435 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1436 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1438 GEOM::ListOfGO_var aList =
1439 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1440 theLocations, thePath,
1441 theWithContact, theWithCorrections,
1443 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1448 //=============================================================================
1450 //=============================================================================
1451 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1452 (const GEOM::ListOfGO& theBases,
1453 const GEOM::ListOfGO& theLocations)
1455 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1456 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1458 GEOM::ListOfGO_var aList =
1459 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations, false);
1460 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1465 //=============================================================================
1467 //=============================================================================
1468 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1469 (GEOM::GEOM_Object_ptr theBase,
1470 GEOM::GEOM_Object_ptr thePath,
1471 GEOM::GEOM_Object_ptr theVec)
1473 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1474 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1476 GEOM::ListOfGO_var aList =
1477 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec, false);
1478 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1483 //=============================================================================
1485 //=============================================================================
1486 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1487 (GEOM::GEOM_Object_ptr theShape1,
1488 GEOM::GEOM_Object_ptr theShape2)
1490 beginService( " GEOM_Superv_i::MakeFuse" );
1491 MESSAGE("GEOM_Superv_i::MakeFuse");
1493 GEOM::GEOM_Object_ptr anObj =
1494 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1495 endService( " GEOM_Superv_i::MakeFuse" );
1499 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1500 GEOM::GEOM_Object_ptr theShape2)
1502 beginService( " GEOM_Superv_i::MakeCommon" );
1503 MESSAGE("GEOM_Superv_i::MakeCommon");
1505 GEOM::GEOM_Object_ptr anObj =
1506 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1507 endService( " GEOM_Superv_i::MakeCommon" );
1511 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1512 GEOM::GEOM_Object_ptr theShape2)
1514 beginService( " GEOM_Superv_i::MakeCut" );
1515 MESSAGE("GEOM_Superv_i::MakeCut");
1517 GEOM::GEOM_Object_ptr anObj =
1518 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1519 endService( " GEOM_Superv_i::MakeCut" );
1523 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1524 GEOM::GEOM_Object_ptr theShape2)
1526 beginService( " GEOM_Superv_i::MakeCut" );
1527 MESSAGE("GEOM_Superv_i::MakeCut");
1529 GEOM::GEOM_Object_ptr anObj =
1530 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1531 endService( " GEOM_Superv_i::MakeCut" );
1535 //=============================================================================
1537 //=============================================================================
1538 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1539 GEOM::GEOM_List_ptr theTools,
1540 GEOM::GEOM_List_ptr theKeepInside,
1541 GEOM::GEOM_List_ptr theRemoveInside,
1542 CORBA::Short theLimit,
1543 CORBA::Boolean theRemoveWebs,
1544 GEOM::GEOM_List_ptr theMaterials,
1545 CORBA::Short theKeepNonlimitShapes)
1547 beginService( " GEOM_Superv_i::MakePartition" );
1548 MESSAGE("GEOM_Superv_i::MakePartition");
1549 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1550 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1551 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1552 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1553 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1554 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1555 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1556 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1557 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1558 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1559 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1561 GEOM::GEOM_Object_ptr anObj =
1562 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1563 aListImplKI->GetList(), aListImplRI->GetList(),
1564 theLimit, theRemoveWebs, aListImplM->GetList(),
1565 theKeepNonlimitShapes);
1566 endService( " GEOM_Superv_i::MakePartition" );
1569 endService( " GEOM_Superv_i::MakePartition" );
1573 //=============================================================================
1574 // MakeHalfPartition:
1575 //=============================================================================
1576 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1577 GEOM::GEOM_Object_ptr thePlane)
1579 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1580 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1582 GEOM::GEOM_Object_ptr anObj =
1583 myBoolOp->MakeHalfPartition(theShape, thePlane);
1584 endService( " GEOM_Superv_i::MakeHalfPartition" );
1588 //============================== InsertOperations =============================
1589 //=============================================================================
1591 //=============================================================================
1592 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1594 beginService( " GEOM_Superv_i::MakeCopy" );
1595 MESSAGE("GEOM_Superv_i::MakeCopy");
1597 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1598 endService( " GEOM_Superv_i::MakeCopy" );
1602 //=============================================================================
1604 //=============================================================================
1605 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1606 const char* theFileName,
1607 const char* theFormatName)
1609 beginService( " GEOM_Superv_i::Export" );
1610 MESSAGE("GEOM_Superv_i::Export");
1612 myInsOp->Export(theObject, theFileName, theFormatName);
1613 endService( " GEOM_Superv_i::Export" );
1616 //=============================================================================
1618 //=============================================================================
1619 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1620 const char* theFormatName)
1622 beginService( " GEOM_Superv_i::ImportFile" );
1623 MESSAGE("GEOM_Superv_i::ImportFile");
1625 GEOM::ListOfGBO_var aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1626 GEOM::GEOM_Object_var anObj;
1628 if (aSeq->length() > 0) {
1629 anObj = GEOM::GEOM_Object::_narrow(aSeq[0]);
1632 endService( " GEOM_Superv_i::ImportFile" );
1633 return anObj._retn();
1636 //============================= TransformOperations ===========================
1637 //=============================================================================
1638 // TranslateTwoPoints:
1639 //=============================================================================
1640 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1641 GEOM::GEOM_Object_ptr thePoint1,
1642 GEOM::GEOM_Object_ptr thePoint2)
1644 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1645 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1647 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1648 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1652 //=============================================================================
1653 // TranslateTwoPointsCopy:
1654 //=============================================================================
1655 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1656 GEOM::GEOM_Object_ptr thePoint1,
1657 GEOM::GEOM_Object_ptr thePoint2)
1659 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1660 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1662 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1663 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1667 //=============================================================================
1669 //=============================================================================
1670 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1671 CORBA::Double theDX,
1672 CORBA::Double theDY,
1673 CORBA::Double theDZ)
1675 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1676 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1678 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1679 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1683 //=============================================================================
1684 // TranslateDXDYDZCopy:
1685 //=============================================================================
1686 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1687 CORBA::Double theDX,
1688 CORBA::Double theDY,
1689 CORBA::Double theDZ)
1691 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1692 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1694 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1695 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1699 //=============================================================================
1701 //=============================================================================
1702 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1703 GEOM::GEOM_Object_ptr theVector)
1705 beginService( " GEOM_Superv_i::TranslateVector" );
1706 MESSAGE("GEOM_Superv_i::TranslateVector");
1708 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1709 endService( " GEOM_Superv_i::TranslateVector" );
1713 //=============================================================================
1714 // TranslateVectorCopy:
1715 //=============================================================================
1716 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1717 GEOM::GEOM_Object_ptr theVector)
1719 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1720 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1722 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1723 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1727 //=============================================================================
1728 // TranslateVectorDistance:
1729 //=============================================================================
1730 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1731 GEOM::GEOM_Object_ptr theVector,
1732 CORBA::Double theDistance,
1733 CORBA::Boolean theCopy)
1735 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1736 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1738 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1739 theVector, theDistance, theCopy);
1740 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1744 //=============================================================================
1745 // MultiTranslate1D:
1746 //=============================================================================
1747 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1748 GEOM::GEOM_Object_ptr theVector,
1749 CORBA::Double theStep,
1750 CORBA::Long theNbTimes)
1752 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1753 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1755 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1756 endService( " GEOM_Superv_i::MultiTranslate1D" );
1760 //=============================================================================
1761 // MultiTranslate2D:
1762 //=============================================================================
1763 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1764 GEOM::GEOM_Object_ptr theVector1,
1765 CORBA::Double theStep1,
1766 CORBA::Long theNbTimes1,
1767 GEOM::GEOM_Object_ptr theVector2,
1768 CORBA::Double theStep2,
1769 CORBA::Long theNbTimes2)
1771 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1772 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1774 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1775 theVector2, theStep2, theNbTimes2);
1776 endService( " GEOM_Superv_i::MultiTranslate2D" );
1780 //=============================================================================
1782 //=============================================================================
1783 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1784 GEOM::GEOM_Object_ptr theAxis,
1785 CORBA::Double theAngle)
1787 beginService( " GEOM_Superv_i::Rotate" );
1788 MESSAGE("GEOM_Superv_i::Rotate");
1790 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1791 endService( " GEOM_Superv_i::Rotate" );
1795 //=============================================================================
1797 //=============================================================================
1798 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1799 GEOM::GEOM_Object_ptr theAxis,
1800 CORBA::Double theAngle)
1802 beginService( " GEOM_Superv_i::RotateCopy" );
1803 MESSAGE("GEOM_Superv_i::RotateCopy");
1805 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1806 endService( " GEOM_Superv_i::RotateCopy" );
1809 //=============================================================================
1810 // RotateThreePoints:
1811 //=============================================================================
1812 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1813 GEOM::GEOM_Object_ptr theCentPoint,
1814 GEOM::GEOM_Object_ptr thePoint1,
1815 GEOM::GEOM_Object_ptr thePoint2)
1817 beginService( " GEOM_Superv_i::RotateThreePoints" );
1818 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1820 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1821 endService( " GEOM_Superv_i::RotateThreePoints" );
1825 //=============================================================================
1826 // RotateThreePointsCopy:
1827 //=============================================================================
1828 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1829 GEOM::GEOM_Object_ptr theCentPoint,
1830 GEOM::GEOM_Object_ptr thePoint1,
1831 GEOM::GEOM_Object_ptr thePoint2)
1833 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1834 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1836 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1837 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1841 //=============================================================================
1843 //=============================================================================
1844 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1845 GEOM::GEOM_Object_ptr theAxis,
1846 CORBA::Long theNbTimes)
1848 beginService( " GEOM_Superv_i::MultiRotate1D" );
1849 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1851 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1852 endService( " GEOM_Superv_i::MultiRotate1D" );
1856 //=============================================================================
1858 //=============================================================================
1859 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1860 GEOM::GEOM_Object_ptr theAxis,
1861 CORBA::Double theAngle,
1862 CORBA::Long theNbTimes1,
1863 CORBA::Double theStep,
1864 CORBA::Long theNbTimes2)
1866 beginService( " GEOM_Superv_i::MultiRotate2D" );
1867 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1869 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1870 endService( " GEOM_Superv_i::MultiRotate2D" );
1874 //=============================================================================
1876 //=============================================================================
1877 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1878 GEOM::GEOM_Object_ptr thePlane)
1880 beginService( " GEOM_Superv_i::MirrorPlane" );
1881 MESSAGE("GEOM_Superv_i::MirrorPlane");
1883 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1884 endService( " GEOM_Superv_i::MirrorPlane" );
1888 //=============================================================================
1890 //=============================================================================
1891 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1892 GEOM::GEOM_Object_ptr thePlane)
1894 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1895 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1897 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1898 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1902 //=============================================================================
1904 //=============================================================================
1905 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1906 GEOM::GEOM_Object_ptr theAxis)
1908 beginService( " GEOM_Superv_i::MirrorAxis" );
1909 MESSAGE("GEOM_Superv_i::MirrorAxis");
1911 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1912 endService( " GEOM_Superv_i::MirrorAxis" );
1916 //=============================================================================
1918 //=============================================================================
1919 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1920 GEOM::GEOM_Object_ptr theAxis)
1922 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1923 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1925 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1926 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1930 //=============================================================================
1932 //=============================================================================
1933 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1934 GEOM::GEOM_Object_ptr thePoint)
1936 beginService( " GEOM_Superv_i::MirrorPoint" );
1937 MESSAGE("GEOM_Superv_i::MirrorPoint");
1939 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1940 endService( " GEOM_Superv_i::MirrorPoint" );
1944 //=============================================================================
1946 //=============================================================================
1947 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1948 GEOM::GEOM_Object_ptr thePoint)
1950 beginService( " GEOM_Superv_i::MirrorPoint" );
1951 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1953 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1954 endService( " GEOM_Superv_i::MirrorPoint" );
1958 //=============================================================================
1960 //=============================================================================
1961 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1962 CORBA::Double theOffset)
1964 beginService( " GEOM_Superv_i::OffsetShape" );
1965 MESSAGE("GEOM_Superv_i::OffsetShape");
1967 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset, true);
1968 endService( " GEOM_Superv_i::OffsetShape" );
1972 //=============================================================================
1974 //=============================================================================
1975 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1976 CORBA::Double theOffset)
1978 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1979 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1981 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset, true);
1982 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1986 //=============================================================================
1988 //=============================================================================
1989 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1990 GEOM::GEOM_Object_ptr thePoint,
1991 CORBA::Double theFactor)
1993 beginService( " GEOM_Superv_i::ScaleShape" );
1994 MESSAGE("GEOM_Superv_i::ScaleShape");
1996 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1997 endService( " GEOM_Superv_i::ScaleShape" );
2001 //=============================================================================
2003 //=============================================================================
2004 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
2005 GEOM::GEOM_Object_ptr thePoint,
2006 CORBA::Double theFactor)
2008 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2009 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2011 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2012 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2016 //=============================================================================
2017 // ScaleShapeAlongAxes:
2018 //=============================================================================
2019 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2020 GEOM::GEOM_Object_ptr thePoint,
2021 CORBA::Double theFactorX,
2022 CORBA::Double theFactorY,
2023 CORBA::Double theFactorZ)
2025 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2026 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2028 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2029 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2030 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2034 //=============================================================================
2035 // ScaleShapeAlongAxesCopy:
2036 //=============================================================================
2037 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2038 GEOM::GEOM_Object_ptr thePoint,
2039 CORBA::Double theFactorX,
2040 CORBA::Double theFactorY,
2041 CORBA::Double theFactorZ)
2043 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2044 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2046 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2047 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2048 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2052 //=============================================================================
2054 //=============================================================================
2055 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2056 GEOM::GEOM_Object_ptr theStartLCS,
2057 GEOM::GEOM_Object_ptr theEndLCS)
2059 beginService( " GEOM_Superv_i::PositionShape" );
2060 MESSAGE("GEOM_Superv_i::PositionShape");
2062 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2063 endService( " GEOM_Superv_i::PositionShape" );
2067 //=============================================================================
2068 // PositionShapeCopy:
2069 //=============================================================================
2070 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2071 GEOM::GEOM_Object_ptr theStartLCS,
2072 GEOM::GEOM_Object_ptr theEndLCS)
2074 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2075 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2077 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2078 endService( " GEOM_Superv_i::PositionShapeCopy" );
2082 //=============================================================================
2083 // PositionAlongPath:
2084 //=============================================================================
2085 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2086 GEOM::GEOM_Object_ptr thePath,
2087 CORBA::Double theDistance,
2088 CORBA::Boolean theCopy,
2089 CORBA::Boolean theReverse)
2091 beginService( " GEOM_Superv_i::PositionAlongPath" );
2092 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2094 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2095 endService( " GEOM_Superv_i::PositionAlongPath" );
2099 //=============================== ShapesOperations ============================
2100 //=============================================================================
2102 //=============================================================================
2103 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2104 GEOM::GEOM_Object_ptr thePnt2)
2106 beginService( " GEOM_Superv_i::MakeEdge" );
2107 MESSAGE("GEOM_Superv_i::MakeEdge");
2109 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2110 endService( " GEOM_Superv_i::MakeEdge" );
2114 //=============================================================================
2115 // MakeEdgeOnCurveByLength:
2116 //=============================================================================
2117 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2118 CORBA::Double theLength,
2119 GEOM::GEOM_Object_ptr theStartPoint)
2121 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2122 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2124 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2125 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2129 //=============================================================================
2131 //=============================================================================
2132 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2133 CORBA::Double theTolerance)
2135 beginService( " GEOM_Superv_i::MakeWire" );
2136 MESSAGE("GEOM_Superv_i::MakeWire");
2137 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2138 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2140 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2141 endService( " GEOM_Superv_i::MakeWire" );
2144 endService( " GEOM_Superv_i::MakeWire" );
2148 //=============================================================================
2150 //=============================================================================
2151 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2152 CORBA::Boolean isPlanarWanted)
2154 beginService( " GEOM_Superv_i::MakeFace" );
2155 MESSAGE("GEOM_Superv_i::MakeFace");
2157 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2158 endService( " GEOM_Superv_i::MakeFace" );
2162 //=============================================================================
2164 //=============================================================================
2165 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2166 CORBA::Boolean isPlanarWanted)
2168 beginService( " GEOM_Superv_i::MakeFaceWires" );
2169 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2170 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2171 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2173 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2174 endService( " GEOM_Superv_i::MakeFaceWires" );
2177 endService( " GEOM_Superv_i::MakeFaceWires" );
2181 //=============================================================================
2182 // MakeFaceWithConstraints:
2183 //=============================================================================
2184 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints)
2186 beginService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2187 MESSAGE("GEOM_Superv_i::MakeFaceWithConstraints");
2188 if (GEOM_List_i<GEOM::ListOfGO>* aConstraints =
2189 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theConstraints, myPOA).in())) {
2191 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWithConstraints(aConstraints->GetList());
2192 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2195 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2199 //=============================================================================
2201 //=============================================================================
2202 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2204 beginService( " GEOM_Superv_i::MakeShell" );
2205 MESSAGE("GEOM_Superv_i::MakeShell");
2206 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2207 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2209 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2210 endService( " GEOM_Superv_i::MakeShell" );
2213 endService( " GEOM_Superv_i::MakeShell" );
2217 //=============================================================================
2219 //=============================================================================
2220 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2222 beginService( " GEOM_Superv_i::MakeSolidShell" );
2223 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2225 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2226 endService( " GEOM_Superv_i::MakeSolidShell" );
2230 //=============================================================================
2232 //=============================================================================
2233 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2235 beginService( " GEOM_Superv_i::MakeSolidShells" );
2236 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2237 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2238 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2240 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2241 endService( " GEOM_Superv_i::MakeSolidShells" );
2244 endService( " GEOM_Superv_i::MakeSolidShells" );
2248 //=============================================================================
2250 //=============================================================================
2251 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2253 beginService( " GEOM_Superv_i::MakeCompound" );
2254 MESSAGE("GEOM_Superv_i::MakeCompound");
2255 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2256 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2258 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2259 endService( " GEOM_Superv_i::MakeCompound" );
2262 endService( " GEOM_Superv_i::MakeCompound" );
2266 //=============================================================================
2267 // MakeSolidFromConnectedFaces:
2268 //=============================================================================
2269 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
2270 CORBA::Boolean isIntersect)
2272 beginService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2273 MESSAGE("GEOM_Superv_i::MakeSolidFromConnectedFaces");
2274 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2275 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesOrShells, myPOA).in())) {
2277 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidFromConnectedFaces(aListImpl->GetList(), isIntersect);
2278 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2281 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2285 //=============================================================================
2287 //=============================================================================
2288 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2289 CORBA::Double theTolerance,
2290 CORBA::Boolean doKeepNonSolids)
2292 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2293 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2295 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2296 objList->length( 1 );
2297 objList[0] = theShape;
2298 GEOM::GEOM_Object_ptr anObj =
2299 myShapesOp->MakeGlueFaces(objList, theTolerance, doKeepNonSolids);
2300 endService( " GEOM_Superv_i::MakeGlueFaces" );
2304 //=============================================================================
2306 //=============================================================================
2307 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2308 CORBA::Double theTolerance)
2310 beginService( " GEOM_Superv_i::GetGlueFaces" );
2311 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2313 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2314 objList->length( 1 );
2315 objList[0] = theShape;
2316 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(objList, theTolerance);
2317 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2318 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2319 endService( " GEOM_Superv_i::GetGlueFaces" );
2320 return aListPtr->_this();
2323 //=============================================================================
2324 // MakeGlueFacesByList:
2325 //=============================================================================
2326 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2327 CORBA::Double theTolerance,
2328 const GEOM::ListOfGO& theFaces,
2329 CORBA::Boolean doKeepNonSolids,
2330 CORBA::Boolean doGlueAllEdges)
2332 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2333 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2335 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2336 objList->length( 1 );
2337 objList[0] = theShape;
2338 GEOM::GEOM_Object_ptr anObj =
2339 myShapesOp->MakeGlueFacesByList(objList, theTolerance, theFaces,
2340 doKeepNonSolids, doGlueAllEdges);
2341 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2345 //=============================================================================
2347 //=============================================================================
2348 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2349 CORBA::Long theShapeType,
2350 CORBA::Boolean isSorted)
2352 beginService( " GEOM_Superv_i::MakeExplode" );
2353 MESSAGE("GEOM_Superv_i::MakeExplode");
2356 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2357 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2358 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2359 endService( " GEOM_Superv_i::MakeExplode" );
2360 return aListPtr->_this();
2363 //=============================================================================
2365 //=============================================================================
2366 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2368 beginService( " GEOM_Superv_i::NumberOfFaces" );
2369 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2371 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2372 endService( " GEOM_Superv_i::NumberOfFaces" );
2376 //=============================================================================
2378 //=============================================================================
2379 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2381 beginService( " GEOM_Superv_i::NumberOfEdges" );
2382 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2384 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2385 endService( " GEOM_Superv_i::NumberOfEdges" );
2390 //=============================================================================
2391 // ChangeOrientation:
2392 //=============================================================================
2393 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2395 beginService( " GEOM_Superv_i::ChangeOrientation" );
2396 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2398 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2399 endService( " GEOM_Superv_i::ChangeOrientation" );
2404 //=============================================================================
2405 // GetShapesOnShape:
2406 //=============================================================================
2407 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2408 (GEOM::GEOM_Object_ptr theCheckShape,
2409 GEOM::GEOM_Object_ptr theShape,
2410 CORBA::Short theShapeType,
2411 GEOM::shape_state theState)
2413 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2414 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2416 GEOM::ListOfGO* aList =
2417 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2418 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2419 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2420 endService( " GEOM_Superv_i::GetShapesOnShape" );
2421 return aListPtr->_this();
2425 //=============================================================================
2426 // GetShapesOnShapeAsCompound:
2427 //=============================================================================
2428 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2429 (GEOM::GEOM_Object_ptr theCheckShape,
2430 GEOM::GEOM_Object_ptr theShape,
2431 CORBA::Short theShapeType,
2432 GEOM::shape_state theState)
2434 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2435 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2437 GEOM::GEOM_Object_ptr anObj =
2438 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2439 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2444 //=============================== BlocksOperations ============================
2445 //=============================================================================
2446 // MakeQuad4Vertices:
2447 //=============================================================================
2448 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2449 GEOM::GEOM_Object_ptr thePnt2,
2450 GEOM::GEOM_Object_ptr thePnt3,
2451 GEOM::GEOM_Object_ptr thePnt4)
2453 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2454 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2456 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2457 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2461 //=============================================================================
2463 //=============================================================================
2464 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2465 GEOM::GEOM_Object_ptr theEdge2,
2466 GEOM::GEOM_Object_ptr theEdge3,
2467 GEOM::GEOM_Object_ptr theEdge4)
2469 beginService( " GEOM_Superv_i::MakeQuad" );
2470 MESSAGE("GEOM_Superv_i::MakeQuad");
2472 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2473 endService( " GEOM_Superv_i::MakeQuad" );
2477 //=============================================================================
2479 //=============================================================================
2480 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2481 GEOM::GEOM_Object_ptr theEdge2)
2483 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2484 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2486 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2487 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2491 //=============================================================================
2493 //=============================================================================
2494 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2495 GEOM::GEOM_Object_ptr theFace2,
2496 GEOM::GEOM_Object_ptr theFace3,
2497 GEOM::GEOM_Object_ptr theFace4,
2498 GEOM::GEOM_Object_ptr theFace5,
2499 GEOM::GEOM_Object_ptr theFace6)
2501 beginService( " GEOM_Superv_i::MakeHexa" );
2502 MESSAGE("GEOM_Superv_i::MakeHexa");
2504 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2505 endService( " GEOM_Superv_i::MakeHexa" );
2509 //=============================================================================
2511 //=============================================================================
2512 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2513 GEOM::GEOM_Object_ptr theFace2)
2515 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2516 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2518 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2519 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2523 //=============================================================================
2525 //=============================================================================
2526 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2530 CORBA::Double theEpsilon)
2532 beginService( " GEOM_Superv_i::GetPoint" );
2533 MESSAGE("GEOM_Superv_i::GetPoint");
2535 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2536 endService( " GEOM_Superv_i::GetPoint" );
2540 //=============================================================================
2542 //=============================================================================
2543 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2544 GEOM::GEOM_Object_ptr thePoint1,
2545 GEOM::GEOM_Object_ptr thePoint2)
2547 beginService( " GEOM_Superv_i::GetEdge" );
2548 MESSAGE("GEOM_Superv_i::GetEdge");
2550 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2551 endService( " GEOM_Superv_i::GetEdge" );
2555 //=============================================================================
2556 // GetEdgeNearPoint:
2557 //=============================================================================
2558 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2559 GEOM::GEOM_Object_ptr thePoint)
2561 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2562 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2564 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2565 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2569 //=============================================================================
2571 //=============================================================================
2572 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2573 GEOM::GEOM_Object_ptr thePoint1,
2574 GEOM::GEOM_Object_ptr thePoint2,
2575 GEOM::GEOM_Object_ptr thePoint3,
2576 GEOM::GEOM_Object_ptr thePoint4)
2578 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2579 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2581 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2582 endService( " GEOM_Superv_i::GetFaceByPoints" );
2586 //=============================================================================
2588 //=============================================================================
2589 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2590 GEOM::GEOM_Object_ptr theEdge1,
2591 GEOM::GEOM_Object_ptr theEdge2)
2593 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2594 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2596 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2597 endService( " GEOM_Superv_i::GetFaceByEdges" );
2601 //=============================================================================
2603 //=============================================================================
2604 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2605 GEOM::GEOM_Object_ptr theFace)
2607 beginService( " GEOM_Superv_i::GetOppositeFace" );
2608 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2610 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2611 endService( " GEOM_Superv_i::GetOppositeFace" );
2615 //=============================================================================
2616 // GetFaceNearPoint:
2617 //=============================================================================
2618 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2619 GEOM::GEOM_Object_ptr thePoint)
2621 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2622 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2624 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2625 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2629 //=============================================================================
2630 // GetFaceByNormale:
2631 //=============================================================================
2632 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2633 GEOM::GEOM_Object_ptr theVector)
2635 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2636 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2638 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2639 endService( " GEOM_Superv_i::GetFaceByNormale" );
2643 //=============================================================================
2644 // IsCompoundOfBlocks:
2645 //=============================================================================
2646 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2647 CORBA::Long theMinNbFaces,
2648 CORBA::Long theMaxNbFaces,
2649 CORBA::Long& theNbBlocks)
2651 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2652 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2654 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2655 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2659 //=============================================================================
2660 // CheckCompoundOfBlocks:
2661 //=============================================================================
2662 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2663 (GEOM::GEOM_Object_ptr theCompound,
2664 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2666 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2667 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2669 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, -1., theErrors);
2670 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2674 //=============================================================================
2676 //=============================================================================
2677 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2678 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2680 beginService( " GEOM_Superv_i::PrintBCErrors" );
2681 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2683 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2684 endService( " GEOM_Superv_i::PrintBCErrors" );
2688 //=============================================================================
2689 // ExplodeCompoundOfBlocks:
2690 //=============================================================================
2691 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2692 CORBA::Long theMinNbFaces,
2693 CORBA::Long theMaxNbFaces)
2695 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2696 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2698 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2699 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2700 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2701 return aListPtr->_this();
2704 //=============================================================================
2705 // GetBlockNearPoint:
2706 //=============================================================================
2707 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2708 GEOM::GEOM_Object_ptr thePoint)
2710 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2711 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2713 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2714 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2718 //=============================================================================
2720 //=============================================================================
2721 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2722 GEOM::GEOM_List_ptr theParts)
2724 beginService( " GEOM_Superv_i::GetBlockByParts" );
2725 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2726 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2727 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2729 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2730 endService( " GEOM_Superv_i::GetBlockByParts" );
2733 endService( " GEOM_Superv_i::GetBlockByParts" );
2737 //=============================================================================
2738 // GetBlocksByParts:
2739 //=============================================================================
2740 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2741 GEOM::GEOM_List_ptr theParts)
2743 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2744 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2745 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2746 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2749 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2750 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2751 endService( " GEOM_Superv_i::GetBlocksByParts" );
2752 return aListPtr->_this();
2754 endService( " GEOM_Superv_i::GetBlocksByParts" );
2758 //=============================================================================
2759 // MakeMultiTransformation1D:
2760 //=============================================================================
2761 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2762 CORBA::Long theDirFace1,
2763 CORBA::Long theDirFace2,
2764 CORBA::Long theNbTimes)
2766 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2767 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2769 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2770 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2774 //=============================================================================
2775 // MakeMultiTransformation2D:
2776 //=============================================================================
2777 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2778 (GEOM::GEOM_Object_ptr theBlock,
2779 CORBA::Long theDirFace1U,
2780 CORBA::Long theDirFace2U,
2781 CORBA::Long theNbTimesU,
2782 CORBA::Long theDirFace1V,
2783 CORBA::Long theDirFace2V,
2784 CORBA::Long theNbTimesV)
2786 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2787 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2789 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2790 theDirFace1U, theDirFace2U, theNbTimesU,
2791 theDirFace1V, theDirFace2V, theNbTimesV);
2792 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2796 //=============================== CurvesOperations ============================
2797 //=============================================================================
2798 // MakeCirclePntVecR:
2799 //=============================================================================
2800 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2801 GEOM::GEOM_Object_ptr theVector,
2804 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2805 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2807 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2808 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2812 //=============================================================================
2813 // MakeCircleThreePnt:
2814 //=============================================================================
2815 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2816 GEOM::GEOM_Object_ptr thePnt2,
2817 GEOM::GEOM_Object_ptr thePnt3)
2819 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2820 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2822 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2823 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2826 //=============================================================================
2827 // MakeCircleCenter2Pnt:
2828 //=============================================================================
2829 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2830 GEOM::GEOM_Object_ptr thePnt2,
2831 GEOM::GEOM_Object_ptr thePnt3)
2833 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2834 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2836 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2837 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2841 //=============================================================================
2843 //=============================================================================
2844 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2845 GEOM::GEOM_Object_ptr theVector,
2846 CORBA::Double theRMajor,
2847 CORBA::Double theRMinor)
2849 beginService( " GEOM_Superv_i::MakeEllipse" );
2850 MESSAGE("GEOM_Superv_i::MakeEllipse");
2852 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2853 endService( " GEOM_Superv_i::MakeEllipse" );
2857 //=============================================================================
2859 //=============================================================================
2860 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2861 GEOM::GEOM_Object_ptr theVector,
2862 CORBA::Double theRMajor,
2863 CORBA::Double theRMinor,
2864 GEOM::GEOM_Object_ptr theVectorMajor)
2866 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2867 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2869 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2870 endService( " GEOM_Superv_i::MakeEllipseVec" );
2874 //=============================================================================
2876 //=============================================================================
2877 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2878 GEOM::GEOM_Object_ptr thePnt2,
2879 GEOM::GEOM_Object_ptr thePnt3)
2881 beginService( " GEOM_Superv_i::MakeArc" );
2882 MESSAGE("GEOM_Superv_i::MakeArc");
2884 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2885 endService( " GEOM_Superv_i::MakeArc" );
2889 //=============================================================================
2891 //=============================================================================
2892 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2893 GEOM::GEOM_Object_ptr thePnt1,
2894 GEOM::GEOM_Object_ptr thePnt2,
2895 CORBA::Boolean theSense)
2897 beginService( " GEOM_Superv_i::MakeArcCenter" );
2898 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2900 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2901 endService( " GEOM_Superv_i::MakeArcCenter" );
2905 //=============================================================================
2906 // MakeArcOfEllipse:
2907 //=============================================================================
2908 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2909 GEOM::GEOM_Object_ptr thePnt2,
2910 GEOM::GEOM_Object_ptr thePnt3)
2912 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2913 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2915 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2916 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2920 //=============================================================================
2922 //=============================================================================
2923 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
2924 CORBA::Boolean theIsClosed)
2926 beginService( " GEOM_Superv_i::MakePolyline" );
2927 MESSAGE("GEOM_Superv_i::MakePolyline");
2928 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2929 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2931 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
2932 endService( " GEOM_Superv_i::MakePolyline" );
2935 endService( " GEOM_Superv_i::MakePolyline" );
2939 //=============================================================================
2940 // MakeSplineBezier:
2941 //=============================================================================
2942 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
2943 CORBA::Boolean theIsClosed)
2945 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2946 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2947 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2948 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2950 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
2951 endService( " GEOM_Superv_i::MakeSplineBezier" );
2954 endService( " GEOM_Superv_i::MakeSplineBezier" );
2958 //=============================================================================
2959 // MakeSplineInterpolation:
2960 //=============================================================================
2961 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
2962 CORBA::Boolean theIsClosed,
2963 CORBA::Boolean theDoReordering)
2965 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2966 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2967 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2968 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2970 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
2971 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2974 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2978 //=============================================================================
2980 //=============================================================================
2981 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2982 GEOM::GEOM_List_ptr theWorkingPlane)
2984 beginService( " GEOM_Superv_i::MakeSketcher" );
2985 MESSAGE("GEOM_Superv_i::MakeSketcher");
2986 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2987 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2989 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2990 endService( " GEOM_Superv_i::MakeSketcher" );
2993 endService( " GEOM_Superv_i::MakeSketcher" );
2997 //=============================================================================
2999 //=============================================================================
3000 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
3002 beginService( " GEOM_Superv_i::Make3DSketcher" );
3003 MESSAGE("GEOM_Superv_i::Make3DSketcher");
3004 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
3005 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
3007 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
3008 endService( " GEOM_Superv_i::Make3DSketcher" );
3011 endService( " GEOM_Superv_i::Make3DSketcher" );
3015 //=============================== LocalOperations =============================
3016 //=============================================================================
3018 //=============================================================================
3019 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
3022 beginService( " GEOM_Superv_i::MakeFilletAll" );
3023 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
3025 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
3026 endService( " GEOM_Superv_i::MakeFilletAll" );
3030 //=============================================================================
3032 //=============================================================================
3033 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
3035 GEOM::GEOM_List_ptr theEdges)
3037 beginService( " GEOM_Superv_i::MakeFilletEdges" );
3038 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
3039 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3040 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3042 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
3043 endService( " GEOM_Superv_i::MakeFilletEdges" );
3046 endService( " GEOM_Superv_i::MakeFilletEdges" );
3050 //=============================================================================
3051 // MakeFilletEdges R1 R2:
3052 //=============================================================================
3053 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3054 CORBA::Double theR1,
3055 CORBA::Double theR2,
3056 GEOM::GEOM_List_ptr theEdges)
3058 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3059 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3060 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3061 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3063 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3064 theR2, aListImplE->GetList());
3065 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3068 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3072 //=============================================================================
3074 //=============================================================================
3075 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3077 GEOM::GEOM_List_ptr theFaces)
3079 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3080 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3081 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3082 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3084 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3085 endService( " GEOM_Superv_i::MakeFilletFaces" );
3088 endService( " GEOM_Superv_i::MakeFilletFaces" );
3092 //=============================================================================
3093 // MakeFilletFaces R1 R2:
3094 //=============================================================================
3095 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3096 CORBA::Double theR1,
3097 CORBA::Double theR2,
3098 GEOM::GEOM_List_ptr theFaces)
3100 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3101 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3102 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3103 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3105 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3106 aListImplF->GetList());
3107 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3110 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3114 //=============================================================================
3116 //=============================================================================
3117 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3119 GEOM::GEOM_List_ptr theVertexes)
3121 beginService( " GEOM_Superv_i::MakeFillet2D" );
3122 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3123 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3124 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3126 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3127 endService( " GEOM_Superv_i::MakeFillet2D" );
3130 endService( " GEOM_Superv_i::MakeFillet2D" );
3134 //=============================================================================
3136 //=============================================================================
3137 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3139 GEOM::GEOM_List_ptr theVertexes,
3140 CORBA::Boolean doIgnoreSecantVertices)
3142 beginService( " GEOM_Superv_i::MakeFillet1D" );
3143 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3144 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3145 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3147 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3148 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3149 endService( " GEOM_Superv_i::MakeFillet1D" );
3152 endService( " GEOM_Superv_i::MakeFillet1D" );
3156 //=============================================================================
3158 //=============================================================================
3159 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3161 beginService( " GEOM_Superv_i::MakeChamferAll" );
3162 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3164 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3165 endService( " GEOM_Superv_i::MakeChamferAll" );
3169 //=============================================================================
3171 //=============================================================================
3172 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3173 CORBA::Double theD1, CORBA::Double theD2,
3174 CORBA::Long theFace1, CORBA::Long theFace2)
3176 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3177 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3179 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3180 endService( " GEOM_Superv_i::MakeChamferEdge" );
3184 //=============================================================================
3185 // MakeChamferEdgeAD:
3186 //=============================================================================
3187 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3188 CORBA::Double theD, CORBA::Double theAngle,
3189 CORBA::Long theFace1, CORBA::Long theFace2)
3191 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3192 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3194 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3195 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3199 //=============================================================================
3200 // MakeChamferFaces:
3201 //=============================================================================
3202 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3203 CORBA::Double theD1, CORBA::Double theD2,
3204 GEOM::GEOM_List_ptr theFaces)
3206 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3207 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3208 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3209 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3211 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3212 endService( " GEOM_Superv_i::MakeChamferFaces" );
3215 endService( " GEOM_Superv_i::MakeChamferFaces" );
3219 //=============================================================================
3220 // MakeChamferFacesAD:
3221 //=============================================================================
3222 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3223 CORBA::Double theD, CORBA::Double theAngle,
3224 GEOM::GEOM_List_ptr theFaces)
3226 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3227 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3228 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3229 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3231 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3232 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3235 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3239 //=============================================================================
3240 // MakeChamferEdges:
3241 //=============================================================================
3242 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3243 CORBA::Double theD1, CORBA::Double theD2,
3244 GEOM::GEOM_List_ptr theEdges)
3246 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3247 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3248 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3249 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3251 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3252 endService( " GEOM_Superv_i::MakeChamferEdges" );
3255 endService( " GEOM_Superv_i::MakeChamferEdges" );
3259 //=============================================================================
3260 // MakeChamferEdgesAD:
3261 //=============================================================================
3262 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3263 CORBA::Double theD, CORBA::Double theAngle,
3264 GEOM::GEOM_List_ptr theEdges)
3266 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3267 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3268 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3269 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3271 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3272 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3275 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3279 //=============================================================================
3281 //=============================================================================
3282 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3283 CORBA::Double theWeight,
3284 CORBA::Double theWaterDensity,
3285 CORBA::Double theMeshingDeflection)
3287 beginService( " GEOM_Superv_i::MakeArchimede" );
3288 MESSAGE("GEOM_Superv_i::MakeArchimede");
3290 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3291 endService( " GEOM_Superv_i::MakeArchimede" );
3295 //=============================================================================
3296 // GetSubShapeIndexMakeFilletAll:
3297 //=============================================================================
3298 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3299 GEOM::GEOM_Object_ptr theSubShape)
3301 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3302 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3304 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3305 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3309 //=============================== GroupOperations =============================
3310 //=============================================================================
3312 //=============================================================================
3313 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3314 CORBA::Long theShapeType)
3316 beginService( " GEOM_Superv_i::CreateGroup" );
3317 MESSAGE("GEOM_Superv_i::CreateGroup");
3319 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3320 endService( " GEOM_Superv_i::CreateGroup" );
3324 //=============================================================================
3326 //=============================================================================
3327 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3328 CORBA::Long theSubShapeId)
3330 beginService( " GEOM_Superv_i::AddObject" );
3331 MESSAGE("GEOM_Superv_i::AddObject");
3333 myGroupOp->AddObject(theGroup, theSubShapeId);
3334 endService( " GEOM_Superv_i::AddObject" );
3337 //=============================================================================
3339 //=============================================================================
3340 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3341 CORBA::Long theSubShapeId)
3343 beginService( " GEOM_Superv_i::RemoveObject" );
3344 MESSAGE("GEOM_Superv_i::RemoveObject");
3346 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3347 endService( " GEOM_Superv_i::RemoveObject" );
3350 //=============================================================================
3352 //=============================================================================
3353 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3355 beginService( " GEOM_Superv_i::GetType" );
3356 MESSAGE("GEOM_Superv_i::GetType");
3358 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3359 endService( " GEOM_Superv_i::GetType" );
3363 //=============================================================================
3365 //=============================================================================
3366 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3368 beginService( " GEOM_Superv_i::GetMainShape" );
3369 MESSAGE("GEOM_Superv_i::GetMainShape");
3371 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3372 endService( " GEOM_Superv_i::GetMainShape" );
3376 //=============================================================================
3378 //=============================================================================
3379 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3381 beginService( " GEOM_Superv_i::GetObjects" );
3382 MESSAGE("GEOM_Superv_i::GetObjects");
3385 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3386 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3387 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3388 endService( " GEOM_Superv_i::GetObjects" );
3389 return aListPtr->_this();
3392 //=============================== Import/Export Operations =============================
3393 //=============================================================================
3395 //=============================================================================
3396 void GEOM_Superv_i::ExportSTL( GEOM::GEOM_Object_ptr theObject,
3397 const char* theFileName,
3398 const bool theIsASCII,
3399 CORBA::Double theDeflection,
3400 const bool theIsRelative )
3402 beginService( " GEOM_Superv_i::ExportSTL" );
3403 MESSAGE("GEOM_Superv_i::ExportSTL");
3405 mySTLOp->ExportSTL( theObject, theFileName, theIsASCII, theDeflection, theIsRelative );
3406 endService( " GEOM_Superv_i::ExportSTL" );
3409 //=============================================================================
3411 //=============================================================================
3412 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTL( const char* theFileName )
3414 beginService( " GEOM_Superv_i::ImportSTL" );
3415 MESSAGE("GEOM_Superv_i::ImportSTL");
3417 GEOM::ListOfGO* aSeq = mySTLOp->ImportSTL(theFileName );
3418 GEOM::GEOM_Object_ptr anObj;
3420 if (aSeq->length() > 0) {
3421 anObj = aSeq->operator[](0);
3424 endService( " GEOM_Superv_i::ImportSTL" );
3428 //=============================================================================
3430 //=============================================================================
3431 void GEOM_Superv_i::ExportBREP( GEOM::GEOM_Object_ptr theObject,
3432 const char* theFileName )
3434 beginService( " GEOM_Superv_i::ExportBREP" );
3435 MESSAGE("GEOM_Superv_i::ExportBREP");
3437 myBREPOp->ExportBREP( theObject, theFileName );
3438 endService( " GEOM_Superv_i::ExportBREP" );
3441 //=============================================================================
3443 //=============================================================================
3444 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportBREP( const char* theFileName )
3446 beginService( " GEOM_Superv_i::ImportBREP" );
3447 MESSAGE("GEOM_Superv_i::ImportBREP");
3449 GEOM::ListOfGO* aSeq = myBREPOp->ImportBREP(theFileName );
3450 GEOM::GEOM_Object_ptr anObj;
3452 if (aSeq->length() > 0) {
3453 anObj = aSeq->operator[](0);
3456 endService( " GEOM_Superv_i::ImportBREP" );
3460 //=============================================================================
3462 //=============================================================================
3463 void GEOM_Superv_i::ExportSTEP( GEOM::GEOM_Object_ptr theObject,
3464 const char* theFileName )
3466 beginService( " GEOM_Superv_i::ExportSTEP" );
3467 MESSAGE("GEOM_Superv_i::ExportSTEP");
3470 const GEOM::length_unit aUnit = GEOM::LU_METER;
3472 mySTEPOp->ExportSTEP( theObject, theFileName, aUnit );
3473 endService( " GEOM_Superv_i::ExportSTEP" );
3476 //=============================================================================
3478 //=============================================================================
3479 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTEP( const char* theFileName,
3480 const bool theIsIgnoreUnits )
3482 beginService( " GEOM_Superv_i::ImportSTEP" );
3483 MESSAGE("GEOM_Superv_i::ImportSTEP");
3485 GEOM::ListOfGO* aSeq = mySTEPOp->ImportSTEP(theFileName, theIsIgnoreUnits, false );
3486 GEOM::GEOM_Object_ptr anObj;
3488 if (aSeq->length() > 0) {
3489 anObj = aSeq->operator[](0);
3492 endService( " GEOM_Superv_i::ImportSTEP" );
3496 //=============================================================================
3498 //=============================================================================
3499 void GEOM_Superv_i::ExportIGES( GEOM::GEOM_Object_ptr theObject,
3500 const char* theFileName,
3501 const char* theVersion )
3503 beginService( " GEOM_Superv_i::ExportIGES" );
3504 MESSAGE("GEOM_Superv_i::ExportIGES");
3506 myIGESOp->ExportIGES( theObject, theFileName, theVersion );
3507 endService( " GEOM_Superv_i::ExportIGES" );
3510 //=============================================================================
3512 //=============================================================================
3513 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportIGES( const char* theFileName,
3514 const bool theIsIgnoreUnits )
3516 beginService( " GEOM_Superv_i::ImportIGES" );
3517 MESSAGE("GEOM_Superv_i::ImportIGES");
3519 GEOM::ListOfGO* aSeq = myIGESOp->ImportIGES(theFileName, theIsIgnoreUnits );
3520 GEOM::GEOM_Object_ptr anObj;
3522 if (aSeq->length() > 0) {
3523 anObj = aSeq->operator[](0);
3526 endService( " GEOM_Superv_i::ImportIGES" );
3530 //=============================================================================
3532 //=============================================================================
3533 CORBA::Boolean GEOM_Superv_i::ExportXAO( GEOM::GEOM_Object_ptr shape,
3534 const GEOM::ListOfGO& groups,
3535 const GEOM::ListOfFields& fields,
3537 const char* fileName,
3538 const char* shapeFileName )
3540 beginService( " GEOM_Superv_i::ExportXAO" );
3541 MESSAGE("GEOM_Superv_i::ExportXAO");
3543 CORBA::Boolean isGood = myXAOOp->ExportXAO( shape, groups, fields, author, fileName, shapeFileName );
3544 endService( " GEOM_Superv_i::ExportXAO" );
3548 //=============================================================================
3550 //=============================================================================
3551 CORBA::Boolean GEOM_Superv_i::ImportXAO( const char* fileName,
3552 GEOM::GEOM_Object_out shape,
3553 GEOM::ListOfGO_out subShapes,
3554 GEOM::ListOfGO_out groups,
3555 GEOM::ListOfFields_out fields )
3561 //=============================================================================
3563 //=============================================================================
3564 void GEOM_Superv_i::ExportVTK( GEOM::GEOM_Object_ptr theObject,
3565 const char* theFileName,
3566 CORBA::Double theDeflection )
3569 beginService( " GEOM_Superv_i::ExportVTK" );
3570 MESSAGE("GEOM_Superv_i::ExportVTK");
3572 myVTKOp->ExportVTK( theObject, theFileName, theDeflection );
3573 endService( " GEOM_Superv_i::ExportVTK" );
3575 std::string message("GEOM_Superv_i::ExportVTK functionality is unavailable");
3576 THROW_SALOME_CORBA_EXCEPTION(message.c_str(), SALOME::INTERNAL_ERROR);
3580 //=============================== Advanced Operations =============================
3581 //=============================================================================
3583 //=============================================================================
3584 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3585 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3586 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3587 CORBA::Boolean theHexMesh)
3589 beginService( " GEOM_Superv_i::MakePipeTShape" );
3590 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3593 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3594 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3595 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3596 endService( " GEOM_Superv_i::MakePipeTShape" );
3597 return aSeqPtr->_this();
3600 //=============================================================================
3601 // MakePipeTShapeWithPosition
3602 //=============================================================================
3603 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3604 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3605 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3606 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3608 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3609 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3612 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3613 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3614 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3615 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3616 return aSeqPtr->_this();
3619 //=============================================================================
3620 // MakePipeTShapeChamfer
3621 //=============================================================================
3622 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3623 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3624 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3625 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3627 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3628 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3631 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3632 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3633 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3634 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3635 return aSeqPtr->_this();
3638 //=============================================================================
3639 // MakePipeTShapeChamferWithPosition
3640 //=============================================================================
3641 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3642 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3643 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3644 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3645 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3647 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3648 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3651 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3652 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3653 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3654 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3655 return aSeqPtr->_this();
3658 //=============================================================================
3659 // MakePipeTShapeFillet
3660 //=============================================================================
3661 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3662 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3663 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3664 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3666 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3667 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3670 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3671 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3672 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3673 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3674 return aSeqPtr->_this();
3677 //=============================================================================
3678 // MakePipeTShapeFilletWithPosition
3679 //=============================================================================
3680 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3681 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3682 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3683 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3684 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3686 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3687 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3690 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3691 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3692 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3693 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3694 return aSeqPtr->_this();
3697 //=============================================================================
3699 //=============================================================================
3700 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3701 CORBA::Short theOrientation, GEOM::pattern thePattern)
3703 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3704 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3706 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3707 endService( " GEOM_Superv_i::MakeDividedDisk" );
3711 //=============================================================================
3712 // MakeDividedCylinder
3713 //=============================================================================
3714 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3716 GEOM::pattern thePattern)
3718 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3719 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3721 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3722 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3726 //=============================================================================
3727 // MakeSmoothingSurface
3728 //=============================================================================
3729 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3731 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3732 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3734 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3735 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3737 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3738 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3741 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3745 /*@@ insert new functions before this line @@ do not remove this line @@*/
3747 //=====================================================================================
3749 //=====================================================================================
3753 __declspec( dllexport )
3755 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3756 PortableServer::POA_ptr poa,
3757 PortableServer::ObjectId * contId,
3758 const char *instanceName,
3759 const char * interfaceName)
3761 GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
3762 //Don't understand the reason why this component is registered ???
3763 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3764 return myGEOM_Superv_i->getId() ;