# -*- 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

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

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

#Set up visual properties:
ipar.setProperty("AP_ACTIVE_VIEW", "VTKViewer_0_0")
ipar.setProperty("AP_WORKSTACK_INFO", "000000010000000000000002010000000100000676000000040000000100000001000000080000001a00560054004b005600690065007700650072005f0030005f00300000000102")
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", "VTKViewer_1")
# fill list VTKViewer_1
ipar.append("VTKViewer_1", "VTK scene:4 - viewer:1")
ipar.append("VTKViewer_1", """<?xml version="1.0"?>
<ViewState>
    <Position X="507.631" Y="522.107" Z="1203.53"/>
    <FocalPoint X="51.7422" Y="59.1026" Z="85.8655"/>
    <ViewUp X="-0.600521" Y="-0.621918" Z="0.502585"/>
    <ViewScale Parallel="90.9844" 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="0" Size="105"/>
    <Background Value="bt=1;fn=;tm=0;ts=false;c1=#000000;c2=#000000;gt=-1;gr="/>
</ViewState>
""")
# fill list AP_MODULES_LIST
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)
Sphere_1 = geompy.MakeSphereR(100)
Partition_1 = geompy.MakePartition([Box_1], [Sphere_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0)
to_be_meshed = geompy.RemoveExtraEdges(Partition_1, False)
sphere = geompy.CreateGroup(to_be_meshed, geompy.ShapeType["SOLID"])
geompy.UnionIDs(sphere, [2])
cube = geompy.CreateGroup(to_be_meshed, geompy.ShapeType["SOLID"])
geompy.UnionIDs(cube, [22])
start_face = geompy.CreateGroup(to_be_meshed, geompy.ShapeType["FACE"])
geompy.UnionIDs(start_face, [12])
interface = geompy.CreateGroup(to_be_meshed, geompy.ShapeType["FACE"])
geompy.UnionIDs(interface, [17])
geompy.addToStudy( Box_1, 'Box_1' )
geompy.addToStudy( Sphere_1, 'Sphere_1' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudy( to_be_meshed, 'to be meshed' )
geompy.addToStudyInFather( to_be_meshed, sphere, 'sphere' )
geompy.addToStudyInFather( to_be_meshed, cube, 'cube' )
geompy.addToStudyInFather( to_be_meshed, start_face, 'start face' )
geompy.addToStudyInFather( to_be_meshed, interface, 'interface' )

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


###
### SMESH component
###

import smesh, SMESH, SALOMEDS

aFilterManager = smesh.CreateFilterManager()
smesh.SetCurrentStudy(theStudy)
import StdMeshers
import NETGENPlugin
Mesh_1 = smesh.Mesh(to_be_meshed)
Regular_1D = Mesh_1.Segment()
Nb_Segments_1 = Regular_1D.NumberOfSegments(5)
Nb_Segments_1.SetDistrType( 0 )
Quadrangle_2D = Mesh_1.Quadrangle(algo=smesh.QUADRANGLE,geom=interface)
Quadrangle_Parameters_1 = Quadrangle_2D.QuadrangleParameters(StdMeshers.QUAD_STANDARD,8)
isDone = Mesh_1.Compute()
NETGEN_2D_ONLY = Mesh_1.Triangle(algo=smesh.NETGEN_2D,geom=start_face)
NETGEN_2D_Parameters = NETGEN_2D_ONLY.Parameters()
NETGEN_2D_Parameters.SetMaxSize( 42.5379 )
NETGEN_2D_Parameters.SetSecondOrder( 168 )
NETGEN_2D_Parameters.SetOptimize( 1 )
NETGEN_2D_Parameters.SetFineness( 2 )
NETGEN_2D_Parameters.SetMinSize( 14.1793 )
NETGEN_2D_Parameters.SetQuadAllowed( 0 )
NETGEN_2D_Parameters.SetSecondOrder( 120 )
isDone = Mesh_1.Compute()
aCriteria = []
aCriterion = smesh.GetCriterion(SMESH.FACE,SMESH.FT_BelongToGenSurface,SMESH.FT_Undefined,start_face)
aCriteria.append(aCriterion)
Mesh_1.RotationSweep( [ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144 ], SMESH.AxisStruct( 0, 0, 0, 0, 0, 1 ), 0.314159, 5, 1e-05 )
SubMesh_1 = Quadrangle_2D.GetSubMesh()
SubMesh_2 = NETGEN_2D_ONLY.GetSubMesh()

## set object names
smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1')
smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
smesh.SetName(Nb_Segments_1, 'Nb. Segments_1')
smesh.SetName(Quadrangle_2D.GetAlgorithm(), 'Quadrangle_2D')
smesh.SetName(Quadrangle_Parameters_1, 'Quadrangle Parameters_1')
smesh.SetName(NETGEN_2D_ONLY.GetAlgorithm(), 'NETGEN_2D_ONLY')
smesh.SetName(NETGEN_2D_Parameters, 'NETGEN 2D Parameters')
smesh.SetName(SubMesh_1, 'SubMesh_1')
smesh.SetName(SubMesh_2, 'SubMesh_2')

### 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:7:1 (SubMesh_1) parameters
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Visibility", "On")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Representation", "2")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_IsShrunk", "0")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Entities", "e:1:f:1:v:1")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Colors", "surface:0:0.662745:1:backsurface:-100:edge:0:0.662745:1:node:1:0:0:outline:1:0:0")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Sizes", "line:2:shrink:0.75")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_PointMarker", "std:1:9")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_Opacity", "1")
ipar.setParameter("SMESH_3:7:1", "VTKViewer_0_ClippingPlane", "Off")
# 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:0:v:1")
ipar.setParameter("SMESH_3", "VTKViewer_0_Colors", "surface:0:0.662745:1:backsurface:-100:edge:0:0.662745:1:node:1:0:0:outline:0:0:0")
ipar.setParameter("SMESH_3", "VTKViewer_0_Sizes", "line:2: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")


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