#include <Lindenmayer.hpp>
Public Member Functions | |
Lindenmayer () | |
virtual | ~Lindenmayer () |
virtual int | getIterationCount () const |
virtual void | setIterationCount (int count) |
virtual double | getAngle () const |
virtual void | setAngle (double angle) |
virtual std::string | getAxiom () const |
virtual void | setAxiom (std::string axiom) |
virtual void | addRule (std::string command, std::string replacement) |
virtual std::string | getReplacement (std::string command) |
virtual void | generate () |
virtual void | clear () |
virtual void | produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &coordinates) |
virtual Score & | getScore () |
virtual ublas::matrix< double > | getLocalCoordinates () const |
virtual ublas::matrix< double > | traverse (const ublas::matrix< double > &globalCoordinates, Score &score) |
virtual ublas::matrix< double > | createTransform () |
virtual double & | element (size_t row, size_t column) |
virtual void | setElement (size_t row, size_t column, double value) |
virtual void | addChild (Node *node) |
Data Fields | |
std::string | importFilename |
std::vector< Node * > | children |
Protected Member Functions | |
virtual void | interpret (std::string command, bool render) |
virtual int | getDimension (char dimension) const |
virtual void | rewrite () |
virtual ublas::matrix< double > | createRotation (int dimension1, int dimension2, double angle) const |
virtual void | updateActual (Event &event) |
virtual void | initialize () |
Protected Attributes | |
int | iterationCount |
double | angle |
std::string | axiom |
Event | turtle |
Event | turtleStep |
Event | turtleOrientation |
std::map< std::string, std::string > | rules |
std::stack< Event > | turtleStack |
std::stack< Event > | turtleStepStack |
std::stack< Event > | turtleOrientationStack |
clock_t | beganAt |
clock_t | endedAt |
clock_t | elapsed |
Score | score |
ublas::matrix< double > | localCoordinates |
csound::Lindenmayer::Lindenmayer | ( | ) |
virtual csound::Lindenmayer::~Lindenmayer | ( | ) | [virtual] |
virtual void csound::Lindenmayer::interpret | ( | std::string | command, | |
bool | render | |||
) | [protected, virtual] |
virtual int csound::Lindenmayer::getDimension | ( | char | dimension | ) | const [protected, virtual] |
virtual void csound::Lindenmayer::rewrite | ( | ) | [protected, virtual] |
virtual ublas::matrix<double> csound::Lindenmayer::createRotation | ( | int | dimension1, | |
int | dimension2, | |||
double | angle | |||
) | const [protected, virtual] |
virtual void csound::Lindenmayer::updateActual | ( | Event & | event | ) | [protected, virtual] |
virtual void csound::Lindenmayer::initialize | ( | ) | [protected, virtual] |
virtual int csound::Lindenmayer::getIterationCount | ( | ) | const [virtual] |
virtual void csound::Lindenmayer::setIterationCount | ( | int | count | ) | [virtual] |
virtual double csound::Lindenmayer::getAngle | ( | ) | const [virtual] |
virtual void csound::Lindenmayer::setAngle | ( | double | angle | ) | [virtual] |
virtual std::string csound::Lindenmayer::getAxiom | ( | ) | const [virtual] |
virtual void csound::Lindenmayer::setAxiom | ( | std::string | axiom | ) | [virtual] |
virtual void csound::Lindenmayer::addRule | ( | std::string | command, | |
std::string | replacement | |||
) | [virtual] |
virtual std::string csound::Lindenmayer::getReplacement | ( | std::string | command | ) | [virtual] |
virtual void csound::Lindenmayer::generate | ( | ) | [virtual] |
virtual void csound::Lindenmayer::clear | ( | ) | [virtual] |
Reimplemented from csound::Node.
virtual void csound::ScoreNode::produceOrTransform | ( | Score & | score, | |
size_t | beginAt, | |||
size_t | endAt, | |||
const ublas::matrix< double > & | coordinates | |||
) | [virtual, inherited] |
The default implementation does nothing.
Reimplemented from csound::Node.
Reimplemented in csound::Cell, csound::Hocket, csound::MCRM, and csound::Rescale.
virtual Score& csound::ScoreNode::getScore | ( | ) | [virtual, inherited] |
virtual ublas::matrix<double> csound::Node::getLocalCoordinates | ( | ) | const [virtual, inherited] |
Returns the local transformation of coordinate system.
Reimplemented in csound::Random.
virtual ublas::matrix<double> csound::Node::traverse | ( | const ublas::matrix< double > & | globalCoordinates, | |
Score & | score | |||
) | [virtual, inherited] |
The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph.
Reimplemented in csound::Hocket, and csound::Sequence.
virtual ublas::matrix<double> csound::Node::createTransform | ( | ) | [virtual, inherited] |
virtual double& csound::Node::element | ( | size_t | row, | |
size_t | column | |||
) | [virtual, inherited] |
virtual void csound::Node::setElement | ( | size_t | row, | |
size_t | column, | |||
double | value | |||
) | [virtual, inherited] |
virtual void csound::Node::addChild | ( | Node * | node | ) | [virtual, inherited] |
int csound::Lindenmayer::iterationCount [protected] |
double csound::Lindenmayer::angle [protected] |
std::string csound::Lindenmayer::axiom [protected] |
Event csound::Lindenmayer::turtle [protected] |
Event csound::Lindenmayer::turtleStep [protected] |
Event csound::Lindenmayer::turtleOrientation [protected] |
std::map<std::string, std::string> csound::Lindenmayer::rules [protected] |
std::stack<Event> csound::Lindenmayer::turtleStack [protected] |
std::stack<Event> csound::Lindenmayer::turtleStepStack [protected] |
std::stack<Event> csound::Lindenmayer::turtleOrientationStack [protected] |
clock_t csound::Lindenmayer::beganAt [protected] |
clock_t csound::Lindenmayer::endedAt [protected] |
clock_t csound::Lindenmayer::elapsed [protected] |
Score csound::ScoreNode::score [protected, inherited] |
std::string csound::ScoreNode::importFilename [inherited] |
ublas::matrix<double> csound::Node::localCoordinates [protected, inherited] |
std::vector<Node *> csound::Node::children [inherited] |
Child Nodes, if any.