csound::MCRM Class Reference

#include <MCRM.hpp>

Inheritance diagram for csound::MCRM:

Inheritance graph
[legend]
Collaboration diagram for csound::MCRM:

Collaboration graph
[legend]

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 ScoregetScore ()
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

Constructor & Destructor Documentation

csound::MCRM::MCRM (  ) 

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


Member Function Documentation

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]


Field Documentation

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.


Generated on Sun Nov 9 00:24:54 2008 for Csound and CsoundAC by  doxygen 1.5.6