April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.
For examples and more explanations, see the module level docs.
TopologyViewer3DWithParams(...) -> new TopologyViewer3DWithParams
component.
A component that takes incoming topology (change) data and displays
it live using pygame OpenGL. A simple physics model assists with visual
layout. Particle types, appearance and physics interactions can be
customised.
It extends TopologyViewer3D by supporting additional parameters of
"ADD" commands.
Keyword arguments (in order):
- screensize -- (width,height) of the display area (default =
(800,600))
- fullscreen -- True to start up in fullscreen mode (default =
False)
- caption -- Caption for the pygame window (default = "Topology
Viewer")
- particleTypes -- dict("type" -> klass) mapping types of particle
to classes used to render them (default = {"-":RenderingParticle})
- initialTopology -- (nodes,bonds) where bonds=list((src,dst))
starting state for the topology (default=([],[]))
- laws -- Physics laws to apply between particles (default =
SimpleLaws(bondlength=100))
- simCyclesPerRedraw -- number of physics sim cycles to run between
each redraw (default=1)
- border -- Minimum distance from edge of display area that new
particles appear (default=100)
Inboxes
Outboxes
Methods defined here
Warning!
You should be using the inbox/outbox interface, not these methods
(except construction). This documentation is designed as a roadmap as to
their functionalilty for maintainers and new component developers.
__init__(self,
**argd)
x.__init__(...) initializes x; see x.__class__.__doc__ for
signature
doCommand(self,
msg)
Proceses a topology command tuple: [ "ADD", "NODE", <id>,
<name>, <positionSpec>, <particle type> ] [ "DEL",
"NODE", <id> ] [ "ADD", "LINK", <id from>, <id to> ] [
"DEL", "LINK", <id from>, <id to> ] [ "DEL", "ALL" ] [
"GET", "ALL" ]
updateParticle(self,
node_id, **params)
updateParticle(node_id, **params) -> updates the given node's
parameters/attributes if it exists
- node_id -- an id for an already existing node
- params -- the updated parameters/attributes dictionary of the
particle, e.g. name, texture, colour and size
- makeBond(self, source, dest)
- removeParticle(self, *ids)
- handleKeyEvents(self, event)
- quit(self[, msg])
- drawParticles(self, *particles)
- addParticle(self, *particles)
- addListenEvents(self, events)
- updateParticleLabel(self, node_id, new_name)
- main(self)
- rotateParticles(self, particles, dAngle)
- initialiseComponent(self)
- draw(self)
- removeListenEvents(self, events)
- breakBond(self, source, dest)
- getTopology(self)
- deselectAll(self)
- selectParticle(self, particle)
- _generatePos(self, posSpec)
- handleEvents(self)
- gotoDisplayLevel(self, dlevel)
- handleMouseEvents(self, event)
- getParticleLabel(self, node_id)
- scroll(self)
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