caLib_abstract

Modules

lattice
module caLib_abstract.lattice

This module defines the notion of a $(LATTICE). A $(LATTICE) is the data structure in wich all the cells are stored. Each generation, a $(RULE) changes the cells in the $(LATTICE). The most common example of a $(LATTICE) is a infinite square grid. Each square is the cell and it can contain any data such as a number or color. All of the cells then have a x,y coordinates associated with them. But some $(LATTICE)s can have other dimensions, like a 3-dimensional grid of cubes where each cube have an x,y,z coordinate. Or it can have som other shape, like a grid with hexagons instead of squares. The only limitation is that the coordinates must be integers. * This module provides templates for testing whether a given object is a $(LATTICE), and what kind of $(LATTICE) it is. * $(CALIB_ABSTRACT_DESC) *

neighbourhood
module caLib_abstract.neighbourhood

This module defines the notion of a $(NEIGHBOURHOOD). A $(NEIGHBOURHOOD) defines what cells in the lattice that are "neighbours". Most ca $(RULE)s change the state of a cell depending on the cells neighbours. * It provides templates for testing whether a given object is a $(NEIGHBOURHOOD), and what kind of $(NEIGHBOURHOOD) it is. * $(CALIB_ABSTRACT_DESC) *

palette
module caLib_abstract.palette

This module defines the notion of a $(PALETTE). $(PALETTE)s abstract the process of determining how to render the cells in a $(LATTICE) by the $(RENDERER), Allowing for more customization. * It provides templates for testing whether a given object is a $(PALETTE), and what kind of $(PALETTE) it is. * $(CALIB_ABSTRACT_DESC) *

renderer
module caLib_abstract.renderer

This module defines the notion of a $(RENDERER). A $(RENDERER) is responsible for "rendering" the ca's $(LATTICE) in a way that humans can appriciate. While a $(RENDERER) is not "mathematicly" part of a cellular automaton, it is here for obvious reasons. * This module provides templates for testing whether a given object is a $(RENDERER), and what kind of $(RENDERER) it is. * $(CALIB_ABSTRACT_DESC)

rule
module caLib_abstract.rule

This module defines the notion of a $(RULE). A $(RULE) is the part of a cellular automaton responsible for changing the ca's cells state. Each generation the $(RULE) is applied to the cellular automaton in order to get it's cells new state. * It provides templates for testing whether a given object is a $(RULE), and what kind of $(RULE) it is. * $(CALIB_ABSTRACT_DESC)

util
module caLib_abstract.util

This module is contains utility templates and functions used by the other modules in $(CALIB_ABSTRACT). * Take a look the various modules in $(CALIB_ABSTRACT) for usage examples.