1 // Copyright (C) 2007-2022 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"
26 #include "SALOME_Fake_NamingService.hxx"
27 #include "SALOME_Container_i.hxx"
29 #include CORBA_SERVER_HEADER(SALOME_Session)
30 #include "SALOMEDSClient_ClientFactory.hxx"
32 #define isNewStudy(a,b) (a > 0 && a != b)
34 //=============================================================================
36 //=============================================================================
37 GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
38 PortableServer::POA_ptr poa,
39 PortableServer::ObjectId * contId,
40 const char *instanceName,
41 const char *interfaceName, bool withRegistry,
42 SALOME_NamingService_Abstract *my_name_service):name_service(my_name_service),Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, withRegistry)
44 MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
47 _id = _poa->activate_object(_thisObj);
48 //get RootPOA (the default)
49 //myPOA = PortableServer::RefCountServantBase::_default_POA();
50 CORBA::Object_var anObj = _orb->resolve_initial_references("RootPOA");
51 myPOA = PortableServer::POA::_narrow(anObj);
55 myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
56 my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
57 myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
58 myInsOp = GEOM::GEOM_IInsertOperations::_nil();
59 myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
60 myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
61 myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
62 myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
63 myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
64 myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
67 //=============================================================================
69 //=============================================================================
70 GEOM_Superv_i::~GEOM_Superv_i()
72 MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
73 if (!CORBA::is_nil(myBasicOp))
74 myBasicOp->UnRegister();
75 if (!CORBA::is_nil(myBoolOp))
76 myBoolOp->UnRegister();
77 if (!CORBA::is_nil(my3DPrimOp))
78 my3DPrimOp->UnRegister();
82 //============================================================================
83 // function : register()
84 // purpose : register 'name' in 'name_service'
85 //============================================================================
86 void GEOM_Superv_i::register_name(char * name)
88 GEOM::GEOM_Superv_var g = _this();
89 name_service->Register(g, name);
92 //=============================================================================
94 //=============================================================================
95 void GEOM_Superv_i::setGeomEngine()
97 if ( !CORBA::is_nil(myGeomEngine) )
100 // get GEOM_Gen engine
101 Engines::Container_var cont=GetContainerRef();
102 CORBA::String_var container_name=cont->name();
103 std::string shortName=container_name.in();
104 shortName=shortName.substr(12); // substract "/Containers/"
105 SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
106 Engines::EngineComponent_var comp = lcc->FindOrLoad_Component( shortName.c_str(), "GEOM" );
109 myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
112 //=============================================================================
114 //=============================================================================
115 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfGO()
117 MESSAGE("GEOM_Superv_i::CreateListOfGO()");
118 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>();
119 return aListPtr->_this();
122 //=============================================================================
123 // AddItemToListOfGO:
124 //=============================================================================
125 void GEOM_Superv_i::AddItemToListOfGO(GEOM::GEOM_List_ptr& theList,
126 GEOM::GEOM_Object_ptr theObject)
128 MESSAGE("GEOM_Superv_i::AddItemToListOfGO(...)");
129 GEOM::GEOM_Object_var anObj = GEOM::GEOM_Object::_duplicate(theObject);
130 if (GEOM_List_i<GEOM::ListOfGO>* aList =
131 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theList, myPOA).in())) {
132 aList->AddObject(anObj);
133 MESSAGE(" NewLength = "<<aList->GetList().length());
137 //=============================================================================
139 //=============================================================================
140 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong()
142 MESSAGE("GEOM_Superv_i::CreateListOfLong()");
143 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>();
144 return aListPtr->_this();
147 //=============================================================================
148 // AddItemToListOfLong:
149 //=============================================================================
150 void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList,
151 CORBA::Long theObject)
153 MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)");
154 if (GEOM_List_i<GEOM::ListOfLong>* aList =
155 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theList, myPOA).in())) {
156 aList->AddObject(theObject);
157 MESSAGE(" NewLength = "<<aList->GetList().length());
161 //=============================================================================
162 // CreateListOfDouble:
163 //=============================================================================
164 GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble()
166 MESSAGE("GEOM_Superv_i::CreateListOfDouble()");
167 GEOM_List_i<GEOM::ListOfDouble>* aListPtr = new GEOM_List_i<GEOM::ListOfDouble>();
168 return aListPtr->_this();
171 //=============================================================================
172 // AddItemToListOfDouble:
173 //=============================================================================
174 void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList,
175 CORBA::Double theObject)
177 MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)");
178 if (GEOM_List_i<GEOM::ListOfDouble>* aList =
179 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theList, myPOA).in())) {
180 aList->AddObject(theObject);
181 MESSAGE(" NewLength = "<<aList->GetList().length());
185 //=============================================================================
187 //=============================================================================
188 void GEOM_Superv_i::getBasicOp()
190 if (CORBA::is_nil(myGeomEngine))
192 // get GEOM_IBasicOperations interface
193 if (CORBA::is_nil(myBasicOp)) {
194 myBasicOp = myGeomEngine->GetIBasicOperations();
198 //=============================================================================
200 //=============================================================================
201 void GEOM_Superv_i::get3DPrimOp()
203 if (CORBA::is_nil(myGeomEngine))
205 // get GEOM_I3DPrimOperations interface
206 if (CORBA::is_nil(my3DPrimOp)) {
207 my3DPrimOp = myGeomEngine->GetI3DPrimOperations();
211 //=============================================================================
213 //=============================================================================
214 void GEOM_Superv_i::getBoolOp()
216 if (CORBA::is_nil(myGeomEngine))
218 // get GEOM_IBooleanOperations interface
219 if (CORBA::is_nil(myBoolOp)) {
220 myBoolOp = myGeomEngine->GetIBooleanOperations();
224 //=============================================================================
226 //=============================================================================
227 void GEOM_Superv_i::getInsOp()
229 if (CORBA::is_nil(myGeomEngine))
231 // get GEOM_IInsertOperations interface
232 if (CORBA::is_nil(myInsOp)) {
233 myInsOp = myGeomEngine->GetIInsertOperations();
237 //=============================================================================
239 //=============================================================================
240 void GEOM_Superv_i::getTransfOp()
242 if (CORBA::is_nil(myGeomEngine))
244 // get GEOM_ITransformOperations interface
245 if (CORBA::is_nil(myTransfOp)) {
246 myTransfOp = myGeomEngine->GetITransformOperations();
250 //=============================================================================
252 //=============================================================================
253 void GEOM_Superv_i::getShapesOp()
255 if (CORBA::is_nil(myGeomEngine))
257 // get GEOM_IShapesOperations interface
258 if (CORBA::is_nil(myShapesOp)) {
259 myShapesOp = myGeomEngine->GetIShapesOperations();
263 //=============================================================================
265 //=============================================================================
266 void GEOM_Superv_i::getBlocksOp()
268 if (CORBA::is_nil(myGeomEngine))
270 // get GEOM_IBlocksOperations interface
271 if (CORBA::is_nil(myBlocksOp)) {
272 myBlocksOp = myGeomEngine->GetIBlocksOperations();
276 //=============================================================================
278 //=============================================================================
279 void GEOM_Superv_i::getCurvesOp()
281 if (CORBA::is_nil(myGeomEngine))
283 // get GEOM_ICurvesOperations interface
284 if (CORBA::is_nil(myCurvesOp)) {
285 myCurvesOp = myGeomEngine->GetICurvesOperations();
289 //=============================================================================
291 //=============================================================================
292 void GEOM_Superv_i::getLocalOp()
294 if (CORBA::is_nil(myGeomEngine))
296 // get GEOM_ILocalOperations interface
297 if (CORBA::is_nil(myLocalOp)) {
298 myLocalOp = myGeomEngine->GetILocalOperations();
302 //=============================================================================
304 //=============================================================================
305 void GEOM_Superv_i::getGroupOp()
307 if (CORBA::is_nil(myGeomEngine))
309 // get GEOM_IGroupOperations interface
310 if (CORBA::is_nil(myGroupOp)) {
311 myGroupOp = myGeomEngine->GetIGroupOperations();
315 //=============================================================================
317 //=============================================================================
318 void GEOM_Superv_i::getAdvancedOp()
320 if (CORBA::is_nil(myGeomEngine))
322 // get GEOM::IAdvancedOperations interface
323 if (CORBA::is_nil(myAdvancedOp)) {
324 myAdvancedOp = GEOM::IAdvancedOperations::_narrow(myGeomEngine->GetPluginOperations("AdvancedEngine"));
328 //=============================================================================
330 //=============================================================================
331 void GEOM_Superv_i::getSTLPluginOp()
333 if (CORBA::is_nil(myGeomEngine))
335 // get GEOM::ISTLOperations interface
336 if (CORBA::is_nil(mySTLOp)) {
337 mySTLOp = GEOM::ISTLOperations::_narrow(myGeomEngine->GetPluginOperations("STLPluginEngine"));
341 //=============================================================================
343 //=============================================================================
344 void GEOM_Superv_i::getBREPPluginOp()
346 if (CORBA::is_nil(myGeomEngine))
348 // get GEOM:IBREPOperations interface
349 if (CORBA::is_nil(myBREPOp)) {
350 myBREPOp = GEOM::IBREPOperations::_narrow(myGeomEngine->GetPluginOperations("BREPPluginEngine"));
354 //=============================================================================
356 //=============================================================================
357 void GEOM_Superv_i::getSTEPPluginOp()
359 if (CORBA::is_nil(myGeomEngine))
361 // get GEOM::ISTEPOperations interface
362 if (CORBA::is_nil(mySTEPOp)) {
363 mySTEPOp = GEOM::ISTEPOperations::_narrow(myGeomEngine->GetPluginOperations("STEPPluginEngine"));
367 //=============================================================================
369 //=============================================================================
370 void GEOM_Superv_i::getIGESPluginOp()
372 if (CORBA::is_nil(myGeomEngine))
374 // get GEOM::IIGESOperations interface
375 if (CORBA::is_nil(myIGESOp)) {
376 myIGESOp = GEOM::IIGESOperations::_narrow(myGeomEngine->GetPluginOperations("IGESPluginEngine"));
380 //=============================================================================
382 //=============================================================================
383 void GEOM_Superv_i::getXAOPluginOp()
385 if (CORBA::is_nil(myGeomEngine))
387 // get GEOM::IXAOOperations interface
388 if (CORBA::is_nil(myXAOOp)) {
389 myXAOOp = GEOM::IXAOOperations::_narrow(myGeomEngine->GetPluginOperations("XAOPluginEngine"));
394 //=============================================================================
396 //=============================================================================
397 void GEOM_Superv_i::getVTKPluginOp()
399 if (CORBA::is_nil(myGeomEngine))
401 // get GEOM::IVTKOperations interface
402 if (CORBA::is_nil(myVTKOp)) {
403 myVTKOp = GEOM::IVTKOperations::_narrow(myGeomEngine->GetPluginOperations("VTKPluginEngine"));
408 //=============================================================================
410 //=============================================================================
411 PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr theObject,
412 PortableServer::POA_ptr thePOA)
414 if(CORBA::is_nil(theObject)) return NULL;
415 PortableServer::Servant aServant = thePOA->reference_to_servant(theObject);
419 //============================================================================
421 // purpose : save OCAF/Geom document
422 //============================================================================
423 SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr /*theComponent*/,
424 const char* /*theURL*/,
425 CORBA::Boolean /*isMultiFile*/)
427 SALOMEDS::TMPFile_var aStreamFile;
428 return aStreamFile._retn();
431 //============================================================================
432 // function : SaveASCII()
434 //============================================================================
435 SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr /*theComponent*/,
436 const char* /*theURL*/,
437 CORBA::Boolean /*isMultiFile*/)
439 SALOMEDS::TMPFile_var aStreamFile;
440 return aStreamFile._retn();
443 //============================================================================
446 //============================================================================
447 CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr /*theComponent*/,
448 const SALOMEDS::TMPFile& /*theStream*/,
449 const char* /*theURL*/,
450 CORBA::Boolean /*isMultiFile*/)
455 //============================================================================
456 // function : LoadASCII()
458 //============================================================================
459 CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr /*theComponent*/,
460 const SALOMEDS::TMPFile& /*theStream*/,
461 const char* /*theURL*/,
462 CORBA::Boolean /*isMultiFile*/)
467 //============================================================================
468 // function : Close()
470 //============================================================================
471 void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr /*theComponent*/)
475 //============================================================================
476 // function : ComponentDataType()
478 //============================================================================
479 char* GEOM_Superv_i::ComponentDataType()
484 //============================================================================
485 // function : IORToLocalPersistentID()
487 //============================================================================
488 char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr /*theSObject*/,
489 const char* /*IORString*/,
490 CORBA::Boolean /*isMultiFile*/,
491 CORBA::Boolean /*isASCII*/)
496 //============================================================================
497 // function : LocalPersistentIDToIOR()
498 // purpose : Create/Load CORBA object from a persistent ref (an entry)
499 // : Used when a study is loaded
500 // : The IOR (IORName) of object created is returned
501 //============================================================================
502 char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr /*theSObject*/,
503 const char* /*aLocalPersistentID*/,
504 CORBA::Boolean /*isMultiFile*/,
505 CORBA::Boolean /*isASCII*/)
510 //============================================================================
511 // function : CanPublishInStudy
513 //============================================================================
514 CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
516 if (CORBA::is_nil(myGeomEngine))
518 return myGeomEngine->CanPublishInStudy(theIOR);
521 //============================================================================
522 // function : PublishInStudy
524 //============================================================================
525 SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::SObject_ptr theSObject,
526 CORBA::Object_ptr theObject,
529 if (CORBA::is_nil(myGeomEngine))
531 return myGeomEngine->PublishInStudy(theSObject, theObject, theName);
534 //============================================================================
535 // function : PublishNamedShapesInStudy
537 //============================================================================
539 GEOM_Superv_i::PublishNamedShapesInStudy(//SALOMEDS::SObject_ptr theSObject,
540 CORBA::Object_ptr theObject)
542 if (CORBA::is_nil(myGeomEngine))
544 return myGeomEngine->PublishNamedShapesInStudy(theObject);
547 //============================================================================
548 // function : CanCopy()
550 //============================================================================
551 CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr /*theObject*/)
556 //============================================================================
557 // function : CopyFrom()
559 //============================================================================
560 SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr /*theObject*/, CORBA::Long& /*theObjectID*/)
562 SALOMEDS::TMPFile_var aStreamFile;
563 return aStreamFile._retn();
566 //============================================================================
567 // function : CanPaste()
569 //============================================================================
570 CORBA::Boolean GEOM_Superv_i::CanPaste(const char* /*theComponentName*/, CORBA::Long /*theObjectID*/)
575 //============================================================================
576 // function : PasteInto()
578 //============================================================================
579 SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& /*theStream*/,
580 CORBA::Long /*theObjectID*/,
581 SALOMEDS::SObject_ptr /*theObject*/)
583 SALOMEDS::SObject_var aNewSO;
584 return aNewSO._retn();
587 //================= Primitives Construction : BasicOperations =================
588 //=============================================================================
590 //=============================================================================
591 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
595 beginService( " GEOM_Superv_i::MakePointXYZ" );
596 MESSAGE("GEOM_Superv_i::MakePointXYZ");
598 // make vertex and return
599 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointXYZ(theX, theY, theZ);
600 endService( " GEOM_Superv_i::MakePointXYZ" );
604 //=============================================================================
605 // MakePointWithReference:
606 //=============================================================================
607 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
612 beginService( " GEOM_Superv_i::MakePointWithReference" );
613 MESSAGE("GEOM_Superv_i::MakePointWithReference");
615 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
616 endService( " GEOM_Superv_i::MakePointWithReference" );
620 //=============================================================================
622 //=============================================================================
623 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
624 CORBA::Double theParameter)
626 beginService( " GEOM_Superv_i::MakePointOnCurve" );
627 MESSAGE("GEOM_Superv_i::MakePointOnCurve");
629 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurve(theRefCurve, theParameter, false);
630 endService( " GEOM_Superv_i::MakePointOnCurve" );
634 //=============================================================================
635 // MakePointOnCurveByLength:
636 //=============================================================================
637 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
638 CORBA::Double theLength,
639 GEOM::GEOM_Object_ptr theStartPoint)
641 beginService( " GEOM_Superv_i::MakePointOnCurveByLength" );
642 MESSAGE("GEOM_Superv_i::MakePointOnCurveByLength");
644 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnCurveByLength(theRefCurve, theLength, theStartPoint);
645 endService( " GEOM_Superv_i::MakePointOnCurveByLength" );
649 //=============================================================================
650 // MakePointOnCurveByCoord
651 //=============================================================================
652 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurveByCoord (GEOM::GEOM_Object_ptr theRefCurve,
653 CORBA::Double theXParameter,
654 CORBA::Double theYParameter,
655 CORBA::Double theZParameter)
657 beginService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
658 MESSAGE("GEOM_Superv_i::MakePointOnCurveByCoord");
660 GEOM::GEOM_Object_ptr anObj =
661 myBasicOp->MakePointOnCurveByCoord(theRefCurve, theXParameter,
662 theYParameter, theZParameter);
663 endService( " GEOM_Superv_i::MakePointOnCurveByCoord" );
667 //=============================================================================
668 // MakePointOnSurface:
669 //=============================================================================
670 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurface (GEOM::GEOM_Object_ptr theRefSurface,
671 CORBA::Double theUParameter,
672 CORBA::Double theVParameter)
674 beginService( " GEOM_Superv_i::MakePointOnSurface" );
675 MESSAGE("GEOM_Superv_i::MakePointOnSurface");
677 GEOM::GEOM_Object_ptr anObj =
678 myBasicOp->MakePointOnSurface(theRefSurface, theUParameter, theVParameter);
679 endService( " GEOM_Superv_i::MakePointOnSurface" );
683 //=============================================================================
684 // MakePointOnSurfaceByCoord
685 //=============================================================================
686 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnSurfaceByCoord (GEOM::GEOM_Object_ptr theRefSurface,
687 CORBA::Double theXParameter,
688 CORBA::Double theYParameter,
689 CORBA::Double theZParameter)
691 beginService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
692 MESSAGE("GEOM_Superv_i::MakePointOnSurfaceByCoord");
694 GEOM::GEOM_Object_ptr anObj =
695 myBasicOp->MakePointOnSurfaceByCoord(theRefSurface, theXParameter,
696 theYParameter, theZParameter);
697 endService( " GEOM_Superv_i::MakePointOnSurfaceByCoord" );
701 //=============================================================================
702 // MakePointOnLinesIntersection:
703 //=============================================================================
704 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnLinesIntersection (GEOM::GEOM_Object_ptr theRefLine1,
705 GEOM::GEOM_Object_ptr theRefLine2)
707 beginService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
708 MESSAGE("GEOM_Superv_i::MakePointOnLinesIntersection");
710 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePointOnLinesIntersection(theRefLine1, theRefLine2);
711 endService( " GEOM_Superv_i::MakePointOnLinesIntersection" );
715 //=============================================================================
716 // MakeTangentOnCurve:
717 //=============================================================================
718 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
719 CORBA::Double theParameter)
721 beginService( " GEOM_Superv_i::MakeTangentOnCurve" );
722 MESSAGE("GEOM_Superv_i::MakeTangentOnCurve");
724 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentOnCurve(theRefCurve, theParameter);
725 endService( " GEOM_Superv_i::MakeTangentOnCurve" );
729 //=============================================================================
731 //=============================================================================
732 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
736 beginService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
737 MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
739 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
740 endService( " GEOM_Superv_i::MakeVectorDXDYDZ" );
744 //=============================================================================
746 //=============================================================================
747 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
748 GEOM::GEOM_Object_ptr thePnt2)
750 beginService( " GEOM_Superv_i::MakeVectorTwoPnt" );
751 MESSAGE("GEOM_Superv_i::MakeVector");
753 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
754 endService( " GEOM_Superv_i::MakeVectorTwoPnt" );
758 //=============================================================================
760 //=============================================================================
761 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
762 GEOM::GEOM_Object_ptr thePnt2)
764 beginService( " GEOM_Superv_i::MakeLineTwoPnt");
765 MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
767 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
768 endService( " GEOM_Superv_i::MakeLineTwoPnt");
772 //=============================================================================
774 //=============================================================================
775 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoFaces (GEOM::GEOM_Object_ptr theFace1,
776 GEOM::GEOM_Object_ptr theFace2)
778 beginService( " GEOM_Superv_i::MakeLineTwoFaces");
779 MESSAGE("GEOM_Superv_i::MakeLineTwoFaces");
781 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeLineTwoFaces(theFace1, theFace2);
782 endService( " GEOM_Superv_i::MakeLineTwoFaces");
786 //=============================================================================
787 // MakePlaneThreePnt:
788 //=============================================================================
789 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
790 GEOM::GEOM_Object_ptr thePnt2,
791 GEOM::GEOM_Object_ptr thePnt3,
792 CORBA::Double theTrimSize)
794 beginService( " GEOM_Superv_i::MakePlaneThreePnt");
795 MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
797 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
798 endService( " GEOM_Superv_i::MakePlaneThreePnt");
802 //=============================================================================
804 //=============================================================================
805 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
806 GEOM::GEOM_Object_ptr theVec,
807 CORBA::Double theTrimSize)
809 beginService( " GEOM_Superv_i::MakePlanePntVec" );
810 MESSAGE("GEOM_Superv_i::MakePlanePntVec");
812 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
813 endService( " GEOM_Superv_i::MakePlanePntVec" );
817 //=============================================================================
819 //=============================================================================
820 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
821 CORBA::Double theTrimSize)
823 beginService( " GEOM_Superv_i::MakePlaneFace" );
824 MESSAGE("GEOM_Superv_i::MakePlaneFace");
826 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneFace(theFace, theTrimSize);
827 endService( " GEOM_Superv_i::MakePlaneFace" );
831 //=============================================================================
833 //=============================================================================
834 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlane2Vec (GEOM::GEOM_Object_ptr theVec1,
835 GEOM::GEOM_Object_ptr theVec2,
836 CORBA::Double theTrimSize)
838 beginService( " GEOM_Superv_i::MakePlane2Vec" );
839 MESSAGE("GEOM_Superv_i::MakePlane2Vec");
841 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlane2Vec(theVec1, theVec2, theTrimSize);
842 endService( " GEOM_Superv_i::MakePlane2Vec" );
846 //=============================================================================
848 //=============================================================================
849 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneLCS (GEOM::GEOM_Object_ptr theLCS,
850 CORBA::Double theTrimSize,
851 CORBA::Double theOrientation)
853 beginService( " GEOM_Superv_i::MakePlaneLCS" );
854 MESSAGE("GEOM_Superv_i::MakePlaneLCS");
856 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakePlaneLCS(theLCS, theTrimSize, theOrientation);
857 endService( " GEOM_Superv_i::MakePlaneLCS" );
861 //=============================================================================
863 //=============================================================================
864 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker
865 (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
866 CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
867 CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
869 beginService( " GEOM_Superv_i::MakeMarker" );
870 MESSAGE("GEOM_Superv_i::MakeMarker");
872 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
873 endService( " GEOM_Superv_i::MakeMarker" );
877 //=============================================================================
878 // MakeMarkerFromShape:
879 //=============================================================================
880 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerFromShape (GEOM::GEOM_Object_ptr theShape)
882 beginService( " GEOM_Superv_i::MakeMarkerFromShape" );
883 MESSAGE("GEOM_Superv_i::MakeMarkerFromShape");
885 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerFromShape(theShape);
886 endService( " GEOM_Superv_i::MakeMarkerFromShape" );
890 //=============================================================================
891 // MakeMarkerPntTwoVec:
892 //=============================================================================
893 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarkerPntTwoVec (GEOM::GEOM_Object_ptr theOrigin,
894 GEOM::GEOM_Object_ptr theXVec,
895 GEOM::GEOM_Object_ptr theYVec)
897 beginService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
898 MESSAGE("GEOM_Superv_i::MakeMarkerPntTwoVec");
900 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeMarkerPntTwoVec(theOrigin, theXVec, theYVec);
901 endService( " GEOM_Superv_i::MakeMarkerPntTwoVec" );
905 //=============================================================================
906 // MakeTangentPlaneOnFace:
907 //=============================================================================
908 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTangentPlaneOnFace (GEOM::GEOM_Object_ptr theFace,
909 CORBA::Double theParameterU,
910 CORBA::Double theParameterV,
911 CORBA::Double theTrimSize)
913 beginService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
914 MESSAGE("GEOM_Superv_i::MakeTangentPlaneOnFace");
916 GEOM::GEOM_Object_ptr anObj = myBasicOp->MakeTangentPlaneOnFace(theFace, theParameterU,theParameterV,theTrimSize);
917 endService( " GEOM_Superv_i::MakeTangentPlaneOnFace" );
921 //================= Primitives Construction : 3DPrimOperations ================
922 //=============================================================================
924 //=============================================================================
925 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
932 beginService( " GEOM_Superv_i::MakeBox" );
933 MESSAGE("GEOM_Superv_i::MakeBox");
936 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
937 myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
938 endService( " GEOM_Superv_i::MakeBox" );
942 //=============================================================================
944 //=============================================================================
945 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX,
949 beginService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
950 MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
952 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
953 endService( " GEOM_Superv_i::MakeBoxDXDYDZ" );
957 //=============================================================================
959 //=============================================================================
960 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
961 GEOM::GEOM_Object_ptr thePnt2)
963 beginService( " GEOM_Superv_i::MakeBoxTwoPnt" );
964 MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
966 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
967 endService( " GEOM_Superv_i::MakeBoxTwoPnt" );
971 //=============================================================================
973 //=============================================================================
974 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceHW (CORBA::Double theH,
976 CORBA::Short theOrientation)
978 beginService( " GEOM_Superv_i::MakeFaceHW" );
979 MESSAGE("GEOM_Superv_i::MakeFaceHW");
981 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceHW(theH, theW, theOrientation);
982 endService( " GEOM_Superv_i::MakeFaceHW" );
986 //=============================================================================
988 //=============================================================================
989 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceObjHW (GEOM::GEOM_Object_ptr theObj,
993 beginService( " GEOM_Superv_i::MakeFaceObjHW" );
994 MESSAGE("GEOM_Superv_i::MakeFaceObjHW");
996 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFaceObjHW(theObj, theH, theW);
997 endService( " GEOM_Superv_i::MakeFaceObjHW" );
1001 //=============================================================================
1003 //=============================================================================
1004 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskPntVecR (GEOM::GEOM_Object_ptr theCenter,
1005 GEOM::GEOM_Object_ptr theVector,
1008 beginService( " GEOM_Superv_i::MakeDiskPntVecR" );
1009 MESSAGE("GEOM_Superv_i::MakeDiskPntVecR");
1011 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskPntVecR(theCenter, theVector, theR);
1012 endService( " GEOM_Superv_i::MakeDiskPntVecR" );
1016 //=============================================================================
1017 // MakeDiskThreePnt:
1018 //=============================================================================
1019 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskThreePnt (GEOM::GEOM_Object_ptr thePnt1,
1020 GEOM::GEOM_Object_ptr thePnt2,
1021 GEOM::GEOM_Object_ptr thePnt3)
1023 beginService( " GEOM_Superv_i::MakeDiskThreePnt" );
1024 MESSAGE("GEOM_Superv_i::MakeDiskThreePnt");
1026 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskThreePnt(thePnt1, thePnt2, thePnt3);
1027 endService( " GEOM_Superv_i::MakeDiskThreePnt" );
1031 //=============================================================================
1033 //=============================================================================
1034 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDiskR (CORBA::Double theR,
1035 CORBA::Short theOrientation)
1037 beginService( " GEOM_Superv_i::MakeDiskR" );
1038 MESSAGE("GEOM_Superv_i::MakeDiskR");
1040 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeDiskR(theR, theOrientation);
1041 endService( " GEOM_Superv_i::MakeDiskR" );
1045 //=============================================================================
1046 // MakeCylinderPntVecRH:
1047 //=============================================================================
1048 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
1049 GEOM::GEOM_Object_ptr theAxis,
1050 CORBA::Double theRadius,
1051 CORBA::Double theHeight)
1053 beginService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1054 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
1056 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight);
1057 endService( " GEOM_Superv_i::MakeCylinderPntVecRH" );
1061 //=============================================================================
1063 //=============================================================================
1064 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR,
1067 beginService( " GEOM_Superv_i::MakeCylinderRH" );
1068 MESSAGE("GEOM_Superv_i::MakeCylinderRH");
1070 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRH(theR, theH);
1071 endService( " GEOM_Superv_i::MakeCylinderRH" );
1075 //=============================================================================
1076 // MakeCylinderPntVecRHA:
1077 //=============================================================================
1078 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRHA (GEOM::GEOM_Object_ptr thePnt,
1079 GEOM::GEOM_Object_ptr theAxis,
1080 CORBA::Double theRadius,
1081 CORBA::Double theHeight,
1082 CORBA::Double theAngle)
1084 beginService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1085 MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRHA");
1087 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderPntVecRHA(thePnt, theAxis, theRadius, theHeight, theAngle);
1088 endService( " GEOM_Superv_i::MakeCylinderPntVecRHA" );
1092 //=============================================================================
1094 //=============================================================================
1095 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRHA (CORBA::Double theR,
1099 beginService( " GEOM_Superv_i::MakeCylinderRHA" );
1100 MESSAGE("GEOM_Superv_i::MakeCylinderRHA");
1102 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeCylinderRHA(theR, theH, theA);
1103 endService( " GEOM_Superv_i::MakeCylinderRHA" );
1107 //=============================================================================
1109 //=============================================================================
1110 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX,
1113 CORBA::Double theRadius)
1115 beginService( " GEOM_Superv_i::MakeSphepe" );
1116 MESSAGE("GEOM_Superv_i::MakeSphepe");
1119 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
1120 endService( " GEOM_Superv_i::MakeSphepe" );
1124 //=============================================================================
1126 //=============================================================================
1127 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
1129 beginService( " GEOM_Superv_i::MakeSphereR" );
1130 MESSAGE("GEOM_Superv_i::MakeSphereR");
1132 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSphereR(theR);
1133 endService( " GEOM_Superv_i::MakeSphereR" );
1137 //=============================================================================
1139 //=============================================================================
1140 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt,
1143 beginService( " GEOM_Superv_i::MakeSpherePntR" );
1144 MESSAGE("GEOM_Superv_i::MakeSpherePntR");
1146 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(thePnt, theR);
1147 endService( " GEOM_Superv_i::MakeSpherePntR" );
1151 //=============================================================================
1152 // MakeTorusPntVecRR:
1153 //=============================================================================
1154 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
1155 GEOM::GEOM_Object_ptr theVec,
1156 CORBA::Double theRMajor,
1157 CORBA::Double theRMinor)
1159 beginService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1160 MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
1162 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
1163 endService( " GEOM_Superv_i::MakeTorusPntVecRR" );
1167 //=============================================================================
1169 //=============================================================================
1170 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor,
1171 CORBA::Double theRMinor)
1173 beginService( " GEOM_Superv_i::MakeTorusRR" );
1174 MESSAGE("GEOM_Superv_i::MakeTorusRR");
1176 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
1177 endService( " GEOM_Superv_i::MakeTorusRR" );
1181 //=============================================================================
1182 // MakeConePntVecR1R2H:
1183 //=============================================================================
1184 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
1185 GEOM::GEOM_Object_ptr theAxis,
1186 CORBA::Double theR1,
1187 CORBA::Double theR2,
1188 CORBA::Double theHeight)
1190 beginService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1191 MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
1193 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
1194 endService( " GEOM_Superv_i::MakeConePntVecR1R2H" );
1198 //=============================================================================
1200 //=============================================================================
1201 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1,
1202 CORBA::Double theR2,
1203 CORBA::Double theHeight)
1205 beginService( " GEOM_Superv_i::MakeConeR1R2H" );
1206 MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
1208 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
1209 endService( " GEOM_Superv_i::MakeConeR1R2H" );
1213 //=============================================================================
1215 //=============================================================================
1216 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
1217 GEOM::GEOM_Object_ptr theVec,
1220 beginService( " GEOM_Superv_i::MakePrismVecH" );
1221 MESSAGE("GEOM_Superv_i::MakePrismVecH");
1223 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
1224 endService( " GEOM_Superv_i::MakePrismVecH" );
1228 //=============================================================================
1229 // MakePrismVecH2Ways:
1230 //=============================================================================
1231 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH2Ways (GEOM::GEOM_Object_ptr theBase,
1232 GEOM::GEOM_Object_ptr theVec,
1235 beginService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1236 MESSAGE("GEOM_Superv_i::MakePrismVecH2Ways");
1238 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismVecH2Ways(theBase, theVec, theH);
1239 endService( " GEOM_Superv_i::MakePrismVecH2Ways" );
1243 //=============================================================================
1245 //=============================================================================
1246 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
1247 GEOM::GEOM_Object_ptr thePoint1,
1248 GEOM::GEOM_Object_ptr thePoint2)
1250 beginService( " GEOM_Superv_i::MakePrismTwoPnt" );
1251 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
1253 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
1254 endService( " GEOM_Superv_i::MakePrismTwoPnt" );
1258 //=============================================================================
1259 // MakePrismTwoPnt2Ways:
1260 //=============================================================================
1261 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt2Ways (GEOM::GEOM_Object_ptr theBase,
1262 GEOM::GEOM_Object_ptr thePoint1,
1263 GEOM::GEOM_Object_ptr thePoint2)
1265 beginService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1266 MESSAGE("GEOM_Superv_i::MakePrismTwoPnt2Ways");
1268 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismTwoPnt2Ways(theBase, thePoint1, thePoint2);
1269 endService( " GEOM_Superv_i::MakePrismTwoPnt2Ways" );
1273 //=============================================================================
1275 //=============================================================================
1276 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ (GEOM::GEOM_Object_ptr theBase,
1277 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1279 beginService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1280 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ");
1282 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ(theBase, theDX, theDY, theDZ);
1283 endService( " GEOM_Superv_i::MakePrismDXDYDZ" );
1287 //=============================================================================
1289 //=============================================================================
1290 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismDXDYDZ2Ways (GEOM::GEOM_Object_ptr theBase,
1291 CORBA::Double theDX, CORBA::Double theDY, CORBA::Double theDZ)
1293 beginService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1294 MESSAGE("GEOM_Superv_i::MakePrismDXDYDZ2Ways");
1296 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakePrismDXDYDZ2Ways(theBase, theDX, theDY, theDZ);
1297 endService( " GEOM_Superv_i::MakePrismDXDYDZ2Ways" );
1301 //=============================================================================
1303 //=============================================================================
1304 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase,
1305 GEOM::GEOM_Object_ptr thePath)
1307 beginService( " GEOM_Superv_i::MakePipe" );
1308 MESSAGE("GEOM_Superv_i::MakePipe");
1310 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipe(theBase, thePath, false);
1311 endService( " GEOM_Superv_i::MakePipe" );
1315 //=============================================================================
1316 // MakeRevolutionAxisAngle:
1317 //=============================================================================
1318 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
1319 GEOM::GEOM_Object_ptr theAxis,
1320 CORBA::Double theAngle)
1322 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1323 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
1325 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
1326 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle" );
1330 //=============================================================================
1331 // MakeRevolutionAxisAngle:
1332 //=============================================================================
1333 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Object_ptr theBase,
1334 GEOM::GEOM_Object_ptr theAxis,
1335 CORBA::Double theAngle)
1337 beginService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1338 MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle2Ways");
1340 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeRevolutionAxisAngle2Ways(theBase, theAxis, theAngle);
1341 endService( " GEOM_Superv_i::MakeRevolutionAxisAngle2Ways" );
1345 //=============================================================================
1347 //=============================================================================
1348 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
1349 CORBA::Long theMinDeg,
1350 CORBA::Long theMaxDeg,
1351 CORBA::Double theTol2D,
1352 CORBA::Double theTol3D,
1353 CORBA::Long theNbIter,
1354 GEOM::filling_oper_method theMethod,
1355 CORBA::Boolean theApprox)
1357 beginService( " GEOM_Superv_i::MakeFilling" );
1358 MESSAGE("GEOM_Superv_i::MakeFilling");
1360 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
1361 objList->length( 1 );
1362 objList[0] = theShape;
1363 GEOM::GEOM_Object_ptr anObj =
1364 my3DPrimOp->MakeFilling(objList, theMinDeg, theMaxDeg, theTol2D, theTol3D,
1365 theNbIter, theMethod, theApprox);
1366 endService( " GEOM_Superv_i::MakeFilling" );
1370 //============================= BooleanOperations =============================
1371 //=============================================================================
1373 //=============================================================================
1374 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean
1375 (GEOM::GEOM_Object_ptr theShape1,
1376 GEOM::GEOM_Object_ptr theShape2,
1377 CORBA::Long theOperation)
1379 beginService( " GEOM_Superv_i::MakeBoolean" );
1380 // theOperation indicates the operation to be done:
1381 // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section
1382 MESSAGE("GEOM_Superv_i::MakeBoolean");
1384 GEOM::GEOM_Object_ptr anObj =
1385 myBoolOp->MakeBoolean(theShape1, theShape2, theOperation, false);
1386 endService( " GEOM_Superv_i::MakeBoolean" );
1390 //=============================================================================
1391 // MakeThruSections:
1392 //=============================================================================
1393 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeThruSections(const GEOM::ListOfGO& theSeqSections,
1394 CORBA::Boolean theModeSolid,
1395 CORBA::Double thePreci,
1396 CORBA::Boolean theRuled)
1398 beginService( " GEOM_Superv_i::MakeThruSections" );
1399 MESSAGE("GEOM_Superv_i::MakeThruSections");
1401 GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeThruSections(theSeqSections, theModeSolid,thePreci,theRuled);
1402 endService( " GEOM_Superv_i::MakeThruSections" );
1406 //=============================================================================
1408 //=============================================================================
1409 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithDifferentSections
1410 (const GEOM::ListOfGO& theBases,
1411 const GEOM::ListOfGO& theLocations,
1412 GEOM::GEOM_Object_ptr thePath,
1413 CORBA::Boolean theWithContact,
1414 CORBA::Boolean theWithCorrections)
1416 beginService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1417 MESSAGE("GEOM_Superv_i::MakePipeWithDifferentSections");
1419 GEOM::ListOfGO_var aList = my3DPrimOp->MakePipeWithDifferentSections(theBases,theLocations, thePath,theWithContact,theWithCorrections, false, false);
1420 endService( " GEOM_Superv_i::MakePipeWithDifferentSections" );
1425 //=============================================================================
1427 //=============================================================================
1428 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeWithShellSections
1429 (const GEOM::ListOfGO& theBases,
1430 const GEOM::ListOfGO& theSubBases,
1431 const GEOM::ListOfGO& theLocations,
1432 GEOM::GEOM_Object_ptr thePath,
1433 CORBA::Boolean theWithContact,
1434 CORBA::Boolean theWithCorrections)
1436 beginService( " GEOM_Superv_i::MakePipeWithShellSections" );
1437 MESSAGE("GEOM_Superv_i::MakePipeWithShellSections");
1439 GEOM::ListOfGO_var aList =
1440 my3DPrimOp->MakePipeWithShellSections(theBases, theSubBases,
1441 theLocations, thePath,
1442 theWithContact, theWithCorrections,
1444 endService( " GEOM_Superv_i::MakePipeWithShellSections" );
1449 //=============================================================================
1451 //=============================================================================
1452 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeShellsWithoutPath
1453 (const GEOM::ListOfGO& theBases,
1454 const GEOM::ListOfGO& theLocations)
1456 beginService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1457 MESSAGE("GEOM_Superv_i::MakePipeShellsWithoutPath");
1459 GEOM::ListOfGO_var aList =
1460 my3DPrimOp->MakePipeShellsWithoutPath(theBases,theLocations, false);
1461 endService( " GEOM_Superv_i::MakePipeShellsWithoutPath" );
1466 //=============================================================================
1468 //=============================================================================
1469 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipeBiNormalAlongVector
1470 (GEOM::GEOM_Object_ptr theBase,
1471 GEOM::GEOM_Object_ptr thePath,
1472 GEOM::GEOM_Object_ptr theVec)
1474 beginService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1475 MESSAGE("GEOM_Superv_i::MakePipeBiNormalAlongVector");
1477 GEOM::ListOfGO_var aList =
1478 my3DPrimOp->MakePipeBiNormalAlongVector(theBase, thePath, theVec, false);
1479 endService( " GEOM_Superv_i::MakePipeBiNormalAlongVector" );
1484 //=============================================================================
1486 //=============================================================================
1487 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse
1488 (GEOM::GEOM_Object_ptr theShape1,
1489 GEOM::GEOM_Object_ptr theShape2)
1491 beginService( " GEOM_Superv_i::MakeFuse" );
1492 MESSAGE("GEOM_Superv_i::MakeFuse");
1494 GEOM::GEOM_Object_ptr anObj =
1495 myBoolOp->MakeBoolean(theShape1, theShape2, 3, false);
1496 endService( " GEOM_Superv_i::MakeFuse" );
1500 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCommon (GEOM::GEOM_Object_ptr theShape1,
1501 GEOM::GEOM_Object_ptr theShape2)
1503 beginService( " GEOM_Superv_i::MakeCommon" );
1504 MESSAGE("GEOM_Superv_i::MakeCommon");
1506 GEOM::GEOM_Object_ptr anObj =
1507 myBoolOp->MakeBoolean(theShape1, theShape2, 1, false);
1508 endService( " GEOM_Superv_i::MakeCommon" );
1512 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCut (GEOM::GEOM_Object_ptr theShape1,
1513 GEOM::GEOM_Object_ptr theShape2)
1515 beginService( " GEOM_Superv_i::MakeCut" );
1516 MESSAGE("GEOM_Superv_i::MakeCut");
1518 GEOM::GEOM_Object_ptr anObj =
1519 myBoolOp->MakeBoolean(theShape1, theShape2, 2, false);
1520 endService( " GEOM_Superv_i::MakeCut" );
1524 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSection (GEOM::GEOM_Object_ptr theShape1,
1525 GEOM::GEOM_Object_ptr theShape2)
1527 beginService( " GEOM_Superv_i::MakeCut" );
1528 MESSAGE("GEOM_Superv_i::MakeCut");
1530 GEOM::GEOM_Object_ptr anObj =
1531 myBoolOp->MakeBoolean(theShape1, theShape2, 4, false);
1532 endService( " GEOM_Superv_i::MakeCut" );
1536 //=============================================================================
1538 //=============================================================================
1539 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theShapes,
1540 GEOM::GEOM_List_ptr theTools,
1541 GEOM::GEOM_List_ptr theKeepInside,
1542 GEOM::GEOM_List_ptr theRemoveInside,
1543 CORBA::Short theLimit,
1544 CORBA::Boolean theRemoveWebs,
1545 GEOM::GEOM_List_ptr theMaterials,
1546 CORBA::Short theKeepNonlimitShapes)
1548 beginService( " GEOM_Superv_i::MakePartition" );
1549 MESSAGE("GEOM_Superv_i::MakePartition");
1550 GEOM_List_i<GEOM::ListOfGO>* aListImplS =
1551 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in());
1552 GEOM_List_i<GEOM::ListOfGO>* aListImplT =
1553 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theTools, myPOA).in());
1554 GEOM_List_i<GEOM::ListOfGO>* aListImplKI =
1555 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theKeepInside, myPOA).in());
1556 GEOM_List_i<GEOM::ListOfGO>* aListImplRI =
1557 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theRemoveInside, myPOA).in());
1558 GEOM_List_i<GEOM::ListOfLong>* aListImplM =
1559 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theMaterials, myPOA).in());
1560 if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) {
1562 GEOM::GEOM_Object_ptr anObj =
1563 myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(),
1564 aListImplKI->GetList(), aListImplRI->GetList(),
1565 theLimit, theRemoveWebs, aListImplM->GetList(),
1566 theKeepNonlimitShapes);
1567 endService( " GEOM_Superv_i::MakePartition" );
1570 endService( " GEOM_Superv_i::MakePartition" );
1574 //=============================================================================
1575 // MakeHalfPartition:
1576 //=============================================================================
1577 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
1578 GEOM::GEOM_Object_ptr thePlane)
1580 beginService( " GEOM_Superv_i::MakeHalfPartition" );
1581 MESSAGE("GEOM_Superv_i::MakeHalfPartition");
1583 GEOM::GEOM_Object_ptr anObj =
1584 myBoolOp->MakeHalfPartition(theShape, thePlane);
1585 endService( " GEOM_Superv_i::MakeHalfPartition" );
1589 //============================== InsertOperations =============================
1590 //=============================================================================
1592 //=============================================================================
1593 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
1595 beginService( " GEOM_Superv_i::MakeCopy" );
1596 MESSAGE("GEOM_Superv_i::MakeCopy");
1598 GEOM::GEOM_Object_ptr anObj = myInsOp->MakeCopy(theOriginal);
1599 endService( " GEOM_Superv_i::MakeCopy" );
1603 //=============================================================================
1605 //=============================================================================
1606 void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject,
1607 const char* theFileName,
1608 const char* theFormatName)
1610 beginService( " GEOM_Superv_i::Export" );
1611 MESSAGE("GEOM_Superv_i::Export");
1613 myInsOp->Export(theObject, theFileName, theFormatName);
1614 endService( " GEOM_Superv_i::Export" );
1617 //=============================================================================
1619 //=============================================================================
1620 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportFile (const char* theFileName,
1621 const char* theFormatName)
1623 beginService( " GEOM_Superv_i::ImportFile" );
1624 MESSAGE("GEOM_Superv_i::ImportFile");
1626 GEOM::ListOfGBO_var aSeq = myInsOp->ImportFile(theFileName, theFormatName);
1627 GEOM::GEOM_Object_var anObj;
1629 if (aSeq->length() > 0) {
1630 anObj = GEOM::GEOM_Object::_narrow(aSeq[0]);
1633 endService( " GEOM_Superv_i::ImportFile" );
1634 return anObj._retn();
1637 //============================= TransformOperations ===========================
1638 //=============================================================================
1639 // TranslateTwoPoints:
1640 //=============================================================================
1641 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
1642 GEOM::GEOM_Object_ptr thePoint1,
1643 GEOM::GEOM_Object_ptr thePoint2)
1645 beginService( " GEOM_Superv_i::TranslateTwoPoints" );
1646 MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
1648 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
1649 endService( " GEOM_Superv_i::TranslateTwoPoints" );
1653 //=============================================================================
1654 // TranslateTwoPointsCopy:
1655 //=============================================================================
1656 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
1657 GEOM::GEOM_Object_ptr thePoint1,
1658 GEOM::GEOM_Object_ptr thePoint2)
1660 beginService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1661 MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
1663 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
1664 endService( " GEOM_Superv_i::TranslateTwoPointsCopy" );
1668 //=============================================================================
1670 //=============================================================================
1671 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
1672 CORBA::Double theDX,
1673 CORBA::Double theDY,
1674 CORBA::Double theDZ)
1676 beginService( " GEOM_Superv_i::TranslateDXDYDZ" );
1677 MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
1679 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
1680 endService( " GEOM_Superv_i::TranslateDXDYDZ" );
1684 //=============================================================================
1685 // TranslateDXDYDZCopy:
1686 //=============================================================================
1687 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
1688 CORBA::Double theDX,
1689 CORBA::Double theDY,
1690 CORBA::Double theDZ)
1692 beginService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1693 MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
1695 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
1696 endService( " GEOM_Superv_i::TranslateDXDYDZCopy" );
1700 //=============================================================================
1702 //=============================================================================
1703 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
1704 GEOM::GEOM_Object_ptr theVector)
1706 beginService( " GEOM_Superv_i::TranslateVector" );
1707 MESSAGE("GEOM_Superv_i::TranslateVector");
1709 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVector(theObject, theVector);
1710 endService( " GEOM_Superv_i::TranslateVector" );
1714 //=============================================================================
1715 // TranslateVectorCopy:
1716 //=============================================================================
1717 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
1718 GEOM::GEOM_Object_ptr theVector)
1720 beginService( " GEOM_Superv_i::TranslateVectorCopy" );
1721 MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
1723 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorCopy(theObject, theVector);
1724 endService( " GEOM_Superv_i::TranslateVectorCopy" );
1728 //=============================================================================
1729 // TranslateVectorDistance:
1730 //=============================================================================
1731 GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorDistance (GEOM::GEOM_Object_ptr theObject,
1732 GEOM::GEOM_Object_ptr theVector,
1733 CORBA::Double theDistance,
1734 CORBA::Boolean theCopy)
1736 beginService( " GEOM_Superv_i::TranslateVectorDistance" );
1737 MESSAGE("GEOM_Superv_i::TranslateVectorDistance");
1739 GEOM::GEOM_Object_ptr anObj = myTransfOp->TranslateVectorDistance(theObject,
1740 theVector, theDistance, theCopy);
1741 endService( " GEOM_Superv_i::TranslateVectorDistance" );
1745 //=============================================================================
1746 // MultiTranslate1D:
1747 //=============================================================================
1748 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
1749 GEOM::GEOM_Object_ptr theVector,
1750 CORBA::Double theStep,
1751 CORBA::Long theNbTimes)
1753 beginService( " GEOM_Superv_i::MultiTranslate1D" );
1754 MESSAGE("GEOM_Superv_i::MultiTranslate1D");
1756 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
1757 endService( " GEOM_Superv_i::MultiTranslate1D" );
1761 //=============================================================================
1762 // MultiTranslate2D:
1763 //=============================================================================
1764 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
1765 GEOM::GEOM_Object_ptr theVector1,
1766 CORBA::Double theStep1,
1767 CORBA::Long theNbTimes1,
1768 GEOM::GEOM_Object_ptr theVector2,
1769 CORBA::Double theStep2,
1770 CORBA::Long theNbTimes2)
1772 beginService( " GEOM_Superv_i::MultiTranslate2D" );
1773 MESSAGE("GEOM_Superv_i::MultiTranslate2D");
1775 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
1776 theVector2, theStep2, theNbTimes2);
1777 endService( " GEOM_Superv_i::MultiTranslate2D" );
1781 //=============================================================================
1783 //=============================================================================
1784 GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
1785 GEOM::GEOM_Object_ptr theAxis,
1786 CORBA::Double theAngle)
1788 beginService( " GEOM_Superv_i::Rotate" );
1789 MESSAGE("GEOM_Superv_i::Rotate");
1791 GEOM::GEOM_Object_ptr anObj = myTransfOp->Rotate(theObject, theAxis, theAngle);
1792 endService( " GEOM_Superv_i::Rotate" );
1796 //=============================================================================
1798 //=============================================================================
1799 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
1800 GEOM::GEOM_Object_ptr theAxis,
1801 CORBA::Double theAngle)
1803 beginService( " GEOM_Superv_i::RotateCopy" );
1804 MESSAGE("GEOM_Superv_i::RotateCopy");
1806 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateCopy(theObject, theAxis, theAngle);
1807 endService( " GEOM_Superv_i::RotateCopy" );
1810 //=============================================================================
1811 // RotateThreePoints:
1812 //=============================================================================
1813 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePoints (GEOM::GEOM_Object_ptr theObject,
1814 GEOM::GEOM_Object_ptr theCentPoint,
1815 GEOM::GEOM_Object_ptr thePoint1,
1816 GEOM::GEOM_Object_ptr thePoint2)
1818 beginService( " GEOM_Superv_i::RotateThreePoints" );
1819 MESSAGE("GEOM_Superv_i::RotateThreePoints");
1821 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePoints(theObject, theCentPoint, thePoint1, thePoint2);
1822 endService( " GEOM_Superv_i::RotateThreePoints" );
1826 //=============================================================================
1827 // RotateThreePointsCopy:
1828 //=============================================================================
1829 GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateThreePointsCopy (GEOM::GEOM_Object_ptr theObject,
1830 GEOM::GEOM_Object_ptr theCentPoint,
1831 GEOM::GEOM_Object_ptr thePoint1,
1832 GEOM::GEOM_Object_ptr thePoint2)
1834 beginService( " GEOM_Superv_i::RotateThreePointsCopy" );
1835 MESSAGE("GEOM_Superv_i::RotateThreePointsCopy");
1837 GEOM::GEOM_Object_ptr anObj = myTransfOp->RotateThreePointsCopy(theObject, theCentPoint, thePoint1, thePoint2);
1838 endService( " GEOM_Superv_i::RotateThreePointsCopy" );
1842 //=============================================================================
1844 //=============================================================================
1845 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
1846 GEOM::GEOM_Object_ptr theAxis,
1847 CORBA::Long theNbTimes)
1849 beginService( " GEOM_Superv_i::MultiRotate1D" );
1850 MESSAGE("GEOM_Superv_i::MultiRotate1D");
1852 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
1853 endService( " GEOM_Superv_i::MultiRotate1D" );
1857 //=============================================================================
1859 //=============================================================================
1860 GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
1861 GEOM::GEOM_Object_ptr theAxis,
1862 CORBA::Double theAngle,
1863 CORBA::Long theNbTimes1,
1864 CORBA::Double theStep,
1865 CORBA::Long theNbTimes2)
1867 beginService( " GEOM_Superv_i::MultiRotate2D" );
1868 MESSAGE("GEOM_Superv_i::MultiRotate2D");
1870 GEOM::GEOM_Object_ptr anObj = myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
1871 endService( " GEOM_Superv_i::MultiRotate2D" );
1875 //=============================================================================
1877 //=============================================================================
1878 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject,
1879 GEOM::GEOM_Object_ptr thePlane)
1881 beginService( " GEOM_Superv_i::MirrorPlane" );
1882 MESSAGE("GEOM_Superv_i::MirrorPlane");
1884 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlane(theObject, thePlane);
1885 endService( " GEOM_Superv_i::MirrorPlane" );
1889 //=============================================================================
1891 //=============================================================================
1892 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject,
1893 GEOM::GEOM_Object_ptr thePlane)
1895 beginService( " GEOM_Superv_i::MirrorPlaneCopy" );
1896 MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
1898 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPlaneCopy(theObject, thePlane);
1899 endService( " GEOM_Superv_i::MirrorPlaneCopy" );
1903 //=============================================================================
1905 //=============================================================================
1906 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject,
1907 GEOM::GEOM_Object_ptr theAxis)
1909 beginService( " GEOM_Superv_i::MirrorAxis" );
1910 MESSAGE("GEOM_Superv_i::MirrorAxis");
1912 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxis(theObject, theAxis);
1913 endService( " GEOM_Superv_i::MirrorAxis" );
1917 //=============================================================================
1919 //=============================================================================
1920 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject,
1921 GEOM::GEOM_Object_ptr theAxis)
1923 beginService( " GEOM_Superv_i::MirrorAxisCopy" );
1924 MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
1926 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorAxisCopy(theObject, theAxis);
1927 endService( " GEOM_Superv_i::MirrorAxisCopy" );
1931 //=============================================================================
1933 //=============================================================================
1934 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject,
1935 GEOM::GEOM_Object_ptr thePoint)
1937 beginService( " GEOM_Superv_i::MirrorPoint" );
1938 MESSAGE("GEOM_Superv_i::MirrorPoint");
1940 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPoint(theObject, thePoint);
1941 endService( " GEOM_Superv_i::MirrorPoint" );
1945 //=============================================================================
1947 //=============================================================================
1948 GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject,
1949 GEOM::GEOM_Object_ptr thePoint)
1951 beginService( " GEOM_Superv_i::MirrorPoint" );
1952 MESSAGE("GEOM_Superv_i::MirrorPointCopy");
1954 GEOM::GEOM_Object_ptr anObj = myTransfOp->MirrorPointCopy(theObject, thePoint);
1955 endService( " GEOM_Superv_i::MirrorPoint" );
1959 //=============================================================================
1961 //=============================================================================
1962 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject,
1963 CORBA::Double theOffset)
1965 beginService( " GEOM_Superv_i::OffsetShape" );
1966 MESSAGE("GEOM_Superv_i::OffsetShape");
1968 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShape(theObject, theOffset, true);
1969 endService( " GEOM_Superv_i::OffsetShape" );
1973 //=============================================================================
1975 //=============================================================================
1976 GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject,
1977 CORBA::Double theOffset)
1979 beginService( " GEOM_Superv_i::OffsetShapeCopy" );
1980 MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
1982 GEOM::GEOM_Object_ptr anObj = myTransfOp->OffsetShapeCopy(theObject, theOffset, true);
1983 endService( " GEOM_Superv_i::OffsetShapeCopy" );
1987 //=============================================================================
1989 //=============================================================================
1990 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject,
1991 GEOM::GEOM_Object_ptr thePoint,
1992 CORBA::Double theFactor)
1994 beginService( " GEOM_Superv_i::ScaleShape" );
1995 MESSAGE("GEOM_Superv_i::ScaleShape");
1997 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShape(theObject, thePoint, theFactor);
1998 endService( " GEOM_Superv_i::ScaleShape" );
2002 //=============================================================================
2004 //=============================================================================
2005 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject,
2006 GEOM::GEOM_Object_ptr thePoint,
2007 CORBA::Double theFactor)
2009 beginService( " GEOM_Superv_i::ScaleShapeCopy" );
2010 MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
2012 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
2013 endService( " GEOM_Superv_i::ScaleShapeCopy" );
2017 //=============================================================================
2018 // ScaleShapeAlongAxes:
2019 //=============================================================================
2020 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxes (GEOM::GEOM_Object_ptr theObject,
2021 GEOM::GEOM_Object_ptr thePoint,
2022 CORBA::Double theFactorX,
2023 CORBA::Double theFactorY,
2024 CORBA::Double theFactorZ)
2026 beginService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2027 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxes");
2029 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxes
2030 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2031 endService( " GEOM_Superv_i::ScaleShapeAlongAxes" );
2035 //=============================================================================
2036 // ScaleShapeAlongAxesCopy:
2037 //=============================================================================
2038 GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeAlongAxesCopy (GEOM::GEOM_Object_ptr theObject,
2039 GEOM::GEOM_Object_ptr thePoint,
2040 CORBA::Double theFactorX,
2041 CORBA::Double theFactorY,
2042 CORBA::Double theFactorZ)
2044 beginService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2045 MESSAGE("GEOM_Superv_i::ScaleShapeAlongAxesCopy");
2047 GEOM::GEOM_Object_ptr anObj = myTransfOp->ScaleShapeAlongAxesCopy
2048 (theObject, thePoint, theFactorX, theFactorY, theFactorZ);
2049 endService( " GEOM_Superv_i::ScaleShapeAlongAxesCopy" );
2053 //=============================================================================
2055 //=============================================================================
2056 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
2057 GEOM::GEOM_Object_ptr theStartLCS,
2058 GEOM::GEOM_Object_ptr theEndLCS)
2060 beginService( " GEOM_Superv_i::PositionShape" );
2061 MESSAGE("GEOM_Superv_i::PositionShape");
2063 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
2064 endService( " GEOM_Superv_i::PositionShape" );
2068 //=============================================================================
2069 // PositionShapeCopy:
2070 //=============================================================================
2071 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
2072 GEOM::GEOM_Object_ptr theStartLCS,
2073 GEOM::GEOM_Object_ptr theEndLCS)
2075 beginService( " GEOM_Superv_i::PositionShapeCopy" );
2076 MESSAGE("GEOM_Superv_i::PositionShapeCopy");
2078 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
2079 endService( " GEOM_Superv_i::PositionShapeCopy" );
2083 //=============================================================================
2084 // PositionAlongPath:
2085 //=============================================================================
2086 GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionAlongPath (GEOM::GEOM_Object_ptr theObject,
2087 GEOM::GEOM_Object_ptr thePath,
2088 CORBA::Double theDistance,
2089 CORBA::Boolean theCopy,
2090 CORBA::Boolean theReverse)
2092 beginService( " GEOM_Superv_i::PositionAlongPath" );
2093 MESSAGE("GEOM_Superv_i::PositionAlongPath");
2095 GEOM::GEOM_Object_ptr anObj = myTransfOp->PositionAlongPath(theObject, thePath, theDistance, theCopy, theReverse);
2096 endService( " GEOM_Superv_i::PositionAlongPath" );
2100 //=============================== ShapesOperations ============================
2101 //=============================================================================
2103 //=============================================================================
2104 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
2105 GEOM::GEOM_Object_ptr thePnt2)
2107 beginService( " GEOM_Superv_i::MakeEdge" );
2108 MESSAGE("GEOM_Superv_i::MakeEdge");
2110 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdge(thePnt1, thePnt2);
2111 endService( " GEOM_Superv_i::MakeEdge" );
2115 //=============================================================================
2116 // MakeEdgeOnCurveByLength:
2117 //=============================================================================
2118 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdgeOnCurveByLength (GEOM::GEOM_Object_ptr theRefCurve,
2119 CORBA::Double theLength,
2120 GEOM::GEOM_Object_ptr theStartPoint)
2122 beginService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2123 MESSAGE("GEOM_Superv_i::MakeEdgeOnCurveByLength");
2125 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeEdgeOnCurveByLength(theRefCurve, theLength, theStartPoint);
2126 endService( " GEOM_Superv_i::MakeEdgeOnCurveByLength" );
2130 //=============================================================================
2132 //=============================================================================
2133 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWires,
2134 CORBA::Double theTolerance)
2136 beginService( " GEOM_Superv_i::MakeWire" );
2137 MESSAGE("GEOM_Superv_i::MakeWire");
2138 if (GEOM_List_i<GEOM::ListOfGO>* aListImplEW =
2139 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theEdgesAndWires, myPOA).in())) {
2141 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeWire(aListImplEW->GetList(), theTolerance);
2142 endService( " GEOM_Superv_i::MakeWire" );
2145 endService( " GEOM_Superv_i::MakeWire" );
2149 //=============================================================================
2151 //=============================================================================
2152 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire,
2153 CORBA::Boolean isPlanarWanted)
2155 beginService( " GEOM_Superv_i::MakeFace" );
2156 MESSAGE("GEOM_Superv_i::MakeFace");
2158 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFace(theWire, isPlanarWanted);
2159 endService( " GEOM_Superv_i::MakeFace" );
2163 //=============================================================================
2165 //=============================================================================
2166 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires,
2167 CORBA::Boolean isPlanarWanted)
2169 beginService( " GEOM_Superv_i::MakeFaceWires" );
2170 MESSAGE("GEOM_Superv_i::MakeFaceWires");
2171 if (GEOM_List_i<GEOM::ListOfGO>* aListImplW =
2172 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theWires, myPOA).in())) {
2174 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted);
2175 endService( " GEOM_Superv_i::MakeFaceWires" );
2178 endService( " GEOM_Superv_i::MakeFaceWires" );
2182 //=============================================================================
2183 // MakeFaceWithConstraints:
2184 //=============================================================================
2185 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWithConstraints (GEOM::GEOM_List_ptr theConstraints)
2187 beginService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2188 MESSAGE("GEOM_Superv_i::MakeFaceWithConstraints");
2189 if (GEOM_List_i<GEOM::ListOfGO>* aConstraints =
2190 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theConstraints, myPOA).in())) {
2192 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeFaceWithConstraints(aConstraints->GetList());
2193 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2196 endService( " GEOM_Superv_i::MakeFaceWithConstraints" );
2200 //=============================================================================
2202 //=============================================================================
2203 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndShells)
2205 beginService( " GEOM_Superv_i::MakeShell" );
2206 MESSAGE("GEOM_Superv_i::MakeShell");
2207 if (GEOM_List_i<GEOM::ListOfGO>* aListImplFS =
2208 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesAndShells, myPOA).in())) {
2210 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeShell(aListImplFS->GetList());
2211 endService( " GEOM_Superv_i::MakeShell" );
2214 endService( " GEOM_Superv_i::MakeShell" );
2218 //=============================================================================
2220 //=============================================================================
2221 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
2223 beginService( " GEOM_Superv_i::MakeSolidShell" );
2224 MESSAGE("GEOM_Superv_i::MakeSolidShell");
2226 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShell(theShell);
2227 endService( " GEOM_Superv_i::MakeSolidShell" );
2231 //=============================================================================
2233 //=============================================================================
2234 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShells)
2236 beginService( " GEOM_Superv_i::MakeSolidShells" );
2237 MESSAGE("GEOM_Superv_i::MakeSolidShells");
2238 if (GEOM_List_i<GEOM::ListOfGO>* aListImplS =
2239 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShells, myPOA).in())) {
2241 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidShells(aListImplS->GetList());
2242 endService( " GEOM_Superv_i::MakeSolidShells" );
2245 endService( " GEOM_Superv_i::MakeSolidShells" );
2249 //=============================================================================
2251 //=============================================================================
2252 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes)
2254 beginService( " GEOM_Superv_i::MakeCompound" );
2255 MESSAGE("GEOM_Superv_i::MakeCompound");
2256 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2257 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theShapes, myPOA).in())) {
2259 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeCompound(aListImpl->GetList());
2260 endService( " GEOM_Superv_i::MakeCompound" );
2263 endService( " GEOM_Superv_i::MakeCompound" );
2267 //=============================================================================
2268 // MakeSolidFromConnectedFaces:
2269 //=============================================================================
2270 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidFromConnectedFaces (GEOM::GEOM_List_ptr theFacesOrShells,
2271 CORBA::Boolean isIntersect)
2273 beginService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2274 MESSAGE("GEOM_Superv_i::MakeSolidFromConnectedFaces");
2275 if (GEOM_List_i<GEOM::ListOfGO>* aListImpl =
2276 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theFacesOrShells, myPOA).in())) {
2278 GEOM::GEOM_Object_ptr anObj = myShapesOp->MakeSolidFromConnectedFaces(aListImpl->GetList(), isIntersect);
2279 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2282 endService( " GEOM_Superv_i::MakeSolidFromConnectedFaces" );
2286 //=============================================================================
2288 //=============================================================================
2289 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
2290 CORBA::Double theTolerance,
2291 CORBA::Boolean doKeepNonSolids)
2293 beginService( " GEOM_Superv_i::MakeGlueFaces" );
2294 MESSAGE("GEOM_Superv_i::MakeGlueFaces");
2296 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2297 objList->length( 1 );
2298 objList[0] = theShape;
2299 GEOM::GEOM_Object_ptr anObj =
2300 myShapesOp->MakeGlueFaces(objList, theTolerance, doKeepNonSolids);
2301 endService( " GEOM_Superv_i::MakeGlueFaces" );
2305 //=============================================================================
2307 //=============================================================================
2308 GEOM::GEOM_List_ptr GEOM_Superv_i::GetGlueFaces (GEOM::GEOM_Object_ptr theShape,
2309 CORBA::Double theTolerance)
2311 beginService( " GEOM_Superv_i::GetGlueFaces" );
2312 MESSAGE("GEOM_Superv_i::GetGlueFaces");
2314 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2315 objList->length( 1 );
2316 objList[0] = theShape;
2317 GEOM::ListOfGO* aList = myShapesOp->GetGlueFaces(objList, theTolerance);
2318 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2319 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2320 endService( " GEOM_Superv_i::GetGlueFaces" );
2321 return aListPtr->_this();
2324 //=============================================================================
2325 // MakeGlueFacesByList:
2326 //=============================================================================
2327 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFacesByList (GEOM::GEOM_Object_ptr theShape,
2328 CORBA::Double theTolerance,
2329 const GEOM::ListOfGO& theFaces,
2330 CORBA::Boolean doKeepNonSolids,
2331 CORBA::Boolean doGlueAllEdges)
2333 beginService( " GEOM_Superv_i::MakeGlueFacesByList" );
2334 MESSAGE("GEOM_Superv_i::MakeGlueFacesByList");
2336 GEOM::ListOfGO_var objList = new GEOM::ListOfGO;
2337 objList->length( 1 );
2338 objList[0] = theShape;
2339 GEOM::GEOM_Object_ptr anObj =
2340 myShapesOp->MakeGlueFacesByList(objList, theTolerance, theFaces,
2341 doKeepNonSolids, doGlueAllEdges);
2342 endService( " GEOM_Superv_i::MakeGlueFacesByList" );
2346 //=============================================================================
2348 //=============================================================================
2349 GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
2350 CORBA::Long theShapeType,
2351 CORBA::Boolean isSorted)
2353 beginService( " GEOM_Superv_i::MakeExplode" );
2354 MESSAGE("GEOM_Superv_i::MakeExplode");
2357 GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
2358 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2359 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2360 endService( " GEOM_Superv_i::MakeExplode" );
2361 return aListPtr->_this();
2364 //=============================================================================
2366 //=============================================================================
2367 CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
2369 beginService( " GEOM_Superv_i::NumberOfFaces" );
2370 MESSAGE("GEOM_Superv_i::NumberOfFaces");
2372 CORBA::Long aRes = myShapesOp->NumberOfFaces(theShape);
2373 endService( " GEOM_Superv_i::NumberOfFaces" );
2377 //=============================================================================
2379 //=============================================================================
2380 CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
2382 beginService( " GEOM_Superv_i::NumberOfEdges" );
2383 MESSAGE("GEOM_Superv_i::NumberOfEdges");
2385 CORBA::Long aRes = myShapesOp->NumberOfEdges(theShape);
2386 endService( " GEOM_Superv_i::NumberOfEdges" );
2391 //=============================================================================
2392 // ChangeOrientation:
2393 //=============================================================================
2394 GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
2396 beginService( " GEOM_Superv_i::ChangeOrientation" );
2397 MESSAGE("GEOM_Superv_i::ChangeOrientation");
2399 GEOM::GEOM_Object_ptr anObj = myShapesOp->ChangeOrientation(theShape);
2400 endService( " GEOM_Superv_i::ChangeOrientation" );
2405 //=============================================================================
2406 // GetShapesOnShape:
2407 //=============================================================================
2408 GEOM::GEOM_List_ptr GEOM_Superv_i::GetShapesOnShape
2409 (GEOM::GEOM_Object_ptr theCheckShape,
2410 GEOM::GEOM_Object_ptr theShape,
2411 CORBA::Short theShapeType,
2412 GEOM::shape_state theState)
2414 beginService( " GEOM_Superv_i::GetShapesOnShape" );
2415 MESSAGE("GEOM_Superv_i::GetShapesOnShape");
2417 GEOM::ListOfGO* aList =
2418 myShapesOp->GetShapesOnShape(theCheckShape, theShape, theShapeType, theState);
2419 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aList));
2420 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
2421 endService( " GEOM_Superv_i::GetShapesOnShape" );
2422 return aListPtr->_this();
2426 //=============================================================================
2427 // GetShapesOnShapeAsCompound:
2428 //=============================================================================
2429 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetShapesOnShapeAsCompound
2430 (GEOM::GEOM_Object_ptr theCheckShape,
2431 GEOM::GEOM_Object_ptr theShape,
2432 CORBA::Short theShapeType,
2433 GEOM::shape_state theState)
2435 beginService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2436 MESSAGE("GEOM_Superv_i::GetShapesOnShapeAsCompound");
2438 GEOM::GEOM_Object_ptr anObj =
2439 myShapesOp->GetShapesOnShapeAsCompound(theCheckShape, theShape, theShapeType, theState);
2440 endService( " GEOM_Superv_i::GetShapesOnShapeAsCompound" );
2445 //=============================== BlocksOperations ============================
2446 //=============================================================================
2447 // MakeQuad4Vertices:
2448 //=============================================================================
2449 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
2450 GEOM::GEOM_Object_ptr thePnt2,
2451 GEOM::GEOM_Object_ptr thePnt3,
2452 GEOM::GEOM_Object_ptr thePnt4)
2454 beginService( " GEOM_Superv_i::MakeQuad4Vertices" );
2455 MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
2457 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
2458 endService( " GEOM_Superv_i::MakeQuad4Vertices" );
2462 //=============================================================================
2464 //=============================================================================
2465 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
2466 GEOM::GEOM_Object_ptr theEdge2,
2467 GEOM::GEOM_Object_ptr theEdge3,
2468 GEOM::GEOM_Object_ptr theEdge4)
2470 beginService( " GEOM_Superv_i::MakeQuad" );
2471 MESSAGE("GEOM_Superv_i::MakeQuad");
2473 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
2474 endService( " GEOM_Superv_i::MakeQuad" );
2478 //=============================================================================
2480 //=============================================================================
2481 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
2482 GEOM::GEOM_Object_ptr theEdge2)
2484 beginService( " GEOM_Superv_i::MakeQuad2Edges" );
2485 MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
2487 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
2488 endService( " GEOM_Superv_i::MakeQuad2Edges" );
2492 //=============================================================================
2494 //=============================================================================
2495 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
2496 GEOM::GEOM_Object_ptr theFace2,
2497 GEOM::GEOM_Object_ptr theFace3,
2498 GEOM::GEOM_Object_ptr theFace4,
2499 GEOM::GEOM_Object_ptr theFace5,
2500 GEOM::GEOM_Object_ptr theFace6)
2502 beginService( " GEOM_Superv_i::MakeHexa" );
2503 MESSAGE("GEOM_Superv_i::MakeHexa");
2505 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
2506 endService( " GEOM_Superv_i::MakeHexa" );
2510 //=============================================================================
2512 //=============================================================================
2513 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
2514 GEOM::GEOM_Object_ptr theFace2)
2516 beginService( " GEOM_Superv_i::MakeHexa2Faces" );
2517 MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
2519 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
2520 endService( " GEOM_Superv_i::MakeHexa2Faces" );
2524 //=============================================================================
2526 //=============================================================================
2527 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
2531 CORBA::Double theEpsilon)
2533 beginService( " GEOM_Superv_i::GetPoint" );
2534 MESSAGE("GEOM_Superv_i::GetPoint");
2536 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
2537 endService( " GEOM_Superv_i::GetPoint" );
2541 //=============================================================================
2543 //=============================================================================
2544 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
2545 GEOM::GEOM_Object_ptr thePoint1,
2546 GEOM::GEOM_Object_ptr thePoint2)
2548 beginService( " GEOM_Superv_i::GetEdge" );
2549 MESSAGE("GEOM_Superv_i::GetEdge");
2551 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
2552 endService( " GEOM_Superv_i::GetEdge" );
2556 //=============================================================================
2557 // GetEdgeNearPoint:
2558 //=============================================================================
2559 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
2560 GEOM::GEOM_Object_ptr thePoint)
2562 beginService( " GEOM_Superv_i::GetEdgeNearPoint" );
2563 MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
2565 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
2566 endService( " GEOM_Superv_i::GetEdgeNearPoint" );
2570 //=============================================================================
2572 //=============================================================================
2573 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
2574 GEOM::GEOM_Object_ptr thePoint1,
2575 GEOM::GEOM_Object_ptr thePoint2,
2576 GEOM::GEOM_Object_ptr thePoint3,
2577 GEOM::GEOM_Object_ptr thePoint4)
2579 beginService( " GEOM_Superv_i::GetFaceByPoints" );
2580 MESSAGE("GEOM_Superv_i::GetFaceByPoints");
2582 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
2583 endService( " GEOM_Superv_i::GetFaceByPoints" );
2587 //=============================================================================
2589 //=============================================================================
2590 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
2591 GEOM::GEOM_Object_ptr theEdge1,
2592 GEOM::GEOM_Object_ptr theEdge2)
2594 beginService( " GEOM_Superv_i::GetFaceByEdges" );
2595 MESSAGE("GEOM_Superv_i::GetFaceByEdges");
2597 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
2598 endService( " GEOM_Superv_i::GetFaceByEdges" );
2602 //=============================================================================
2604 //=============================================================================
2605 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
2606 GEOM::GEOM_Object_ptr theFace)
2608 beginService( " GEOM_Superv_i::GetOppositeFace" );
2609 MESSAGE("GEOM_Superv_i::GetOppositeFace");
2611 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetOppositeFace(theBlock, theFace);
2612 endService( " GEOM_Superv_i::GetOppositeFace" );
2616 //=============================================================================
2617 // GetFaceNearPoint:
2618 //=============================================================================
2619 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
2620 GEOM::GEOM_Object_ptr thePoint)
2622 beginService( " GEOM_Superv_i::GetFaceNearPoint" );
2623 MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
2625 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceNearPoint(theShape, thePoint);
2626 endService( " GEOM_Superv_i::GetFaceNearPoint" );
2630 //=============================================================================
2631 // GetFaceByNormale:
2632 //=============================================================================
2633 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
2634 GEOM::GEOM_Object_ptr theVector)
2636 beginService( " GEOM_Superv_i::GetFaceByNormale" );
2637 MESSAGE("GEOM_Superv_i::GetFaceByNormale");
2639 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetFaceByNormale(theBlock, theVector);
2640 endService( " GEOM_Superv_i::GetFaceByNormale" );
2644 //=============================================================================
2645 // IsCompoundOfBlocks:
2646 //=============================================================================
2647 CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2648 CORBA::Long theMinNbFaces,
2649 CORBA::Long theMaxNbFaces,
2650 CORBA::Long& theNbBlocks)
2652 beginService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2653 MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
2655 CORBA::Boolean aRes = myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
2656 endService( " GEOM_Superv_i::IsCompoundOfBlocks" );
2660 //=============================================================================
2661 // CheckCompoundOfBlocks:
2662 //=============================================================================
2663 CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks
2664 (GEOM::GEOM_Object_ptr theCompound,
2665 GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
2667 beginService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2668 MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
2670 CORBA::Boolean aRes = myBlocksOp->CheckCompoundOfBlocks(theCompound, -1., theErrors);
2671 endService( " GEOM_Superv_i::CheckCompoundOfBlocks" );
2675 //=============================================================================
2677 //=============================================================================
2678 char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
2679 const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
2681 beginService( " GEOM_Superv_i::PrintBCErrors" );
2682 MESSAGE("GEOM_Superv_i::PrintBCErrors");
2684 char* anErrors = myBlocksOp->PrintBCErrors(theCompound, theErrors);
2685 endService( " GEOM_Superv_i::PrintBCErrors" );
2689 //=============================================================================
2690 // ExplodeCompoundOfBlocks:
2691 //=============================================================================
2692 GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
2693 CORBA::Long theMinNbFaces,
2694 CORBA::Long theMaxNbFaces)
2696 beginService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2697 MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
2699 GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
2700 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2701 endService( " GEOM_Superv_i::ExplodeCompoundOfBlocks" );
2702 return aListPtr->_this();
2705 //=============================================================================
2706 // GetBlockNearPoint:
2707 //=============================================================================
2708 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
2709 GEOM::GEOM_Object_ptr thePoint)
2711 beginService( " GEOM_Superv_i::GetBlockNearPoint" );
2712 MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
2714 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
2715 endService( " GEOM_Superv_i::GetBlockNearPoint" );
2719 //=============================================================================
2721 //=============================================================================
2722 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
2723 GEOM::GEOM_List_ptr theParts)
2725 beginService( " GEOM_Superv_i::GetBlockByParts" );
2726 MESSAGE("GEOM_Superv_i::GetBlockByParts");
2727 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2728 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2730 GEOM::GEOM_Object_ptr anObj = myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList());
2731 endService( " GEOM_Superv_i::GetBlockByParts" );
2734 endService( " GEOM_Superv_i::GetBlockByParts" );
2738 //=============================================================================
2739 // GetBlocksByParts:
2740 //=============================================================================
2741 GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
2742 GEOM::GEOM_List_ptr theParts)
2744 beginService( " GEOM_Superv_i::GetBlocksByParts" );
2745 MESSAGE("GEOM_Superv_i::GetBlocksByParts");
2746 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2747 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(theParts, myPOA).in())) {
2750 GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList());
2751 GEOM_List_i<GEOM::ListOfGO>* aListPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aBlocks));
2752 endService( " GEOM_Superv_i::GetBlocksByParts" );
2753 return aListPtr->_this();
2755 endService( " GEOM_Superv_i::GetBlocksByParts" );
2759 //=============================================================================
2760 // MakeMultiTransformation1D:
2761 //=============================================================================
2762 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
2763 CORBA::Long theDirFace1,
2764 CORBA::Long theDirFace2,
2765 CORBA::Long theNbTimes)
2767 beginService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2768 MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
2770 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
2771 endService( " GEOM_Superv_i::MakeMultiTransformation1D" );
2775 //=============================================================================
2776 // MakeMultiTransformation2D:
2777 //=============================================================================
2778 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D
2779 (GEOM::GEOM_Object_ptr theBlock,
2780 CORBA::Long theDirFace1U,
2781 CORBA::Long theDirFace2U,
2782 CORBA::Long theNbTimesU,
2783 CORBA::Long theDirFace1V,
2784 CORBA::Long theDirFace2V,
2785 CORBA::Long theNbTimesV)
2787 beginService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2788 MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
2790 GEOM::GEOM_Object_ptr anObj = myBlocksOp->MakeMultiTransformation2D(theBlock,
2791 theDirFace1U, theDirFace2U, theNbTimesU,
2792 theDirFace1V, theDirFace2V, theNbTimesV);
2793 endService( " GEOM_Superv_i::MakeMultiTransformation2D" );
2797 //=============================== CurvesOperations ============================
2798 //=============================================================================
2799 // MakeCirclePntVecR:
2800 //=============================================================================
2801 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
2802 GEOM::GEOM_Object_ptr theVector,
2805 beginService( " GEOM_Superv_i::MakeCirclePntVecR" );
2806 MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
2808 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
2809 endService( " GEOM_Superv_i::MakeCirclePntVecR" );
2813 //=============================================================================
2814 // MakeCircleThreePnt:
2815 //=============================================================================
2816 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
2817 GEOM::GEOM_Object_ptr thePnt2,
2818 GEOM::GEOM_Object_ptr thePnt3)
2820 beginService( " GEOM_Superv_i::MakeCircleThreePnt" );
2821 MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
2823 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
2824 endService( " GEOM_Superv_i::MakeCircleThreePnt" );
2827 //=============================================================================
2828 // MakeCircleCenter2Pnt:
2829 //=============================================================================
2830 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleCenter2Pnt (GEOM::GEOM_Object_ptr thePnt1,
2831 GEOM::GEOM_Object_ptr thePnt2,
2832 GEOM::GEOM_Object_ptr thePnt3)
2834 beginService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2835 MESSAGE("GEOM_Superv_i::MakeCircleCenter2Pnt");
2837 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeCircleCenter2Pnt(thePnt1, thePnt2, thePnt3);
2838 endService( " GEOM_Superv_i::MakeCircleCenter2Pnt" );
2842 //=============================================================================
2844 //=============================================================================
2845 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
2846 GEOM::GEOM_Object_ptr theVector,
2847 CORBA::Double theRMajor,
2848 CORBA::Double theRMinor)
2850 beginService( " GEOM_Superv_i::MakeEllipse" );
2851 MESSAGE("GEOM_Superv_i::MakeEllipse");
2853 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
2854 endService( " GEOM_Superv_i::MakeEllipse" );
2858 //=============================================================================
2860 //=============================================================================
2861 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipseVec (GEOM::GEOM_Object_ptr theCenter,
2862 GEOM::GEOM_Object_ptr theVector,
2863 CORBA::Double theRMajor,
2864 CORBA::Double theRMinor,
2865 GEOM::GEOM_Object_ptr theVectorMajor)
2867 beginService( " GEOM_Superv_i::MakeEllipseVec" );
2868 MESSAGE("GEOM_Superv_i::MakeEllipseVec");
2870 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeEllipseVec(theCenter, theVector, theRMajor, theRMinor, theVectorMajor);
2871 endService( " GEOM_Superv_i::MakeEllipseVec" );
2875 //=============================================================================
2877 //=============================================================================
2878 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
2879 GEOM::GEOM_Object_ptr thePnt2,
2880 GEOM::GEOM_Object_ptr thePnt3)
2882 beginService( " GEOM_Superv_i::MakeArc" );
2883 MESSAGE("GEOM_Superv_i::MakeArc");
2885 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
2886 endService( " GEOM_Superv_i::MakeArc" );
2890 //=============================================================================
2892 //=============================================================================
2893 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcCenter (GEOM::GEOM_Object_ptr theCenter,
2894 GEOM::GEOM_Object_ptr thePnt1,
2895 GEOM::GEOM_Object_ptr thePnt2,
2896 CORBA::Boolean theSense)
2898 beginService( " GEOM_Superv_i::MakeArcCenter" );
2899 MESSAGE("GEOM_Superv_i::MakeArcCenter");
2901 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcCenter(theCenter, thePnt1, thePnt2,theSense);
2902 endService( " GEOM_Superv_i::MakeArcCenter" );
2906 //=============================================================================
2907 // MakeArcOfEllipse:
2908 //=============================================================================
2909 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArcOfEllipse (GEOM::GEOM_Object_ptr thePnt1,
2910 GEOM::GEOM_Object_ptr thePnt2,
2911 GEOM::GEOM_Object_ptr thePnt3)
2913 beginService( " GEOM_Superv_i::MakeArcOfEllipse" );
2914 MESSAGE("GEOM_Superv_i::MakeArcOfEllipse");
2916 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeArcOfEllipse(thePnt1, thePnt2, thePnt3);
2917 endService( " GEOM_Superv_i::MakeArcOfEllipse" );
2921 //=============================================================================
2923 //=============================================================================
2924 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints,
2925 CORBA::Boolean theIsClosed)
2927 beginService( " GEOM_Superv_i::MakePolyline" );
2928 MESSAGE("GEOM_Superv_i::MakePolyline");
2929 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2930 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2932 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakePolyline(aListImplP->GetList(), theIsClosed);
2933 endService( " GEOM_Superv_i::MakePolyline" );
2936 endService( " GEOM_Superv_i::MakePolyline" );
2940 //=============================================================================
2941 // MakeSplineBezier:
2942 //=============================================================================
2943 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePoints,
2944 CORBA::Boolean theIsClosed)
2946 beginService( " GEOM_Superv_i::MakeSplineBezier" );
2947 MESSAGE("GEOM_Superv_i::MakeSplineBezier");
2948 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2949 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2951 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineBezier(aListImplP->GetList(), theIsClosed);
2952 endService( " GEOM_Superv_i::MakeSplineBezier" );
2955 endService( " GEOM_Superv_i::MakeSplineBezier" );
2959 //=============================================================================
2960 // MakeSplineInterpolation:
2961 //=============================================================================
2962 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_ptr thePoints,
2963 CORBA::Boolean theIsClosed,
2964 CORBA::Boolean theDoReordering)
2966 beginService( " GEOM_Superv_i::MakeSplineInterpolation" );
2967 MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
2968 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
2969 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thePoints, myPOA).in())) {
2971 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSplineInterpolation(aListImplP->GetList(), theIsClosed, theDoReordering);
2972 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2975 endService( " GEOM_Superv_i::MakeSplineInterpolation" );
2979 //=============================================================================
2981 //=============================================================================
2982 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand,
2983 GEOM::GEOM_List_ptr theWorkingPlane)
2985 beginService( " GEOM_Superv_i::MakeSketcher" );
2986 MESSAGE("GEOM_Superv_i::MakeSketcher");
2987 if (GEOM_List_i<GEOM::ListOfDouble>* aListImplWP =
2988 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theWorkingPlane, myPOA).in())) {
2990 GEOM::GEOM_Object_ptr anObj = myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList());
2991 endService( " GEOM_Superv_i::MakeSketcher" );
2994 endService( " GEOM_Superv_i::MakeSketcher" );
2998 //=============================================================================
3000 //=============================================================================
3001 GEOM::GEOM_Object_ptr GEOM_Superv_i::Make3DSketcher ( GEOM::GEOM_List_ptr theCoordinates)
3003 beginService( " GEOM_Superv_i::Make3DSketcher" );
3004 MESSAGE("GEOM_Superv_i::Make3DSketcher");
3005 if (GEOM_List_i<GEOM::ListOfDouble>* aListImpl =
3006 dynamic_cast<GEOM_List_i<GEOM::ListOfDouble>*>(GetServant(theCoordinates, myPOA).in())) {
3008 GEOM::GEOM_Object_ptr anObj = myCurvesOp->Make3DSketcher(aListImpl->GetList());
3009 endService( " GEOM_Superv_i::Make3DSketcher" );
3012 endService( " GEOM_Superv_i::Make3DSketcher" );
3016 //=============================== LocalOperations =============================
3017 //=============================================================================
3019 //=============================================================================
3020 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
3023 beginService( " GEOM_Superv_i::MakeFilletAll" );
3024 MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
3026 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletAll(theShape, theR);
3027 endService( " GEOM_Superv_i::MakeFilletAll" );
3031 //=============================================================================
3033 //=============================================================================
3034 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape,
3036 GEOM::GEOM_List_ptr theEdges)
3038 beginService( " GEOM_Superv_i::MakeFilletEdges" );
3039 MESSAGE("GEOM_Superv_i::MakeFilletEdges");
3040 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3041 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3043 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList());
3044 endService( " GEOM_Superv_i::MakeFilletEdges" );
3047 endService( " GEOM_Superv_i::MakeFilletEdges" );
3051 //=============================================================================
3052 // MakeFilletEdges R1 R2:
3053 //=============================================================================
3054 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdgesR1R2 (GEOM::GEOM_Object_ptr theShape,
3055 CORBA::Double theR1,
3056 CORBA::Double theR2,
3057 GEOM::GEOM_List_ptr theEdges)
3059 beginService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3060 MESSAGE("GEOM_Superv_i::MakeFilletEdgesR1R2");
3061 if (GEOM_List_i<GEOM::ListOfLong>* aListImplE =
3062 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3064 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletEdgesR1R2(theShape, theR1,
3065 theR2, aListImplE->GetList());
3066 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3069 endService( " GEOM_Superv_i::MakeFilletEdgesR1R2" );
3073 //=============================================================================
3075 //=============================================================================
3076 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape,
3078 GEOM::GEOM_List_ptr theFaces)
3080 beginService( " GEOM_Superv_i::MakeFilletFaces" );
3081 MESSAGE("GEOM_Superv_i::MakeFilletFaces");
3082 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3083 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3085 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList());
3086 endService( " GEOM_Superv_i::MakeFilletFaces" );
3089 endService( " GEOM_Superv_i::MakeFilletFaces" );
3093 //=============================================================================
3094 // MakeFilletFaces R1 R2:
3095 //=============================================================================
3096 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFacesR1R2 (GEOM::GEOM_Object_ptr theShape,
3097 CORBA::Double theR1,
3098 CORBA::Double theR2,
3099 GEOM::GEOM_List_ptr theFaces)
3101 beginService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3102 MESSAGE("GEOM_Superv_i::MakeFilletFacesR1R2");
3103 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3104 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3106 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFilletFacesR1R2(theShape, theR1, theR2,
3107 aListImplF->GetList());
3108 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3111 endService( " GEOM_Superv_i::MakeFilletFacesR1R2" );
3115 //=============================================================================
3117 //=============================================================================
3118 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet2D (GEOM::GEOM_Object_ptr theShape,
3120 GEOM::GEOM_List_ptr theVertexes)
3122 beginService( " GEOM_Superv_i::MakeFillet2D" );
3123 MESSAGE("GEOM_Superv_i::MakeFillet2D");
3124 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3125 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3127 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet2D(theShape, theR, aListImplV->GetList());
3128 endService( " GEOM_Superv_i::MakeFillet2D" );
3131 endService( " GEOM_Superv_i::MakeFillet2D" );
3135 //=============================================================================
3137 //=============================================================================
3138 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFillet1D (GEOM::GEOM_Object_ptr theShape,
3140 GEOM::GEOM_List_ptr theVertexes,
3141 CORBA::Boolean doIgnoreSecantVertices)
3143 beginService( " GEOM_Superv_i::MakeFillet1D" );
3144 MESSAGE("GEOM_Superv_i::MakeFillet1D");
3145 if (GEOM_List_i<GEOM::ListOfLong>* aListImplV =
3146 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theVertexes, myPOA).in())) {
3148 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeFillet1D
3149 (theShape, theR, aListImplV->GetList(), doIgnoreSecantVertices);
3150 endService( " GEOM_Superv_i::MakeFillet1D" );
3153 endService( " GEOM_Superv_i::MakeFillet1D" );
3157 //=============================================================================
3159 //=============================================================================
3160 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
3162 beginService( " GEOM_Superv_i::MakeChamferAll" );
3163 MESSAGE("GEOM_Superv_i::MakeChamferAll");
3165 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferAll(theShape, theD);
3166 endService( " GEOM_Superv_i::MakeChamferAll" );
3170 //=============================================================================
3172 //=============================================================================
3173 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
3174 CORBA::Double theD1, CORBA::Double theD2,
3175 CORBA::Long theFace1, CORBA::Long theFace2)
3177 beginService( " GEOM_Superv_i::MakeChamferEdge" );
3178 MESSAGE("GEOM_Superv_i::MakeChamferEdge");
3180 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
3181 endService( " GEOM_Superv_i::MakeChamferEdge" );
3185 //=============================================================================
3186 // MakeChamferEdgeAD:
3187 //=============================================================================
3188 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgeAD (GEOM::GEOM_Object_ptr theShape,
3189 CORBA::Double theD, CORBA::Double theAngle,
3190 CORBA::Long theFace1, CORBA::Long theFace2)
3192 beginService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3193 MESSAGE("GEOM_Superv_i::MakeChamferEdgeAD");
3195 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgeAD(theShape, theD, theAngle, theFace1, theFace2);
3196 endService( " GEOM_Superv_i::MakeChamferEdgeAD" );
3200 //=============================================================================
3201 // MakeChamferFaces:
3202 //=============================================================================
3203 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
3204 CORBA::Double theD1, CORBA::Double theD2,
3205 GEOM::GEOM_List_ptr theFaces)
3207 beginService( " GEOM_Superv_i::MakeChamferFaces" );
3208 MESSAGE("GEOM_Superv_i::MakeChamferFaces");
3209 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3210 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3212 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList());
3213 endService( " GEOM_Superv_i::MakeChamferFaces" );
3216 endService( " GEOM_Superv_i::MakeChamferFaces" );
3220 //=============================================================================
3221 // MakeChamferFacesAD:
3222 //=============================================================================
3223 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFacesAD (GEOM::GEOM_Object_ptr theShape,
3224 CORBA::Double theD, CORBA::Double theAngle,
3225 GEOM::GEOM_List_ptr theFaces)
3227 beginService( " GEOM_Superv_i::MakeChamferFacesAD" );
3228 MESSAGE("GEOM_Superv_i::MakeChamferFacesAD");
3229 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3230 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theFaces, myPOA).in())) {
3232 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferFacesAD(theShape, theD, theAngle, aListImplF->GetList());
3233 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3236 endService( " GEOM_Superv_i::MakeChamferFacesAD" );
3240 //=============================================================================
3241 // MakeChamferEdges:
3242 //=============================================================================
3243 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdges (GEOM::GEOM_Object_ptr theShape,
3244 CORBA::Double theD1, CORBA::Double theD2,
3245 GEOM::GEOM_List_ptr theEdges)
3247 beginService( " GEOM_Superv_i::MakeChamferEdges" );
3248 MESSAGE("GEOM_Superv_i::MakeChamferEdges");
3249 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3250 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3252 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdges(theShape, theD1, theD2, aListImplF->GetList());
3253 endService( " GEOM_Superv_i::MakeChamferEdges" );
3256 endService( " GEOM_Superv_i::MakeChamferEdges" );
3260 //=============================================================================
3261 // MakeChamferEdgesAD:
3262 //=============================================================================
3263 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdgesAD (GEOM::GEOM_Object_ptr theShape,
3264 CORBA::Double theD, CORBA::Double theAngle,
3265 GEOM::GEOM_List_ptr theEdges)
3267 beginService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3268 MESSAGE("GEOM_Superv_i::MakeChamferEdgesAD");
3269 if (GEOM_List_i<GEOM::ListOfLong>* aListImplF =
3270 dynamic_cast<GEOM_List_i<GEOM::ListOfLong>*>(GetServant(theEdges, myPOA).in())) {
3272 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeChamferEdgesAD(theShape, theD, theAngle, aListImplF->GetList());
3273 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3276 endService( " GEOM_Superv_i::MakeChamferEdgesAD" );
3280 //=============================================================================
3282 //=============================================================================
3283 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
3284 CORBA::Double theWeight,
3285 CORBA::Double theWaterDensity,
3286 CORBA::Double theMeshingDeflection)
3288 beginService( " GEOM_Superv_i::MakeArchimede" );
3289 MESSAGE("GEOM_Superv_i::MakeArchimede");
3291 GEOM::GEOM_Object_ptr anObj = myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
3292 endService( " GEOM_Superv_i::MakeArchimede" );
3296 //=============================================================================
3297 // GetSubShapeIndexMakeFilletAll:
3298 //=============================================================================
3299 CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
3300 GEOM::GEOM_Object_ptr theSubShape)
3302 beginService( " GEOM_Superv_i::GetSubShapeIndex" );
3303 MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede");
3305 CORBA::Long aRes = myLocalOp->GetSubShapeIndex(theShape, theSubShape);
3306 endService( " GEOM_Superv_i::GetSubShapeIndex" );
3310 //=============================== GroupOperations =============================
3311 //=============================================================================
3313 //=============================================================================
3314 GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape,
3315 CORBA::Long theShapeType)
3317 beginService( " GEOM_Superv_i::CreateGroup" );
3318 MESSAGE("GEOM_Superv_i::CreateGroup");
3320 GEOM::GEOM_Object_ptr anObj = myGroupOp->CreateGroup(theMainShape, theShapeType);
3321 endService( " GEOM_Superv_i::CreateGroup" );
3325 //=============================================================================
3327 //=============================================================================
3328 void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup,
3329 CORBA::Long theSubShapeId)
3331 beginService( " GEOM_Superv_i::AddObject" );
3332 MESSAGE("GEOM_Superv_i::AddObject");
3334 myGroupOp->AddObject(theGroup, theSubShapeId);
3335 endService( " GEOM_Superv_i::AddObject" );
3338 //=============================================================================
3340 //=============================================================================
3341 void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup,
3342 CORBA::Long theSubShapeId)
3344 beginService( " GEOM_Superv_i::RemoveObject" );
3345 MESSAGE("GEOM_Superv_i::RemoveObject");
3347 myGroupOp->RemoveObject(theGroup, theSubShapeId);
3348 endService( " GEOM_Superv_i::RemoveObject" );
3351 //=============================================================================
3353 //=============================================================================
3354 CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
3356 beginService( " GEOM_Superv_i::GetType" );
3357 MESSAGE("GEOM_Superv_i::GetType");
3359 CORBA::Long aResult = myGroupOp->GetType(theGroup);
3360 endService( " GEOM_Superv_i::GetType" );
3364 //=============================================================================
3366 //=============================================================================
3367 GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
3369 beginService( " GEOM_Superv_i::GetMainShape" );
3370 MESSAGE("GEOM_Superv_i::GetMainShape");
3372 GEOM::GEOM_Object_ptr anObj = myGroupOp->GetMainShape(theGroup);
3373 endService( " GEOM_Superv_i::GetMainShape" );
3377 //=============================================================================
3379 //=============================================================================
3380 GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
3382 beginService( " GEOM_Superv_i::GetObjects" );
3383 MESSAGE("GEOM_Superv_i::GetObjects");
3386 GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup);
3387 GEOM_List_i<GEOM::ListOfLong>* aListPtr = new GEOM_List_i<GEOM::ListOfLong>(*(aList));
3388 MESSAGE(" List of "<<aListPtr->GetList().length()<<" element(s)");
3389 endService( " GEOM_Superv_i::GetObjects" );
3390 return aListPtr->_this();
3393 //=============================== Import/Export Operations =============================
3394 //=============================================================================
3396 //=============================================================================
3397 void GEOM_Superv_i::ExportSTL( GEOM::GEOM_Object_ptr theObject,
3398 const char* theFileName,
3399 const bool theIsASCII,
3400 CORBA::Double theDeflection,
3401 const bool theIsRelative )
3403 beginService( " GEOM_Superv_i::ExportSTL" );
3404 MESSAGE("GEOM_Superv_i::ExportSTL");
3406 mySTLOp->ExportSTL( theObject, theFileName, theIsASCII, theDeflection, theIsRelative );
3407 endService( " GEOM_Superv_i::ExportSTL" );
3410 //=============================================================================
3412 //=============================================================================
3413 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTL( const char* theFileName )
3415 beginService( " GEOM_Superv_i::ImportSTL" );
3416 MESSAGE("GEOM_Superv_i::ImportSTL");
3418 GEOM::ListOfGO* aSeq = mySTLOp->ImportSTL(theFileName );
3419 GEOM::GEOM_Object_var anObj;
3421 if (aSeq->length() > 0) {
3422 anObj = aSeq->operator[](0);
3425 endService( " GEOM_Superv_i::ImportSTL" );
3426 return anObj._retn();
3429 //=============================================================================
3431 //=============================================================================
3432 void GEOM_Superv_i::ExportBREP( GEOM::GEOM_Object_ptr theObject,
3433 const char* theFileName )
3435 beginService( " GEOM_Superv_i::ExportBREP" );
3436 MESSAGE("GEOM_Superv_i::ExportBREP");
3438 myBREPOp->ExportBREP( theObject, theFileName );
3439 endService( " GEOM_Superv_i::ExportBREP" );
3442 //=============================================================================
3444 //=============================================================================
3445 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportBREP( const char* theFileName )
3447 beginService( " GEOM_Superv_i::ImportBREP" );
3448 MESSAGE("GEOM_Superv_i::ImportBREP");
3450 GEOM::ListOfGO* aSeq = myBREPOp->ImportBREP(theFileName );
3451 GEOM::GEOM_Object_var anObj;
3453 if (aSeq->length() > 0) {
3454 anObj = aSeq->operator[](0);
3457 endService( " GEOM_Superv_i::ImportBREP" );
3458 return anObj._retn();
3461 //=============================================================================
3463 //=============================================================================
3464 void GEOM_Superv_i::ExportSTEP( GEOM::GEOM_Object_ptr theObject,
3465 const char* theFileName )
3467 beginService( " GEOM_Superv_i::ExportSTEP" );
3468 MESSAGE("GEOM_Superv_i::ExportSTEP");
3471 const GEOM::length_unit aUnit = GEOM::LU_METER;
3473 mySTEPOp->ExportSTEP( theObject, theFileName, aUnit );
3474 endService( " GEOM_Superv_i::ExportSTEP" );
3477 //=============================================================================
3479 //=============================================================================
3480 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportSTEP( const char* theFileName,
3481 const bool theIsIgnoreUnits )
3483 beginService( " GEOM_Superv_i::ImportSTEP" );
3484 MESSAGE("GEOM_Superv_i::ImportSTEP");
3486 GEOM::ListOfGO* aSeq = mySTEPOp->ImportSTEP(theFileName, theIsIgnoreUnits, false );
3487 GEOM::GEOM_Object_var anObj;
3489 if (aSeq->length() > 0) {
3490 anObj = aSeq->operator[](0);
3493 endService( " GEOM_Superv_i::ImportSTEP" );
3494 return anObj._retn();
3497 //=============================================================================
3499 //=============================================================================
3500 void GEOM_Superv_i::ExportIGES( GEOM::GEOM_Object_ptr theObject,
3501 const char* theFileName,
3502 const char* theVersion )
3504 beginService( " GEOM_Superv_i::ExportIGES" );
3505 MESSAGE("GEOM_Superv_i::ExportIGES");
3507 myIGESOp->ExportIGES( theObject, theFileName, theVersion );
3508 endService( " GEOM_Superv_i::ExportIGES" );
3511 //=============================================================================
3513 //=============================================================================
3514 GEOM::GEOM_Object_ptr GEOM_Superv_i::ImportIGES( const char* theFileName,
3515 const bool theIsIgnoreUnits )
3517 beginService( " GEOM_Superv_i::ImportIGES" );
3518 MESSAGE("GEOM_Superv_i::ImportIGES");
3520 GEOM::ListOfGO* aSeq = myIGESOp->ImportIGES(theFileName, theIsIgnoreUnits );
3521 GEOM::GEOM_Object_var anObj;
3523 if (aSeq->length() > 0) {
3524 anObj = aSeq->operator[](0);
3527 endService( " GEOM_Superv_i::ImportIGES" );
3528 return anObj._retn();
3531 //=============================================================================
3533 //=============================================================================
3534 CORBA::Boolean GEOM_Superv_i::ExportXAO( GEOM::GEOM_Object_ptr shape,
3535 const GEOM::ListOfGO& groups,
3536 const GEOM::ListOfFields& fields,
3538 const char* fileName,
3539 const char* shapeFileName )
3541 beginService( " GEOM_Superv_i::ExportXAO" );
3542 MESSAGE("GEOM_Superv_i::ExportXAO");
3544 CORBA::Boolean isGood = myXAOOp->ExportXAO( shape, groups, fields, author, fileName, shapeFileName );
3545 endService( " GEOM_Superv_i::ExportXAO" );
3549 //=============================================================================
3551 //=============================================================================
3552 CORBA::Boolean GEOM_Superv_i::ImportXAO( const char* /*fileName*/,
3553 GEOM::GEOM_Object_out /*shape*/,
3554 GEOM::ListOfGO_out /*subShapes*/,
3555 GEOM::ListOfGO_out /*groups*/,
3556 GEOM::ListOfFields_out /*fields*/ )
3562 //=============================================================================
3564 //=============================================================================
3565 void GEOM_Superv_i::ExportVTK( GEOM::GEOM_Object_ptr theObject,
3566 const char* theFileName,
3567 CORBA::Double theDeflection )
3570 beginService( " GEOM_Superv_i::ExportVTK" );
3571 MESSAGE("GEOM_Superv_i::ExportVTK");
3573 myVTKOp->ExportVTK( theObject, theFileName, theDeflection );
3574 endService( " GEOM_Superv_i::ExportVTK" );
3576 std::string message("GEOM_Superv_i::ExportVTK functionality is unavailable");
3577 THROW_SALOME_CORBA_EXCEPTION(message.c_str(), SALOME::INTERNAL_ERROR);
3581 //=============================== Advanced Operations =============================
3582 //=============================================================================
3584 //=============================================================================
3585 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape
3586 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3587 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3588 CORBA::Boolean theHexMesh)
3590 beginService( " GEOM_Superv_i::MakePipeTShape" );
3591 MESSAGE("GEOM_Superv_i::MakePipeTShape");
3594 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
3595 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3596 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3597 endService( " GEOM_Superv_i::MakePipeTShape" );
3598 return aSeqPtr->_this();
3601 //=============================================================================
3602 // MakePipeTShapeWithPosition
3603 //=============================================================================
3604 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition
3605 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3606 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
3607 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3609 beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3610 MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
3613 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
3614 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3615 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3616 endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
3617 return aSeqPtr->_this();
3620 //=============================================================================
3621 // MakePipeTShapeChamfer
3622 //=============================================================================
3623 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer
3624 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3625 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3626 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
3628 beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3629 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
3632 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
3633 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3634 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3635 endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
3636 return aSeqPtr->_this();
3639 //=============================================================================
3640 // MakePipeTShapeChamferWithPosition
3641 //=============================================================================
3642 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition
3643 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3644 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3645 CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
3646 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3648 beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3649 MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
3652 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
3653 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3654 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3655 endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
3656 return aSeqPtr->_this();
3659 //=============================================================================
3660 // MakePipeTShapeFillet
3661 //=============================================================================
3662 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet
3663 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3664 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3665 CORBA::Double theRF, CORBA::Boolean theHexMesh)
3667 beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3668 MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
3671 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
3672 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3673 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3674 endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
3675 return aSeqPtr->_this();
3678 //=============================================================================
3679 // MakePipeTShapeFilletWithPosition
3680 //=============================================================================
3681 GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition
3682 (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1,
3683 CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
3684 CORBA::Double theRF, CORBA::Boolean theHexMesh,
3685 GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
3687 beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3688 MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
3691 GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
3692 GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
3693 MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
3694 endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
3695 return aSeqPtr->_this();
3698 //=============================================================================
3700 //=============================================================================
3701 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedDisk (CORBA::Double theR, CORBA::Double theRatio,
3702 CORBA::Short theOrientation, GEOM::pattern thePattern)
3704 beginService( " GEOM_Superv_i::MakeDividedDisk" );
3705 MESSAGE("GEOM_Superv_i::MakeDividedDisk");
3707 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedDisk(theR, theRatio, theOrientation, thePattern);
3708 endService( " GEOM_Superv_i::MakeDividedDisk" );
3712 //=============================================================================
3713 // MakeDividedCylinder
3714 //=============================================================================
3715 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeDividedCylinder (CORBA::Double theR,
3717 GEOM::pattern thePattern)
3719 beginService( " GEOM_Superv_i::MakeDividedCylinder" );
3720 MESSAGE("GEOM_Superv_i::MakeDividedCylinder");
3722 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeDividedCylinder(theR, theH, thePattern);
3723 endService( " GEOM_Superv_i::MakeDividedCylinder" );
3727 //=============================================================================
3728 // MakeSmoothingSurface
3729 //=============================================================================
3730 GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSmoothingSurface (GEOM::GEOM_List_ptr thelPoints)
3732 beginService( " GEOM_Superv_i::MakeSmoothingSurface" );
3733 MESSAGE("GEOM_Superv_i::MakeSmoothingSurface");
3735 if (GEOM_List_i<GEOM::ListOfGO>* aListImplP =
3736 dynamic_cast<GEOM_List_i<GEOM::ListOfGO>*>(GetServant(thelPoints, myPOA).in())) {
3738 GEOM::GEOM_Object_ptr anObj = myAdvancedOp->MakeSmoothingSurface(aListImplP->GetList(), 2, 8, 0.);
3739 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3742 endService( " GEOM_Superv_i::MakeSmoothingSurface" );
3746 /*@@ insert new functions before this line @@ do not remove this line @@*/
3748 GEOM_Superv_i_With_Session::GEOM_Superv_i_With_Session(CORBA::ORB_ptr orb,
3749 PortableServer::POA_ptr poa,
3750 PortableServer::ObjectId * contId,
3751 const char *instanceName,
3752 const char *interfaceName):GEOM_Superv_i(orb,poa,contId,instanceName,interfaceName,true,new SALOME_NamingService(orb))
3756 GEOM_Superv_i_Without_Session::GEOM_Superv_i_Without_Session(CORBA::ORB_ptr orb,
3757 PortableServer::POA_ptr poa,
3758 PortableServer::ObjectId * contId,
3759 const char *instanceName,
3760 const char *interfaceName, SALOME_NamingService_Abstract *my_name_service):GEOM_Superv_i(orb,poa,contId,instanceName,interfaceName,false, my_name_service)
3764 //=====================================================================================
3766 //=====================================================================================
3770 __declspec( dllexport )
3772 PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
3773 PortableServer::POA_ptr poa,
3774 PortableServer::ObjectId * contId,
3775 const char *instanceName,
3776 const char * interfaceName)
3778 CORBA::Object_var o = poa->id_to_reference(*contId);
3779 Engines::Container_var cont = Engines::Container::_narrow(o);
3780 GEOM_Superv_i *myGEOM_Superv_i(nullptr);
3781 if(cont->is_SSL_mode())
3783 PortableServer::ServantBase *contPtr = poa->reference_to_servant(cont);
3784 Abstract_Engines_Container_i *contPtrEff = dynamic_cast<Abstract_Engines_Container_i *>(contPtr);
3785 SALOME_NamingService_Abstract *decoNS = new SALOME_NamingService_Abstract_Decorator(contPtrEff->getNS());
3786 myGEOM_Superv_i = new GEOM_Superv_i_Without_Session(orb, poa, contId, instanceName, interfaceName,decoNS);
3787 //Don't understand the reason why this component is registered ???
3788 // myGEOM_Superv_i->register_name("/myGEOM_Superv");
3789 return myGEOM_Superv_i->getId() ;
3793 myGEOM_Superv_i = new GEOM_Superv_i_With_Session(orb, poa, contId, instanceName, interfaceName);
3794 return myGEOM_Superv_i->getId() ;