Simple behavioursA collection of components that send to their "outbox" outbox, values according to simple behaviours - such as constant value, bouncing, looping etc. Example UsageGenerate values that bounce up and down between 0 and 1 in steps of 0.05: bouncingFloat(scale_speed=0.05*10) Generate (x,y) coordinates, starting at (50,50) that bounce within a 200x100 box with a 10 unit inside margin: cartesianPingPong(point=(50,50), width=200, height=100, border=10) Generate the angles for the seconds hand on an analog watch: loopingCounter(increment=360/60, modulo=360) Constantly generate the number 7: continuousIdentity(original=7) Constantly generate the string "hello": continuousIdentity(original="hello") Constantly generate the value 0: continuousZero() Constantly generate the value 1: continuousOne() More detailAll components start emitting values as soon as they are activated. They then emit values as fast as they can (there is no throttling/rate control). All components will terminate if they receive the string "shutdown" on their "control" inbox. They also then send "shutdown" to their "signal" outbox. All components will pause and stop emitting values if they receive the string "pause" on their "control" inbox. They will resume from where they left off if they receive the string "unpause" on the same inbox. Kamaelia.Automata.Behaviours.bouncingFloatclass bouncingFloat(Axon.Component.component)bouncingFloat(scale_speed) -> new bouncingFloat component A component that emits a value that constantly bounces between 0 and 1. scale_speed scales the rate at which the value changes. 1.0 = tenths, 0.5 = twentieths, etc. Methods defined hereWarning! 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, scale_speed)x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop Kamaelia.Automata.Behaviours.cartesianPingPongclass cartesianPingPong(Axon.Component.component)cartesianPingPong(point,width,height,border) -> new cartesianPingPong component A component that emits (x,y) values that bounce around within the specified bounds. Keyword arguments:
Methods defined hereWarning! 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, point, width, height, border)x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop. Kamaelia.Automata.Behaviours.continuousIdentityclass continuousIdentity(Axon.Component.component)continuousIdentity(original) -> new continuousIdentity component A component that constantly emits the original value. Methods defined hereWarning! 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, original, *args)x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop. Kamaelia.Automata.Behaviours.continuousOneclass continuousOne(Axon.Component.component)continuousOne() -> new continuousOne component A component that constantly emits the value 1. Methods defined hereWarning! 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, *args)x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop. Kamaelia.Automata.Behaviours.continuousZeroclass continuousZero(Axon.Component.component)continuousZero() -> new continuousZero component A component that constantly emits the value 0. Methods defined hereWarning! 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, *args)x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop. Kamaelia.Automata.Behaviours.loopingCounterclass loopingCounter(Axon.Component.component)loopingCounter(increment[,modulo]) -> new loopingCounter component Emits an always incrementing value, that wraps back to zero when it reaches the specified limit. Keyword arguments: - increment -- increment step size - modulo -- counter wrap back to zero before reaching this value (default=360) Methods defined hereWarning! 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, increment[, modulo])x.__init__(...) initializes x; see x.__class__.__doc__ for signature main(self)Main loop. FeedbackGot 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 |
Kamaelia
is an open source project originated from and guided by BBC
Research. For more information browse the site or get in
contact.
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.