csl::AmbisonicRotator Class Reference

#include <AmbisonicUtilities.h>

Inheritance diagram for csl::AmbisonicRotator:

csl::AmbisonicUnitGenerator csl::UnitGenerator csl::Model

List of all members.

Public Member Functions

 AmbisonicRotator (AmbisonicUnitGenerator &input)
 initializes with no rotation
 AmbisonicRotator (UnitGenerator &input, unsigned order)
 initializes with uniform Ambisonic order and no rotation
 AmbisonicRotator (UnitGenerator &input, unsigned vorder, unsigned horder)
 initializes with hybrid Ambisonic order and no rotation
 ~AmbisonicRotator ()
void setNthInput (float amount, Axes axis)
void setTilt (float amount)
void setTumble (float amount)
void setRotate (float amount)
virtual void nextBuffer (Buffer &outputBuffer, unsigned outBufNum) throw (CException)

Protected Attributes

unsigned mNumFrames
unsigned mGreaterOrder
unsigned mNumChannelsGreaterOrder
unsigned * mChannelIndex
unsigned * mInputChannelIndex
bool mShouldRotate
bool mShouldTurn
bool mShouldTilt

Private Member Functions

void initialize (UnitGenerator &input)
void tiltFirstOrder ()
void tiltSecondOrder ()
void tiltThirdOrder ()
void tumbleFirstOrder ()
void tumbleSecondOrder ()
void tumbleThirdOrder ()
void rotateZerothOrder ()
void rotateFirstOrderHorizontal ()
void rotateSecondOrderHorizontal ()
void rotateThirdOrderHorizontal ()
void rotateFirstOrderVertical ()
void rotateSecondOrderVertical ()
void rotateThirdOrderVertical ()

Private Attributes

PortmInputPort
sample mRotate
sample mTumble
sample mTilt
SampleBuffer mSinAngle
SampleBuffer mCosAngle
SampleBufferVector mOutPtr
SampleBufferVector mInPtr


Constructor & Destructor Documentation

AmbisonicRotator::AmbisonicRotator ( AmbisonicUnitGenerator input  ) 

initializes with no rotation

References initialize().

AmbisonicRotator::AmbisonicRotator ( UnitGenerator input,
unsigned  order 
)

initializes with uniform Ambisonic order and no rotation

References initialize().

AmbisonicRotator::AmbisonicRotator ( UnitGenerator input,
unsigned  vorder,
unsigned  horder 
)

initializes with hybrid Ambisonic order and no rotation

References initialize().

AmbisonicRotator::~AmbisonicRotator ( void   ) 


Member Function Documentation

void AmbisonicRotator::setNthInput ( float  amount,
Axes  axis 
)

void AmbisonicRotator::setTilt ( float  amount  ) 

void AmbisonicRotator::setTumble ( float  amount  ) 

void AmbisonicRotator::setRotate ( float  amount  ) 

void AmbisonicRotator::nextBuffer ( Buffer outputBuffer,
unsigned  outBufNum 
) throw (CException) [virtual]

really compute the next buffer given an offset base channel; this is called by nextBuffer, possibly multiple times

Reimplemented from csl::UnitGenerator.

References testkiss::j, csl::kLogError, csl::kSamples, csl::logMsg(), csl::Buffer::mBuffers, csl::Buffer::mIsPopulated, csl::Buffer::mNumFrames, and csl::Buffer::mType.

void AmbisonicRotator::initialize ( UnitGenerator input  )  [private]

void AmbisonicRotator::tiltFirstOrder (  )  [private]

References mCosAngle, mNumFrames, mOutPtr, and mSinAngle.

void AmbisonicRotator::tiltSecondOrder (  )  [private]

void AmbisonicRotator::tiltThirdOrder (  )  [private]

References mCosAngle, mNumFrames, mOutPtr, and mSinAngle.

Referenced by tiltSecondOrder().

void AmbisonicRotator::tumbleFirstOrder (  )  [private]

References mCosAngle, mNumFrames, mOutPtr, and mSinAngle.

void AmbisonicRotator::tumbleSecondOrder (  )  [private]

void AmbisonicRotator::tumbleThirdOrder (  )  [private]

References mCosAngle, mNumFrames, mOutPtr, and mSinAngle.

Referenced by tumbleSecondOrder().

void csl::AmbisonicRotator::rotateZerothOrder (  )  [private]

void AmbisonicRotator::rotateFirstOrderHorizontal (  )  [private]

void AmbisonicRotator::rotateSecondOrderHorizontal (  )  [private]

void AmbisonicRotator::rotateThirdOrderHorizontal (  )  [private]

void csl::AmbisonicRotator::rotateFirstOrderVertical (  )  [private]

void AmbisonicRotator::rotateSecondOrderVertical (  )  [private]

void AmbisonicRotator::rotateThirdOrderVertical (  )  [private]


Member Data Documentation

unsigned csl::AmbisonicRotator::mNumFrames [protected]

Referenced by initialize().

unsigned* csl::AmbisonicRotator::mChannelIndex [protected]

Referenced by initialize(), and ~AmbisonicRotator().

Referenced by initialize(), and ~AmbisonicRotator().

Referenced by initialize(), and setRotate().

Referenced by initialize(), and setTumble().

Referenced by initialize(), and setTilt().

Referenced by initialize(), and ~AmbisonicRotator().

Referenced by setRotate().

Referenced by setTumble().

Referenced by setTilt().

Referenced by initialize(), and ~AmbisonicRotator().


The documentation for this class was generated from the following files:

Generated on Thu Sep 17 23:14:18 2009 for CSL by  doxygen 1.5.8