csound::Node Class Reference

#include <Node.hpp>

Inheritance diagram for csound::Node:

Inheritance graph
[legend]

Detailed Description

Base class for all music graph nodes in the Silence system. Nodes can transform silence::Events produced by child nodes. Nodes can produce silence::Events.

Public Member Functions

 Node ()
virtual ~Node ()
virtual ublas::matrix< double > getLocalCoordinates () const
virtual ublas::matrix< double > traverse (const ublas::matrix< double > &globalCoordinates, Score &score)
virtual void produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &coordinates)
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::vector< Node * > children

Protected Attributes

ublas::matrix< double > localCoordinates

Constructor & Destructor Documentation

csound::Node::Node (  ) 

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


Member Function Documentation

virtual ublas::matrix<double> csound::Node::getLocalCoordinates (  )  const [virtual]

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]

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::Node::produceOrTransform ( Score score,
size_t  beginAt,
size_t  endAt,
const ublas::matrix< double > &  coordinates 
) [virtual]

virtual ublas::matrix<double> csound::Node::createTransform (  )  [virtual]

virtual void csound::Node::clear (  )  [virtual]

Reimplemented in csound::Lindenmayer, and csound::MusicModel.

virtual double& csound::Node::element ( size_t  row,
size_t  column 
) [virtual]

virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
) [virtual]

virtual void csound::Node::addChild ( Node node  )  [virtual]


Field Documentation

ublas::matrix<double> csound::Node::localCoordinates [protected]

std::vector<Node *> csound::Node::children

Child Nodes, if any.


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