# -*- coding: iso-8859-1 -*-

###
### This file is generated automatically by SALOME v6.5.0 with dump python functionality
###

import sys
import salome

salome.salome_init()
theStudy = salome.myStudy


###
### GEOM component
###

import GEOM
import geompy
import math
import SALOMEDS


geompy.init_geom(theStudy)

VX = geompy.MakeVectorDXDYDZ(100, 0, 0)
VY = geompy.MakeVectorDXDYDZ(0, 100, 0)
VZ = geompy.MakeVectorDXDYDZ(0, 0, 100)
geomObj_1 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
Sketch_1 = geompy.MakeSketcherOnPlane("Sketcher:F 0.000000 0.000000:TT 2000.000000 0.000000:TT 2000.000000 1000.000000:TT 0.000000 1000.000000:WW", geomObj_1 )
Vertex_1 = geompy.MakeVertex(750, 500, 0)
geomObj_2 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
Sketch_2 = geompy.MakeSketcherOnPlane("Sketcher:F 750.000000 500.000000:T 500.000000 0.000000:R 90:C 250.000000 180.000000", geomObj_2 )
[Edge_6,Edge_7] = geompy.ExtractShapes(Sketch_2, geompy.ShapeType["EDGE"], True)
Face_1 = geompy.MakeFaceWires([Sketch_1], 1)
Face_2 = geompy.MakeFaceWires([Sketch_2], 1)
Cut_1 = geompy.MakeCut(Face_1, Face_2)
Extrusion_1 = geompy.MakePrismVecH(Cut_1, VZ, 750)
[Face_3,Face_4,Face_5,Face_6,Face_7,Face_8,Face_9,Face_10] = geompy.ExtractShapes(Extrusion_1, geompy.ShapeType["FACE"], True)
Shell_1 = geompy.MakeShell([Face_3, Face_4, Face_5, Face_6, Face_7, Face_8, Face_9, Face_10])
Solid_1 = geompy.MakeSolid([Shell_1])
Solid_1_vertex_27 = geompy.GetSubShape(Solid_1, [27])
Circle_1 = geompy.MakeCircle(Solid_1_vertex_27, VZ, 150)
Extrusion_2 = geompy.MakePrismVecH(Circle_1, VZ, 750)
Common_1 = geompy.MakeCommon(Solid_1, Extrusion_2)
test_edge = geompy.MakePartition([Solid_1], [Common_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
[Face_11,Face_12,Face_13,Face_14,Face_15___wall_2,Face_16_wall,Face_17,Face_18,Face_19,Face_20,Face_21____wall,Face_22,Face_23] = geompy.ExtractShapes(test_edge, geompy.ShapeType["FACE"], True)
[Solid_2,Solid_3] = geompy.ExtractShapes(test_edge, geompy.ShapeType["SOLID"], True)

[Edge_1] = geompy.SubShapes(Face_16_wall, [10])
geomObj_3 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
Sketch_3 = geompy.MakeSketcherOnPlane("Sketcher:F 750.000000 500.000000:TT 1250.000000 500.000000:TT 1250.000000 900.000000:TT 750.000000 900.000000:WW", geomObj_3 )
Extrusion_3 = geompy.MakePrismVecH(Sketch_3, VZ, 750)
Partition_1 = geompy.MakePartition([Solid_1], [Extrusion_3], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
[Solid_4_outer,Solid_5_inner] = geompy.ExtractShapes(Partition_1, geompy.ShapeType["SOLID"], True)
[Face_15] = geompy.SubShapes(Partition_1, [71])
[Face_16] = geompy.SubShapes(Partition_1, [64])
[Edge_2] = geompy.SubShapes(Partition_1, [57])
[Edge_3] = geompy.SubShapes(Partition_1, [63])

[Face_21] = geompy.SubShapes(Solid_5_inner, [13])
geomObj_4 = geompy.GetSubShape(Partition_1, [40])
geomObj_5 = geompy.GetSubShape(Partition_1, [28])
geomObj_6 = geompy.GetSubShape(Partition_1, [40])
geomObj_7 = geompy.GetSubShape(Partition_1, [28])
geomObj_8 = geompy.GetSubShape(Partition_1, [61])
geomObj_9 = geompy.GetSubShape(Partition_1, [58])
geomObj_10 = geompy.GetSubShape(Partition_1, [40])
geomObj_11 = geompy.GetSubShape(Partition_1, [28])
geomObj_12 = geompy.GetSubShape(Partition_1, [40])
geomObj_13 = geompy.GetSubShape(Partition_1, [28])
geomObj_14 = geompy.MakeMarker(0, 0, 0, 1, 0, 0, 0, 1, 0)
Sketch_4 = geompy.MakeSketcherOnPlane("Sketcher:F 600.000000 500.000000:R 90:C -400.000000 180.000000:WW", geomObj_14 )
[Edge_4,Edge_5] = geompy.ExtractShapes(Sketch_4, geompy.ShapeType["EDGE"], True)

[Vertex_2,Vertex_3] = geompy.ExtractShapes(Edge_4, geompy.ShapeType["VERTEX"], True)
Sketch_4_vertex_3 = geompy.GetSubShape(Sketch_4, [3])
Edge_6_vertex_2 = geompy.GetSubShape(Edge_6, [2])
Line_1 = geompy.MakeLineTwoPnt(Sketch_4_vertex_3, Edge_6_vertex_2)
Edge_6_vertex_3 = geompy.GetSubShape(Edge_6, [3])
Sketch_4_vertex_4 = geompy.GetSubShape(Sketch_4, [4])
Line_2 = geompy.MakeLineTwoPnt(Edge_6_vertex_3, Sketch_4_vertex_4)
Wire_1 = geompy.MakeWire([Line_1, Line_2, Edge_7, Edge_5], 1e-07)
Extrusion_4 = geompy.MakePrismVecH(Wire_1, VZ, 750)
Part_to_mesh = geompy.MakePartition([Solid_1], [Extrusion_4], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
[Solid_4,Solid_5] = geompy.ExtractShapes(Part_to_mesh, geompy.ShapeType["SOLID"], True)

[Face_24,Face_25,Face_26,Face_27,Face_28,Face_29] = geompy.ExtractShapes(Solid_5, geompy.ShapeType["FACE"], True)
geomObj_15 = geompy.GetSubShape(Part_to_mesh, [40])
geomObj_16 = geompy.GetSubShape(Part_to_mesh, [28])
geomObj_17 = geompy.GetSubShape(Part_to_mesh, [40])
geomObj_18 = geompy.GetSubShape(Part_to_mesh, [28])
geomObj_19 = geompy.GetSubShape(Part_to_mesh, [40])
geomObj_20 = geompy.GetSubShape(Part_to_mesh, [28])
geomObj_21 = geompy.GetSubShape(Part_to_mesh, [40])
geomObj_22 = geompy.GetSubShape(Part_to_mesh, [28])
Edge_8 = geompy.GetSubShape(Part_to_mesh, [73])
geompy.addToStudy( VX, 'VX' )
geompy.addToStudy( VY, 'VY' )
geompy.addToStudy( VZ, 'VZ' )
geompy.addToStudy( Sketch_1, 'Sketch_1' )
geompy.addToStudy( Vertex_1, 'Vertex_1' )
geompy.addToStudy( Sketch_2, 'Sketch_2' )
geompy.addToStudy( Face_1, 'Face_1' )
geompy.addToStudy( Face_2, 'Face_2' )
geompy.addToStudy( Cut_1, 'Cut_1' )
geompy.addToStudy( Extrusion_1, 'Extrusion_1' )
geompy.addToStudyInFather( Extrusion_1, Face_3, 'Face_3' )
geompy.addToStudyInFather( Extrusion_1, Face_4, 'Face_4' )
geompy.addToStudyInFather( Extrusion_1, Face_5, 'Face_5' )
geompy.addToStudyInFather( Extrusion_1, Face_6, 'Face_6' )
geompy.addToStudyInFather( Extrusion_1, Face_7, 'Face_7' )
geompy.addToStudyInFather( Extrusion_1, Face_8, 'Face_8' )
geompy.addToStudyInFather( Extrusion_1, Face_9, 'Face_9' )
geompy.addToStudyInFather( Extrusion_1, Face_10, 'Face_10' )
geompy.addToStudy( Shell_1, 'Shell_1' )
geompy.addToStudy( Solid_1, 'Solid_1' )
geompy.addToStudyInFather( Solid_1, Solid_1_vertex_27, 'Solid_1:vertex_27' )
geompy.addToStudy( Circle_1, 'Circle_1' )
geompy.addToStudy( Extrusion_2, 'Extrusion_2' )
geompy.addToStudy( Common_1, 'Common_1' )
geompy.addToStudy( test_edge, 'test edge' )
geompy.addToStudyInFather( test_edge, Face_11, 'Face_11' )
geompy.addToStudyInFather( test_edge, Face_12, 'Face_12' )
geompy.addToStudyInFather( test_edge, Face_13, 'Face_13' )
geompy.addToStudyInFather( test_edge, Face_14, 'Face_14' )
geompy.addToStudyInFather( test_edge, Face_15___wall_2, 'Face_15 - wall 2' )
geompy.addToStudyInFather( test_edge, Face_16_wall, 'Face_16 wall' )
geompy.addToStudyInFather( test_edge, Face_17, 'Face_17' )
geompy.addToStudyInFather( test_edge, Face_18, 'Face_18' )
geompy.addToStudyInFather( test_edge, Face_19, 'Face_19' )
geompy.addToStudyInFather( test_edge, Face_20, 'Face_20' )
geompy.addToStudyInFather( test_edge, Face_21____wall, 'Face_21 -  wall' )
geompy.addToStudyInFather( test_edge, Face_22, 'Face_22' )
geompy.addToStudyInFather( test_edge, Face_23, 'Face_23' )
geompy.addToStudyInFather( test_edge, Solid_2, 'Solid_2' )
geompy.addToStudyInFather( test_edge, Solid_3, 'Solid_3' )
geompy.addToStudyInFather( Face_16_wall, Edge_1, 'Edge_1' )
geompy.addToStudy( Sketch_3, 'Sketch_3' )
geompy.addToStudy( Extrusion_3, 'Extrusion_3' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudyInFather( Partition_1, Solid_4_outer, 'Solid_4 outer' )
geompy.addToStudyInFather( Partition_1, Solid_5_inner, 'Solid_5 inner' )
geompy.addToStudyInFather( Partition_1, Face_15, 'Face_15' )
geompy.addToStudyInFather( Partition_1, Face_16, 'Face_16' )
geompy.addToStudyInFather( Partition_1, Edge_2, 'Edge_2' )
geompy.addToStudyInFather( Partition_1, Edge_3, 'Edge_3' )
geompy.addToStudyInFather( Solid_5_inner, Face_21, 'Face_21' )
geompy.addToStudy( Sketch_4, 'Sketch_4' )
geompy.addToStudyInFather( Sketch_4, Edge_4, 'Edge_4' )
geompy.addToStudyInFather( Sketch_4, Edge_5, 'Edge_5' )
geompy.addToStudyInFather( Sketch_2, Edge_6, 'Edge_6' )
geompy.addToStudyInFather( Sketch_2, Edge_7, 'Edge_7' )
geompy.addToStudyInFather( Edge_4, Vertex_2, 'Vertex_2' )
geompy.addToStudyInFather( Edge_4, Vertex_3, 'Vertex_3' )
geompy.addToStudyInFather( Sketch_4, Sketch_4_vertex_3, 'Sketch_4:vertex_3' )
geompy.addToStudyInFather( Edge_6, Edge_6_vertex_2, 'Edge_6:vertex_2' )
geompy.addToStudy( Line_1, 'Line_1' )
geompy.addToStudyInFather( Edge_6, Edge_6_vertex_3, 'Edge_6:vertex_3' )
geompy.addToStudyInFather( Sketch_4, Sketch_4_vertex_4, 'Sketch_4:vertex_4' )
geompy.addToStudy( Line_2, 'Line_2' )
geompy.addToStudy( Wire_1, 'Wire_1' )
geompy.addToStudy( Extrusion_4, 'Extrusion_4' )
geompy.addToStudy( Part_to_mesh, 'Part to mesh' )
geompy.addToStudyInFather( Part_to_mesh, Solid_4, 'Solid_4' )
geompy.addToStudyInFather( Part_to_mesh, Solid_5, 'Solid_5' )
geompy.addToStudyInFather( Solid_5, Face_24, 'Face_24' )
geompy.addToStudyInFather( Solid_5, Face_25, 'Face_25' )
geompy.addToStudyInFather( Solid_5, Face_26, 'Face_26' )
geompy.addToStudyInFather( Solid_5, Face_27, 'Face_27' )
geompy.addToStudyInFather( Solid_5, Face_28, 'Face_28' )
geompy.addToStudyInFather( Solid_5, Face_29, 'Face_29' )
geompy.addToStudyInFather( Part_to_mesh, Edge_8, 'Edge_8' )

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

Banana = smesh.Mesh(Part_to_mesh)

# Straightforward approach

# global
# 1D
algo1d = Banana.Segment()
algo1d.AutomaticLength( 0.2 )
# 2D
Banana.Triangle()
# 3D
Banana.Tetrahedron()

# sub-meshes
# 1D
algo1d = Banana.Segment( Edge_8 )
algo1d.NumberOfSegments( 8 )
algo1d.Propagation()
# 2D
Banana.Quadrangle( Solid_5 )
# 3d
hexa = Banana.Hexahedron( Solid_5 )
# hexa.ViscousLayers( thickness = 40., numberOfLayers = 3, stretchFactor = 1.5,
#                     ignoreFaces=[ Face_26, Face_27 ])
Banana.Compute()

#global
# 2D
# Banana.Triangle()
# # 3D
# Banana.Tetrahedron()

# Banana.Compute()

