Salome HOME
0020695: EDF 1076 GEOM: Add a new shape in GEOM: T-shape V5_1_4a1
authorgdd <gdd>
Fri, 16 Apr 2010 11:52:22 +0000 (11:52 +0000)
committergdd <gdd>
Fri, 16 Apr 2010 11:52:22 +0000 (11:52 +0000)
Add YACS services

idl/GEOM_Superv.idl
resources/GEOMCatalog.xml.in
src/GEOM_I_Superv/GEOM_Superv_i.cc
src/GEOM_I_Superv/GEOM_Superv_i.hh

index 1c7986bf828193329fcd90a768443ea89c239333..b9e72f51f07e4427fe978b8193e30202623e7770 100644 (file)
@@ -575,7 +575,36 @@ module GEOM
     GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
     GEOM_List  GetObjects(in GEOM_Object theGroup) ;
 
-  };
+    //-----------------------------------------------------------//
+    // AdvancedOperations                                        //
+    //-----------------------------------------------------------//
+    GEOM_List MakePipeTShape (in double theR1, in double theW1, in double theL1, 
+                in double theR2, in double theW2, in double theL2,
+                in boolean theHexMesh);
+              
+    GEOM_List MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1, 
+                        in double theR2, in double theW2, in double theL2,
+                        in boolean theHexMesh,
+                        in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+                        
+    GEOM_List MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
+                    in double theR2, in double theW2, in double theL2,
+                    in double theH, in double theW, in boolean theHexMesh);
+                    
+    GEOM_List MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1, 
+                           in double theR2, in double theW2, in double theL2, 
+                           in double theH, in double theW, in boolean theHexMesh,
+                           in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+                           
+    GEOM_List MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1, 
+                      in double theR2, in double theW2, in double theL2, 
+                      in double theRF, in boolean theHexMesh);
+                      
+    GEOM_List MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1, 
+                          in double theR2, in double theW2, in double theL2, 
+                          in double theRF, in boolean theHexMesh,
+                          in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+ };
 };
 
 #endif
index aabc2a2ebc492f0c90406b1761c4a01b5dc595a2..024cff426d0d1c661d0475afc1120d48228165c5 100644 (file)
@@ -51,6 +51,7 @@
   <objref name="GEOM_IMeasureOperations"  id="IDL:GEOM/GEOM_IMeasureOperations:1.0" />
   <objref name="GEOM_IBlocksOperations"  id="IDL:GEOM/GEOM_IBlocksOperations:1.0" />
   <objref name="GEOM_IGroupOperations"  id="IDL:GEOM/GEOM_IGroupOperations:1.0" />
+  <objref name="GEOM_IAdvancedOperations"  id="IDL:GEOM/GEOM_IAdvancedOperations:1.0" />
   <sequence name="ListOfLong" content="int"  />
   <sequence name="ListOfGO" content="GEOM_Object"  />
   <sequence name="string_array" content="string"  />
                         </outParameter-list>
                         <DataStream-list></DataStream-list>
                     </component-service>
+                    
+                    <component-service>
+                        <service-name>MakePipeTShape</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePipeTShapeWithPosition</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePipeTShapeChamfer</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theH</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePipeTShapeChamferWithPosition</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theH</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    
+                    
+                    <component-service>
+                        <service-name>MakePipeTShapeFillet</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRF</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePipeTShapeFilletWithPosition</service-name>
+                        <service-author></service-author>
+                        <service-version></service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theW2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theL2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRF</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHewMesh</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theP3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_List</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    
                 </component-service-list>
             </component-interface-list>
     </component>
index 9c0e56b5293198bf49bb7a69409ee38633374ada..74fba88e8b644ff364cba4bde8be4449633ea77b 100644 (file)
@@ -344,6 +344,18 @@ void GEOM_Superv_i::getGroupOp()
   if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
     myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
 }
+    
+//=============================================================================
+//  getAdvancedOp:
+//=============================================================================
+void GEOM_Superv_i::getAdvancedOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IGroupOperations interface
+  if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID))
+    myAdvancedOp = myGeomEngine->GetIAdvancedOperations(myStudyID);
+}
 
 //=============================================================================
 //  GetServant:
@@ -3192,6 +3204,116 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
   return aListPtr->_this();
 }
 
+//=============================== Advanced Operations =============================
+//=============================================================================
+//  MakePipeTShape
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShape" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShape");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShape(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShape" );
+  return aSeqPtr->_this();
+}
+
+//=============================================================================
+//  MakePipeTShapeWithPosition
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, CORBA::Boolean theHexMesh,
+                                          GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShapeWithPosition");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theHexMesh, theP1, theP2, theP3);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShapeWithPosition" );
+  return aSeqPtr->_this();
+}
+
+//=============================================================================
+//  MakePipeTShapeChamfer
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                                    CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShapeChamfer");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamfer(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShapeChamfer" );
+  return aSeqPtr->_this();
+}
+
+//=============================================================================
+//  MakePipeTShapeChamferWithPosition
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, 
+                                             CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
+                                          GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShapeChamferWithPosition");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeChamferWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theH, theW, theHexMesh, theP1, theP2, theP3);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShapeChamferWithPosition" );
+  return aSeqPtr->_this();
+}
+
+//=============================================================================
+//  MakePipeTShapeFillet
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                                    CORBA::Double theRF, CORBA::Boolean theHexMesh)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShapeFillet" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShapeFillet");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFillet(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShapeFillet" );
+  return aSeqPtr->_this();
+}
+
+//=============================================================================
+//  MakePipeTShapeFilletWithPosition
+//=============================================================================
+GEOM::GEOM_List_ptr GEOM_Superv_i::MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, 
+                                             CORBA::Double theRF, CORBA::Boolean theHexMesh,
+                                          GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3)
+{
+  beginService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
+  MESSAGE("GEOM_Superv_i::MakePipeTShapeFilletWithPosition");
+  getAdvancedOp();
+
+  GEOM::ListOfGO* aSeq = myAdvancedOp->MakePipeTShapeFilletWithPosition(theR1, theW1, theL1, theR2, theW2, theL2, theRF, theHexMesh, theP1, theP2, theP3);
+  GEOM_List_i<GEOM::ListOfGO>* aSeqPtr = new GEOM_List_i<GEOM::ListOfGO>(*(aSeq));
+  MESSAGE(" List of "<<aSeqPtr->GetList().length()<<" element(s)");
+  endService( " GEOM_Superv_i::MakePipeTShapeFilletWithPosition" );
+  return aSeqPtr->_this();
+}
+
 //=====================================================================================
 // EXPORTED METHODS
 //=====================================================================================
index a5f4c9f046f95ac536f596d51097ff10c38a323b..03afa574916b3b0215d53bcc662c448340545c48 100644 (file)
@@ -53,7 +53,8 @@ public:
   void getBlocksOp();
   void getCurvesOp();
   void getLocalOp();
-  void getGroupOp();  
+  void getGroupOp();
+  void getAdvancedOp();
 
   PortableServer::ServantBase_var GetServant(CORBA::Object_ptr       theObject,
                                             PortableServer::POA_ptr thePOA);
@@ -665,6 +666,31 @@ public:
   GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
   GEOM::GEOM_List_ptr GetObjects (GEOM::GEOM_Object_ptr theGroup);
   
+  //-----------------------------------------------------------//
+  // Advanced Operations                                       //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_List_ptr MakePipeTShape (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                  CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                  CORBA::Boolean theHexMesh);
+  GEOM::GEOM_List_ptr MakePipeTShapeWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                          CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                          CORBA::Boolean theHexMesh,
+                          GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
+  GEOM::GEOM_List_ptr MakePipeTShapeChamfer (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                     CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                     CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh);
+  GEOM::GEOM_List_ptr MakePipeTShapeChamferWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                             CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2,
+                             CORBA::Double theH, CORBA::Double theW, CORBA::Boolean theHexMesh,
+                             GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
+  GEOM::GEOM_List_ptr MakePipeTShapeFillet (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                        CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, 
+                        CORBA::Double theRF, CORBA::Boolean theHexMesh);
+  GEOM::GEOM_List_ptr MakePipeTShapeFilletWithPosition (CORBA::Double theR1, CORBA::Double theW1, CORBA::Double theL1, 
+                            CORBA::Double theR2, CORBA::Double theW2, CORBA::Double theL2, 
+                            CORBA::Double theRF, CORBA::Boolean theHexMesh,
+                            GEOM::GEOM_Object_ptr theP1, GEOM::GEOM_Object_ptr theP2, GEOM::GEOM_Object_ptr theP3);
+  
 private:
   SALOME_NamingService *  name_service; 
   GEOM::GEOM_Gen_var      myGeomEngine;
@@ -682,6 +708,7 @@ private:
   GEOM::GEOM_ICurvesOperations_var    myCurvesOp;
   GEOM::GEOM_ILocalOperations_var     myLocalOp;
   GEOM::GEOM_IGroupOperations_var     myGroupOp;
+  GEOM::GEOM_IAdvancedOperations_var  myAdvancedOp;
 
 };