#!/usr/bin/env python

###
### This file is generated automatically by SALOME v9.14.0 with dump python functionality
###

import sys
import salome

salome.salome_init()
import salome_notebook
notebook = salome_notebook.NoteBook()
sys.path.insert(0, r'/home/franco/Desktop')

###
### GEOM component
###

import GEOM
from salome.geom import geomBuilder
import math
import SALOMEDS


geompy = geomBuilder.New()

O = geompy.MakeVertex(0, 0, 0)
OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
Translation_1 = geompy.MakeTranslation(Box_1, 0, 0, 200)
Compound_1 = geompy.MakeCompound([Box_1, Translation_1])
Glue_1 = geompy.MakeGlueFaces(Compound_1, 1e-07)
Group_1 = geompy.CreateGroup(Glue_1, geompy.ShapeType["SOLID"])
geompy.UnionIDs(Group_1, [36])
Group_2 = geompy.CreateGroup(Glue_1, geompy.ShapeType["SOLID"])
geompy.UnionIDs(Group_2, [2])
geompy.addToStudy( O, 'O' )
geompy.addToStudy( OX, 'OX' )
geompy.addToStudy( OY, 'OY' )
geompy.addToStudy( OZ, 'OZ' )
geompy.addToStudy( Box_1, 'Box_1' )
geompy.addToStudy( Translation_1, 'Translation_1' )
geompy.addToStudy( Compound_1, 'Compound_1' )
geompy.addToStudy( Glue_1, 'Glue_1' )
geompy.addToStudyInFather( Glue_1, Group_1, 'Group_1' )
geompy.addToStudyInFather( Glue_1, Group_2, 'Group_2' )

###
### SMESH component
###

import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder

smesh = smeshBuilder.New()
#smesh.SetEnablePublish( False ) # Set to False to avoid publish in study if not needed or in some particular situations:
                                 # multiples meshes built in parallel, complex and numerous mesh edition (performance)

Mesh_1 = smesh.Mesh(Glue_1,'Mesh_1')
NETGEN_1D_2D_3D = Mesh_1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
NETGEN_3D = Mesh_1.Tetrahedron(geom=Group_1)
NETGEN_3D_Parameters_1 = NETGEN_3D.Parameters()
NETGEN_3D_Parameters_1.SetMaxSize( 40 )
NETGEN_3D_Parameters_1.SetMinSize( 30 )
NETGEN_3D_Parameters_1.SetOptimize( 1 )
NETGEN_3D_Parameters_1.SetFineness( 2 )
NETGEN_3D_Parameters_1.SetElemSizeWeight( 0 )
NETGEN_3D_Parameters_1.SetCheckOverlapping( 0 )
NETGEN_3D_Parameters_1.SetCheckChartBoundary( 48 )
NETGEN_3D_1 = Mesh_1.Tetrahedron(geom=Group_2)
NETGEN_3D_Parameters_2 = NETGEN_3D_1.Parameters()
NETGEN_3D_Parameters_2.SetMaxSize( 10 )
NETGEN_3D_Parameters_2.SetMinSize( 5 )
NETGEN_3D_Parameters_2.SetOptimize( 1 )
NETGEN_3D_Parameters_2.SetFineness( 2 )
NETGEN_3D_Parameters_2.SetElemSizeWeight( 0 )
NETGEN_3D_Parameters_2.SetCheckOverlapping( 0 )
NETGEN_3D_Parameters_2.SetCheckChartBoundary( 48 )
status = Mesh_1.RemoveHypothesis(NETGEN_1D_2D_3D)
NETGEN_1D_2D = Mesh_1.Triangle(algo=smeshBuilder.NETGEN_1D2D)
NETGEN_3D_2 = Mesh_1.Tetrahedron()
isDone = Mesh_1.Compute()
Mesh_1.CheckCompute()
Sub_mesh_1 = NETGEN_3D.GetSubMesh()
Sub_mesh_2 = NETGEN_3D_1.GetSubMesh()


## Set names of Mesh objects
smesh.SetName(Sub_mesh_1, 'Sub-mesh_1')
smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1')
smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1')
smesh.SetName(NETGEN_3D_Parameters_2, 'NETGEN 3D Parameters_2')
smesh.SetName(Sub_mesh_2, 'Sub-mesh_2')
smesh.SetName(NETGEN_1D_2D.GetAlgorithm(), 'NETGEN 1D-2D')
smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D')
smesh.SetName(NETGEN_3D.GetAlgorithm(), 'NETGEN 3D')


if salome.sg.hasDesktop():
  salome.sg.updateObjBrowser()
