示例#1
0
register_pipeline_node(ParticleVisualizerNode)


class ParticleVisualizer(Vtk3dVisualizerPage):
    """Visualizer.
    """
    @log_call
    def update(self):
        """Updates content of the rendering window.

        TODO: this method call should be handled in superclass...
        """
        self.render()


register_visualizer_page('ParticleVisualizerNode', ParticleVisualizer)


class ParticleVisualizerInspector(InspectorPage):
    """Inspector.
    """
    def __init__(self, *args, **kwargs):
        """Initializer.
        """
        InspectorPage.__init__(self, *args, **kwargs)
        self.init_ui()

    def init_ui(self):
        """Sets UI up.
        """
        widgets = []
        self.tree = tree
        
    def update(self):
        """Observer update handler.
        """
        if not self.tree.hdf5_file==self.target.hdf5_data:
            self.tree.hdf5_file = self.target.hdf5_data

    def on_tree_select(self, node_path):
        """Callback from tree on selection change.
        """
        debug('node cursor set to  %s' %node_path)
        self.target.node_cursor = node_path
        self.target.status_changed()
            
register_visualizer_page('SimpleHdf5TreeVisualizerNode', SimpleHdf5TreeVisualizer)


class SimpleHdf5TreeInspector(InspectorPage):
    """Simple HDF5 tree inspector.
    """
    def __init__(self, *args, **kwargs):
        """Initializer.
        """
        InspectorPage.__init__(self, *args, **kwargs)
        # path text.
        path_label = wx.StaticText(self, -1, 'Path')
        path_text = wx.TextCtrl(self, -1, style=wx.TE_READONLY)
        # attributes grid.
        attr_label = wx.StaticText(self, -1, 'Attributes')
        attr_grid = Grid(self, -1, size=(-1, 100))
        if self.sid_color_map is None:
            self.sid_color_map = {}

        for sp in ps.species:
            if sp not in self.sid_color_map.keys():
                self.sid_color_map[sp] = get_new_color(len(self.sid_color_map))

register_pipeline_node(ParticleSpaceVisualizerNode)

class ParticleSpaceVisualizer(Vtk3dVisualizerPage):

    @log_call
    def update(self):
        self.render()

register_visualizer_page('ParticleSpaceVisualizerNode', ParticleSpaceVisualizer)

class ParticleSpaceVisualizerInspector(InspectorPage):
    """Inspector page for ParticleSpaceVisualizer.
    """
    def __init__(self, *args, **kwargs):
        """Initializer.
        """
        InspectorPage.__init__(self, *args, **kwargs)
        self.init_ui()

    def init_ui(self):
        widgets = []
        widgets.extend(self.get_particle_space_widgets())
        widgets.extend(self.get_particle_widgets())
        fx_sizer = wx.FlexGridSizer(cols=2, vgap=9, hgap=15)
示例#4
0
    def update(self):
        """Observer's update handler
        """
        self.figure.clear()
        axes = self.figure.add_subplot("111")
        populations = self.target.time_course
        xys = []
        names = []
        for name, xy in populations.items():
            xys.extend(zip(*xy) + ["o-"])
            names.append(name)
        axes.plot(*xys)
        axes.legend(names)
        self.canvas.draw()


register_visualizer_page("TimecourseVisualizerNode", TimecourseVisualizer)


if __name__ == "__main__":
    # TBD
    app = wx.App()
    frame = wx.Frame(None, -1, "")
    node = TimecourseVisualizerNode()
    page = TimecourseVisualizer(frame, -1, target=node)
    sizer = wx.BoxSizer(wx.VERTICAL)
    sizer.Add(page)
    frame.SetSizer(sizer)
    frame.Show(True)
    app.MainLoop()
示例#5
0
    def __init__(self, *args, **kwargs):
        super(DemoConeVisualizerNode, self).__init__(*args, **kwargs)
        self.renderer
        source = vtk.vtkConeSource()
        source.SetResolution(64)
        mapper = vtk.vtkPolyDataMapper()
        mapper.SetInput(source.GetOutput())
        self.actor = vtk.vtkActor()
        self.actor.SetMapper(mapper)
        self.renderer.AddActor(self.actor)
        self.renderer


# Register pipleline node
register_pipeline_node(DemoConeVisualizerNode)

# Define visualizer
class DemoConeVisualizerPage(Vtk3dVisualizerPage):
    """Abstract superclass for pages in a visualizer notebook.
    """
    pass
        
# Register visualizer page to registry.
register_visualizer_page('DemoConeVisualizerNode', DemoConeVisualizerPage)


# You may write demonstrative app code here...
if __name__=='__main__':
    pass
示例#6
0
    def __init__(self, *args, **kwargs):
        super(DemoConeVisualizerNode, self).__init__(*args, **kwargs)
        self.renderer
        source = vtk.vtkConeSource()
        source.SetResolution(64)
        mapper = vtk.vtkPolyDataMapper()
        mapper.SetInput(source.GetOutput())
        self.actor = vtk.vtkActor()
        self.actor.SetMapper(mapper)
        self.renderer.AddActor(self.actor)
        self.renderer


# Register pipleline node
register_pipeline_node(DemoConeVisualizerNode)


# Define visualizer
class DemoConeVisualizerPage(Vtk3dVisualizerPage):
    """Abstract superclass for pages in a visualizer notebook.
    """
    pass


# Register visualizer page to registry.
register_visualizer_page('DemoConeVisualizerNode', DemoConeVisualizerPage)

# You may write demonstrative app code here...
if __name__ == '__main__':
    pass
    def update(self):
        """Observer update handler.
        """
        if not self.tree.hdf5_file == self.target.hdf5_data:
            self.tree.hdf5_file = self.target.hdf5_data

    def on_tree_select(self, node_path):
        """Callback from tree on selection change.
        """
        debug('node cursor set to  %s' % node_path)
        self.target.node_cursor = node_path
        self.target.status_changed()


register_visualizer_page('SimpleHdf5TreeVisualizerNode',
                         SimpleHdf5TreeVisualizer)


class SimpleHdf5TreeInspector(InspectorPage):
    """Simple HDF5 tree inspector.
    """
    def __init__(self, *args, **kwargs):
        """Initializer.
        """
        InspectorPage.__init__(self, *args, **kwargs)
        # path text.
        path_label = wx.StaticText(self, -1, 'Path')
        path_text = wx.TextCtrl(self, -1, style=wx.TE_READONLY)
        # attributes grid.
        attr_label = wx.StaticText(self, -1, 'Attributes')
        attr_grid = Grid(self, -1, size=(-1, 100))
示例#8
0
    def update(self):
        """Observer's update handler
        """
        self.figure.clear()
        axes = self.figure.add_subplot('111')
        populations = self.target.time_course
        xys = []
        names = []
        for name, xy in populations.items():
            xys.extend(zip(*xy) + ['o-'])
            names.append(name)
        axes.plot(*xys)
        axes.legend(names)
        self.canvas.draw()


register_visualizer_page('TimecourseVisualizerNode', TimecourseVisualizer)

if __name__ == '__main__':
    # TBD
    app = wx.App()
    frame = wx.Frame(None, -1, '')
    node = TimecourseVisualizerNode()
    page = TimecourseVisualizer(frame, -1, target=node)
    sizer = wx.BoxSizer(wx.VERTICAL)
    sizer.Add(page)
    frame.SetSizer(sizer)
    frame.Show(True)
    app.MainLoop()