Loris::PartialUtils::PartialMutator Class Reference

#include <PartialUtils.h>

Inheritance diagram for Loris::PartialUtils::PartialMutator:

Loris::PartialUtils::AmplitudeScaler Loris::PartialUtils::BandwidthScaler Loris::PartialUtils::BandwidthSetter Loris::PartialUtils::FrequencyScaler Loris::PartialUtils::NoiseRatioScaler Loris::PartialUtils::PitchShifter List of all members.

Public Member Functions

 PartialMutator (double x)
 Construct a new PartialMutator from a constant mutation factor.
 PartialMutator (const Envelope &e)
 PartialMutator (const PartialMutator &rhs)
 Construct a new PartialMutator that is a copy of another.
virtual ~PartialMutator (void)
 Destroy this PartialMutator, deleting its Envelope.
PartialMutatoroperator= (const PartialMutator &rhs)
virtual void operator() (Partial &p) const=0

Protected Attributes

Envelopeenv

Detailed Description

PartialMutator is an abstract base class for Partial mutators, functors that operate on Partials according to a time-varying envelope. The base class manages a polymorphic Envelope instance that provides the time-varying mutation parameters.

Invariant:
env is a non-zero pointer to a valid instance of a class derived from the abstract class Envelope.


Constructor & Destructor Documentation

Loris::PartialUtils::PartialMutator::PartialMutator ( const Envelope e  ) 

Construct a new PartialMutator from an Envelope representing a time-varying mutation factor.


Member Function Documentation

PartialMutator& Loris::PartialUtils::PartialMutator::operator= ( const PartialMutator rhs  ) 

Make this PartialMutator a duplicate of another one.

Parameters:
rhs is the PartialMutator to copy.

virtual void Loris::PartialUtils::PartialMutator::operator() ( Partial p  )  const [pure virtual]

Function call operator: apply a mutation factor to the specified Partial. Derived classes must implement this member.

Implemented in Loris::PartialUtils::AmplitudeScaler, Loris::PartialUtils::BandwidthScaler, Loris::PartialUtils::BandwidthSetter, Loris::PartialUtils::FrequencyScaler, Loris::PartialUtils::NoiseRatioScaler, and Loris::PartialUtils::PitchShifter.


Member Data Documentation

Envelope* Loris::PartialUtils::PartialMutator::env [protected]

pointer to an envelope that governs the time-varying mutation


The documentation for this class was generated from the following file:
Generated on Sat Jan 19 19:02:50 2008 for Loris by  doxygen 1.5.2