#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.