csound::Lindenmayer Class Reference

#include <Lindenmayer.hpp>

Inherits csound::ScoreNode.

Public Member Functions

Data Fields

Protected Member Functions

Protected Attributes


Detailed Description

This class implements a Lindenmayer system in music space for a turtle that writes either notes into a score, or Jones-Parks grains into a memory soundfile. The Z dimension of note space is used for chirp rate. The actions of the turtle are rescaled to fit the specified bounding hypercube. The turtle commands are represented by letters (all n default to 1):


Constructor & Destructor Documentation

csound::Lindenmayer::Lindenmayer (  ) 
virtual csound::Lindenmayer::~Lindenmayer (  )  [virtual]

Member Function Documentation

virtual void csound::Node::addChild ( Node node  )  [virtual, inherited]
virtual void csound::Lindenmayer::addRule ( std::string  command,
std::string  replacement 
) [virtual]
virtual void csound::Lindenmayer::clear (  )  [virtual]

Reimplemented from csound::Node.

virtual ublas::matrix<double> csound::Lindenmayer::createRotation ( int  dimension1,
int  dimension2,
double  angle 
) const [protected, virtual]
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::Lindenmayer::generate (  )  [virtual]
virtual double csound::Lindenmayer::getAngle (  )  const [virtual]
virtual std::string csound::Lindenmayer::getAxiom (  )  const [virtual]
virtual int csound::Lindenmayer::getDimension ( char  dimension  )  const [protected, virtual]
virtual int csound::Lindenmayer::getIterationCount (  )  const [virtual]
virtual ublas::matrix<double> csound::Node::getLocalCoordinates (  )  const [virtual, inherited]

Returns the local transformation of coordinate system.

Reimplemented in csound::Random.

virtual std::string csound::Lindenmayer::getReplacement ( std::string  command  )  [virtual]
virtual Score& csound::ScoreNode::getScore (  )  [virtual, inherited]
virtual void csound::Lindenmayer::initialize (  )  [protected, virtual]
virtual void csound::Lindenmayer::interpret ( std::string  command,
bool  render 
) [protected, virtual]
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 void csound::Lindenmayer::rewrite (  )  [protected, virtual]
virtual void csound::Lindenmayer::setAngle ( double  angle  )  [virtual]
virtual void csound::Lindenmayer::setAxiom ( std::string  axiom  )  [virtual]
virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
) [virtual, inherited]
virtual void csound::Lindenmayer::setIterationCount ( int  count  )  [virtual]
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 void csound::Lindenmayer::updateActual ( Event event  )  [protected, virtual]

Field Documentation

double csound::Lindenmayer::angle [protected]
std::string csound::Lindenmayer::axiom [protected]
clock_t csound::Lindenmayer::beganAt [protected]
std::vector<Node *> csound::Node::children [inherited]

Child Nodes, if any.

clock_t csound::Lindenmayer::elapsed [protected]
clock_t csound::Lindenmayer::endedAt [protected]
std::string csound::ScoreNode::importFilename [inherited]
ublas::matrix<double> csound::Node::localCoordinates [protected, inherited]
std::map<std::string, std::string> csound::Lindenmayer::rules [protected]
Score csound::ScoreNode::score [protected, inherited]
std::stack<Event> csound::Lindenmayer::turtleStack [protected]

Generated by  doxygen 1.6.2