April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Kamaelia.Visualisation.PhysicsGraph.RenderingParticle

Simple generic particle for Topology visualisation

This is an implementation of a simple rendering particle for topology visualisation.

Example Usage

A topology viewer where particles of type "-" are rendered by RenderingParticle instances:

TopologyViewer( particleTypes = {"-":RenderingParticle},
                laws = Kamaelia.Support.Particles.SimpleLaws(),
              ).run()

SimpleLaws are used that apply the same simple physics laws for all particle types.

How does it work?

This object subclasses Kamaelia.Support.Particles.Particle and adds methods to support rendering.

At initialisation, provide a unique ID, a starting (x,y) position tuple, and a name. The name is displayed as a label ontop of the particle.

If the particle becomes selected it changes its visual appearance to reflect this.

It also renders bonds from this particle to another. They are rendered as simple lines.

Rendering is performed by a generator, returned when the render() method is called. Its behaviour is that needed for the framework for multi-pass rendering that is used by TopologyViewer.

The generator yields the number of the rendering pass it wishes to be next on next. Each time it is subsequently called, it performs the rendering required for that pass. It then yields the number of the next required pass or completes if there is no more rendering required.

An setOffset() method is also implemented to allow the particles coordinates to be offset. This therefore makes it possible to scroll the particles around the display surface.

See TopologyViewer for more details.


Feedback

Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT