#

from paraview import servermanager as SM

PM = SM.ProxyManager()

#implicit_functions = SM._createModule("implicit_functions")
implicit_functions = SM.implicit_functions


if not SM.ActiveConnection:
  GUIClient = 0
  connection = SM.Connect()
  if not connection:
      raise exceptions.RuntimeError, "Connection failed!"
else:
  GUIClient = 1

fn = "...exo"
reader = SM.sources.ExodusIIReader(FileName = fn)
reader.UpdateVTKObjects()
reader.ElementResultArrayStatus = ["DENSITY","1"]
if GUIClient:
  PM.RegisterProxy("sources","....exo",reader)

c2p = SM.filters.CellDataToPointData(Input=reader)
if GUIClient:
  PM.RegisterProxy("sources","C2P",c2p)

clip = SM.filters.Clip()
clip.Input = c2p
clip.ClipFunction = implicit_functions.Scalar()
clip.Value = 1.3
clip.SelectInputScalars = ("0", "0", "0", "0", "DENSITY")
if GUIClient:
  PM.RegisterProxy("sources","ClipScalar",clip)

if not GUIClient:
  view = SM.CreateRenderView()
  view.ViewTime = 0.6

  rep = SM.CreateRepresentation(clip, view)

  view.StillRender()
#  view.ResetCamera()
#  view.StillRender()

  import time
  time.sleep(10)
