--- /dev/null
+include wx
+include vtk
+include std
+include wxvtk
+
+define IsoSurfaceWidget wxvtk
+ author "laurent.guigues@creatis.insa-lyon.fr"
+ description "Image iso-surface extractor (vtk::IsoSurfaceExtractor) with associated control panel (isovalue, opacity and colour)"
+ category "image;mesh;widget;viewer"
+
+ new LayoutLine controls
+ new LayoutLine sliders
+ new IsoSurfaceExtractor surface
+ new Slider isovalue
+ new Slider opacity
+ new LayoutLine colourFrame
+ new ColourSelectorButton colour
+ new MultipleInputs refresh
+ new Div div
+
+ connect sliders.Widget controls.Widget1
+ connect colourFrame.Widget controls.Widget2
+
+ connect colour.Widget colourFrame.Widget1
+ connect isovalue.Widget sliders.Widget1
+ connect opacity.Widget sliders.Widget2
+
+ connect isovalue.Out surface.Isovalue
+ connect opacity.Out div.In1
+ set div.In2 100
+ connect div.Out surface.Opacity
+ connect colour.Out surface.Colour
+
+ connect isovalue.BoxChange refresh.In1
+ connect opacity.BoxChange refresh.In2
+ connect colour.BoxChange refresh.In3
+
+# connect colourButton.BoxChange colour.BoxExecute
+
+ set colourFrame.WinTitle "Colour"
+ set controls.Orientation HORIZONTAL
+ set isovalue.Title "Isovalue"
+ set opacity.Title "Opacity"
+ set opacity.Min 0
+ set opacity.Max 100
+ set opacity.In 100
+
+# set colourButton.Label "Colour"
+
+ input Title controls.WinTitle "Title of the control panel"
+ input In surface.In "Input image"
+
+ input Opacity opacity.In "Initial opacity"
+ input Isovalue isovalue.In "Initial isovalue"
+ input Colour colour.In "Initial colour"
+
+ input BoxExecute surface.BoxExecute "Box execution"
+
+ input Vertical controls.Orientation "Set to 1 to have controls arranged vertically"
+
+ output Out surface.Out "Output surface"
+ output BoxChange refresh.Out "BoxChange"
+ output Widget controls.Widget "Widget"
+
+endefine