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

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

import sys
import salome

salome.salome_init()
theStudy = salome.myStudy

import salome_notebook
notebook = salome_notebook.notebook
sys.path.insert( 0, r'/home/yvan/test')

import iparameters
ipar = iparameters.IParameters(salome.myStudy.GetCommonParameters("Interface Applicative", 1))

#Set up visual properties:
ipar.setProperty("AP_ACTIVE_VIEW", "VTKViewer_0_0")
ipar.setProperty("AP_WORKSTACK_INFO", "0000000100000000000000020100000001000003d4000000040000000200000002000000080000001a004f00430043005600690065007700650072005f0030005f00300000000102000000080000001a00560054004b005600690065007700650072005f0030005f00300000000202")
ipar.setProperty("AP_ACTIVE_MODULE", "Mesh")
ipar.setProperty("AP_SAVEPOINT_NAME", "GUI state: 1")
#Set up lists:
# fill list AP_VIEWERS_LIST
ipar.append("AP_VIEWERS_LIST", "OCCViewer_1")
ipar.append("AP_VIEWERS_LIST", "VTKViewer_2")
# fill list OCCViewer_1
ipar.append("OCCViewer_1", "OCC scene:1 - viewer:1")
ipar.append("OCCViewer_1", "scale=1.000000000000e+00*centerX=0.000000000000e+00*centerY=0.000000000000e+00*projX=5.773502588272e-01*projY=-5.773502588272e-01*projZ=5.773502588272e-01*twist=0.000000000000e+00*atX=0.000000000000e+00*atY=0.000000000000e+00*atZ=0.000000000000e+00*eyeX=2.886751294136e+02*eyeY=-2.886751294136e+02*eyeZ=2.886751294136e+02*scaleX=1.000000000000e+00*scaleY=1.000000000000e+00*scaleZ=1.000000000000e+00*isVisible=1*size=200.00*gtIsVisible=0*gtDrawNameX=1*gtDrawNameY=1*gtDrawNameZ=1*gtNameX=X*gtNameY=Y*gtNameZ=Z*gtNameColorRX=255*gtNameColorGX=0*gtNameColorBX=0*gtNameColorRY=0*gtNameColorGY=255*gtNameColorBY=0*gtNameColorRZ=0*gtNameColorGZ=0*gtNameColorBZ=255*gtDrawValuesX=1*gtDrawValuesY=1*gtDrawValuesZ=1*gtNbValuesX=3*gtNbValuesY=3*gtNbValuesZ=3*gtOffsetX=2*gtOffsetY=2*gtOffsetZ=2*gtColorRX=255*gtColorGX=0*gtColorBX=0*gtColorRY=0*gtColorGY=255*gtColorBY=0*gtColorRZ=0*gtColorGZ=0*gtColorBZ=255*gtDrawTickmarksX=1*gtDrawTickmarksY=1*gtDrawTickmarksZ=1*gtTickmarkLengthX=5*gtTickmarkLengthY=5*gtTickmarkLengthZ=5")
# fill list VTKViewer_2
ipar.append("VTKViewer_2", "VTK scene:1 - viewer:1")
ipar.append("VTKViewer_2", """<?xml version="1.0"?>
<ViewState>
    <Position X="1592.82" Y="-1392.82" Z="1592.82"/>
    <FocalPoint X="100" Y="100" Z="100"/>
    <ViewUp X="0" Y="0" Z="1"/>
    <ViewScale Parallel="173.205" X="1" Y="1" Z="1"/>
    <DisplayCubeAxis Show="0"/>
    <GraduatedAxis Axis="X">
        <Title isVisible="1" Text="X" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="1" G="0" B="0"/>
        </Title>
        <Labels isVisible="1" Number="3" Offset="2" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="1" G="0" B="0"/>
        </Labels>
        <TickMarks isVisible="1" Length="5"/>
    </GraduatedAxis>
    <GraduatedAxis Axis="Y">
        <Title isVisible="1" Text="Y" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="0" G="1" B="0"/>
        </Title>
        <Labels isVisible="1" Number="3" Offset="2" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="0" G="1" B="0"/>
        </Labels>
        <TickMarks isVisible="1" Length="5"/>
    </GraduatedAxis>
    <GraduatedAxis Axis="Z">
        <Title isVisible="1" Text="Z" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="0" G="0" B="1"/>
        </Title>
        <Labels isVisible="1" Number="3" Offset="2" Font="0" Bold="0" Italic="0" Shadow="0">
            <Color R="0" G="0" B="1"/>
        </Labels>
        <TickMarks isVisible="1" Length="5"/>
    </GraduatedAxis>
    <Trihedron isShown="1" Size="105"/>
</ViewState>
""")
# fill list AP_MODULES_LIST
ipar.append("AP_MODULES_LIST", "Geometry")
ipar.append("AP_MODULES_LIST", "Mesh")


###
### GEOM component
###

import GEOM
import geompy
import math
import SALOMEDS


geompy.init_geom(theStudy)

Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
Cone_1 = geompy.MakeConeR1R2H(60, 40, 110)
geompy.TranslateDXDYDZ(Cone_1, 100, 100, 50)
Partition_1 = geompy.MakePartition([Box_1], [Cone_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
[Face_1,Face_2,Face_3,Face_4,Face_5,Face_6,Face_7,Face_8,Face_9] = geompy.ExtractShapes(Partition_1, geompy.ShapeType["FACE"], True)

listSubShapeIDs = geompy.SubShapeAllIDs(Face_3, geompy.ShapeType["FACE"])

listSubShapeIDs = geompy.SubShapeAllIDs(Face_5, geompy.ShapeType["FACE"])

listSubShapeIDs = geompy.SubShapeAllIDs(Face_7, geompy.ShapeType["FACE"])
top = geompy.CreateGroup(Face_7, geompy.ShapeType["FACE"])
geompy.UnionIDs(top, [1])
cylinder_side = geompy.CreateGroup(Face_5, geompy.ShapeType["FACE"])
geompy.UnionIDs(cylinder_side, [1])
bottom = geompy.CreateGroup(Face_3, geompy.ShapeType["FACE"])
geompy.UnionIDs(bottom, [1])
geompy.addToStudy( Box_1, 'Box_1' )
geompy.addToStudy( Cone_1, 'Cone_1' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudyInFather( Partition_1, Face_1, 'Face_1' )
geompy.addToStudyInFather( Partition_1, Face_2, 'Face_2' )
geompy.addToStudyInFather( Partition_1, Face_3, 'Face_3' )
geompy.addToStudyInFather( Partition_1, Face_4, 'Face_4' )
geompy.addToStudyInFather( Partition_1, Face_5, 'Face_5' )
geompy.addToStudyInFather( Partition_1, Face_6, 'Face_6' )
geompy.addToStudyInFather( Partition_1, Face_7, 'Face_7' )
geompy.addToStudyInFather( Partition_1, Face_8, 'Face_8' )
geompy.addToStudyInFather( Partition_1, Face_9, 'Face_9' )
geompy.addToStudyInFather( Face_7, top, 'top' )
geompy.addToStudyInFather( Face_5, cylinder_side, 'cylinder_side' )
geompy.addToStudyInFather( Face_3, bottom, 'bottom' )

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "GEOM", 1))

#Set up entries:
# set up entry GEOM_1 (Box_1) parameters
objId = geompy.getObjectID(Box_1)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_2 (Cone_1) parameters
objId = geompy.getObjectID(Cone_1)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3 (Partition_1) parameters
objId = geompy.getObjectID(Partition_1)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:10 (Face_8) parameters
objId = geompy.getObjectID(Face_8)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:11 (Face_9) parameters
objId = geompy.getObjectID(Face_9)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:3 (Face_1) parameters
objId = geompy.getObjectID(Face_1)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:4 (Face_2) parameters
objId = geompy.getObjectID(Face_2)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:5 (Face_3) parameters
objId = geompy.getObjectID(Face_3)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:5:2 (bottom) parameters
objId = geompy.getObjectID(bottom)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:6 (Face_4) parameters
objId = geompy.getObjectID(Face_4)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:7 (Face_5) parameters
objId = geompy.getObjectID(Face_5)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:7:2 (cylinder_side) parameters
objId = geompy.getObjectID(cylinder_side)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:8 (Face_6) parameters
objId = geompy.getObjectID(Face_6)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:9 (Face_7) parameters
objId = geompy.getObjectID(Face_7)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")
# set up entry GEOM_3:9:2 (top) parameters
objId = geompy.getObjectID(top)
ipar.setParameter(objId, "OCCViewer_0_Visibility", "On")
ipar.setParameter(objId, "OCCViewer_0_Color", "1:1:0")

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import NETGENPlugin
smeshObj_1 = smesh.CreateHypothesis('NETGEN_Parameters', 'NETGENEngine')
Mesh_1 = smesh.Mesh(Partition_1)
NETGEN_2D3D = Mesh_1.Tetrahedron(algo=smesh.FULL_NETGEN)
NETGEN_3D_Simple_Parameters = NETGEN_2D3D.Parameters(which=smesh.SIMPLE)
NETGEN_3D_Simple_Parameters.SetLocalLength( 12 )
NETGEN_3D_Simple_Parameters.LengthFromEdges()
NETGEN_3D_Simple_Parameters.LengthFromFaces()
isDone = Mesh_1.Compute()
status = Mesh_1.RemoveHypothesis(NETGEN_3D_Simple_Parameters)
NETGEN_3D_Parameters = NETGEN_2D3D.Parameters()
NETGEN_3D_Parameters.SetMaxSize( 34.7237 )
NETGEN_3D_Parameters.SetSecondOrder( 0 )
NETGEN_3D_Parameters.SetOptimize( 1 )
NETGEN_3D_Parameters.SetFineness( 2 )
NETGEN_3D_Parameters.SetMinSize( 11.5746 )
isDone = Mesh_1.Compute()
bottom_1 = Mesh_1.GroupOnGeom(bottom,'bottom',SMESH.FACE)
cylinder_side_1 = Mesh_1.GroupOnGeom(cylinder_side,'cylinder_side',SMESH.FACE)
top_1 = Mesh_1.GroupOnGeom(top,'top',SMESH.FACE)
cylinder_side_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 ))
smesh.SetName(Mesh_1, 'Mesh_1')
Mesh_1.ExportMED( r'/home/yvan/test/cube_with_cylinder.med', 0, SMESH.MED_V2_2, 1 )
bottom_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 ))
top_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 ))

## some objects were removed
aStudyBuilder = theStudy.NewBuilder()
SO = theStudy.FindObjectIOR(theStudy.ConvertObjectToIOR(smeshObj_1))
if SO is not None: aStudyBuilder.RemoveObjectWithChildren(SO)
## set object names
smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1')
smesh.SetName(NETGEN_2D3D.GetAlgorithm(), 'NETGEN_2D3D')
smesh.SetName(NETGEN_3D_Simple_Parameters, 'NETGEN 3D Simple Parameters_1')
smesh.SetName(NETGEN_3D_Parameters, 'NETGEN 3D Parameters')
smesh.SetName(bottom_1, 'bottom')
smesh.SetName(cylinder_side_1, 'cylinder_side')
smesh.SetName(top_1, 'top')

### Store presentation parameters of displayed objects
import iparameters
ipar = iparameters.IParameters(theStudy.GetModuleParameters("Interface Applicative", "SMESH", 1))

#Set up entries:
# set up entry SMESH_3 (Mesh_1) parameters
ipar.setParameter("SMESH_3", "VTKViewer_0_Visibility", "On")
ipar.setParameter("SMESH_3", "VTKViewer_0_Representation", "2")
ipar.setParameter("SMESH_3", "VTKViewer_0_IsShrunk", "0")
ipar.setParameter("SMESH_3", "VTKViewer_0_Entities", "e:1:f:1:v:1")
ipar.setParameter("SMESH_3", "VTKViewer_0_Colors", "surface:0:0.666667:1:backsurface:-100:edge:0:0.666667:1:node:1:0:0:outline:0:0.27451:0")
ipar.setParameter("SMESH_3", "VTKViewer_0_Sizes", "line:1:shrink:0.75")
ipar.setParameter("SMESH_3", "VTKViewer_0_PointMarker", "std:1:9")
ipar.setParameter("SMESH_3", "VTKViewer_0_Opacity", "1")
ipar.setParameter("SMESH_3", "VTKViewer_0_ClippingPlane", "Off")
# set up entry SMESH_3:13:2 (cylinder_side) parameters
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Visibility", "On")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Representation", "2")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_IsShrunk", "0")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Entities", "e:0:f:1:v:0")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Colors", "surface:0:0.666667:1:backsurface:-100:edge:0:0.666667:1:node:1:0:0:outline:0:0.27451:0")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Sizes", "line:1:shrink:0.75")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_PointMarker", "std:1:9")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_Opacity", "1")
ipar.setParameter("SMESH_3:13:2", "VTKViewer_0_ClippingPlane", "Off")
# set up entry SMESH_3:13:1 (bottom) parameters
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Visibility", "On")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Representation", "2")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_IsShrunk", "0")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Entities", "e:0:f:1:v:0")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Colors", "surface:0:0.666667:1:backsurface:-100:edge:0:0.666667:1:node:1:0:0:outline:0:0.27451:0")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Sizes", "line:1:shrink:0.75")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_PointMarker", "std:1:9")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_Opacity", "1")
ipar.setParameter("SMESH_3:13:1", "VTKViewer_0_ClippingPlane", "Off")
# set up entry SMESH_3:13:3 (top) parameters
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Visibility", "On")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Representation", "2")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_IsShrunk", "0")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Entities", "e:0:f:1:v:0")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Colors", "surface:0:0.666667:1:backsurface:-100:edge:0:0.666667:1:node:1:0:0:outline:0:0.27451:0")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Sizes", "line:1:shrink:0.75")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_PointMarker", "std:1:9")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_Opacity", "1")
ipar.setParameter("SMESH_3:13:3", "VTKViewer_0_ClippingPlane", "Off")


if salome.sg.hasDesktop():
  salome.sg.updateObjBrowser(1)
  iparameters.getSession().restoreVisualState(1)
