#include <MCRM.hpp>


Public Member Functions | |
| MCRM () | |
| virtual | ~MCRM () |
| void | setDepth (int depth) |
| void | resize (size_t transformations) |
| void | setTransformationElement (size_t index, size_t row, size_t column, double value) |
| void | setWeight (size_t precursor, size_t successor, double weight) |
| void | generate () |
| 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 void | clear () |
| 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 Attributes | |
| Score | score |
| ublas::matrix< double > | localCoordinates |
Private Member Functions | |
| void | iterate (int depth, size_t p, const Event &event, double weight) |
Private Attributes | |
| std::vector< ublas::matrix < double > > | transformations |
| ublas::matrix< double > | weights |
| int | depth |
| csound::MCRM::MCRM | ( | ) |
| virtual csound::MCRM::~MCRM | ( | ) | [virtual] |
| void csound::MCRM::iterate | ( | int | depth, | |
| size_t | p, | |||
| const Event & | event, | |||
| double | weight | |||
| ) | [private] |
| void csound::MCRM::setDepth | ( | int | depth | ) |
| void csound::MCRM::resize | ( | size_t | transformations | ) |
| void csound::MCRM::setTransformationElement | ( | size_t | index, | |
| size_t | row, | |||
| size_t | column, | |||
| double | value | |||
| ) |
| void csound::MCRM::setWeight | ( | size_t | precursor, | |
| size_t | successor, | |||
| double | weight | |||
| ) |
| void csound::MCRM::generate | ( | ) |
| virtual void csound::MCRM::produceOrTransform | ( | Score & | score, | |
| size_t | beginAt, | |||
| size_t | endAt, | |||
| const ublas::matrix< double > & | coordinates | |||
| ) | [virtual] |
The default implementation does nothing.
Reimplemented from csound::ScoreNode.
| 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 void csound::Node::clear | ( | ) | [virtual, inherited] |
Reimplemented in csound::Lindenmayer, and csound::MusicModel.
| 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] |
std::vector< ublas::matrix<double> > csound::MCRM::transformations [private] |
ublas::matrix<double> csound::MCRM::weights [private] |
int csound::MCRM::depth [private] |
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.
1.5.6