CSL 5.2

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Private Member Functions | Private Attributes | Friends
csl::SpeakerSetLayout Class Reference

`#include <VBAP.h>`

List of all members.

## Public Member Functions
| SpeakerSetLayout (SpeakerLayout *aLayout, VBAPMode mode=kAuto)
| Constructors & destructor:
| ~SpeakerSetLayout ()
| destructor
SpeakerLayout * | speakerLayout ()
| Returns the Speaker Layout used to find the triplets.
void | dump ()

## Private Member Functions
void | findSpeakerTriplets () throw (CException)
void | findSpeakerPairs () throw (CException)
void | invertTripleMatrix (SpeakerSet *lst)
void | addTriple (SpeakerSet *lst)
void | removeTriple (SpeakerSet *lst)
bool | evaluateCrossing (CPoint &li, CPoint &lj, CPoint &ln, CPoint &lm)

## Private Attributes
SpeakerSet ** | mTriplets
SpeakerLayout * | mSpeakerLayout
unsigned | mNumTriplets
unsigned | mMode

## Friends
class | VBAP

## Detailed Description

Definition at line 152 of file VBAP.h.

## Constructor & Destructor Documentation

SpeakerSetLayout::SpeakerSetLayout | ( | SpeakerLayout * | aLayout,
|  | VBAPMode | mode = `kAuto`
| ) |  |

Constructors & destructor:

default constructor. Creates an empty speaker layout.

Definition at line 58 of file VBAP.cpp.

References dump(), findSpeakerPairs(), findSpeakerTriplets(), csl::SpeakerLayout::isPeriphonic(), csl::kAuto, csl::kPantophonic, csl::kPeriphonic, MAX_NUM_VBAP_TRIPLETS, mMode, mNumTriplets, mSpeakerLayout, and mTriplets.

SpeakerSetLayout::~SpeakerSetLayout | ( |  | ) |

destructor

Definition at line 87 of file VBAP.cpp.

References mNumTriplets, and mTriplets.

## Member Function Documentation

SpeakerLayout* csl::SpeakerSetLayout::speakerLayout | ( |  | ) |
| inline

Returns the Speaker Layout used to find the triplets.

Definition at line 160 of file VBAP.h.

void SpeakerSetLayout::dump | ( | void |  | ) |

Definition at line 126 of file VBAP.cpp.

References csl::SpeakerSet::dump(), mNumTriplets, and mTriplets.

Referenced by SpeakerSetLayout().

void SpeakerSetLayout::findSpeakerTriplets | ( |  | ) | throw (CException)
| private

Definition at line 226 of file VBAP.cpp.

References addTriple(), csl::CPoint::distance(), evaluateCrossing(), Connection::firstNode, invertTripleMatrix(), MIN_VOLUME_TO_LENGTH_RATIO, mMode, mNumTriplets, mSpeakerLayout, mTriplets, csl::SpeakerSet::nodes, csl::SpeakerLayout::numSpeakers(), csl::Speaker::position(), removeTriple(), Connection::secondNode, csl::SpeakerLayout::speakerAtIndex(), vecAngle(), vectorMultiply(), csl::CPoint::x, csl::CPoint::y, and csl::CPoint::z.

Referenced by SpeakerSetLayout().

void SpeakerSetLayout::findSpeakerPairs | ( |  | ) | throw (CException)
| private

Definition at line 168 of file VBAP.cpp.

References addTriple(), csl::Speaker::azimuth(), csl::Speaker::dump(), csl::Speaker::elevation(), invertTripleMatrix(), csl::logMsg(), mSpeakerLayout, csl::SpeakerSet::nodes, csl::SpeakerLayout::numSpeakers(), and csl::SpeakerLayout::speakerAtIndex().

Referenced by SpeakerSetLayout().

void SpeakerSetLayout::invertTripleMatrix | ( | SpeakerSet * | lst | ) |
| private

Definition at line 134 of file VBAP.cpp.

References math::matrix::Inv(), csl::SpeakerSet::invL, mMode, mSpeakerLayout, csl::SpeakerSet::nodes, csl::Speaker::position(), and csl::SpeakerLayout::speakerAtIndex().

Referenced by findSpeakerPairs(), and findSpeakerTriplets().

void SpeakerSetLayout::addTriple | ( | SpeakerSet * | lst | ) |
| private

Definition at line 98 of file VBAP.cpp.

References MAX_NUM_VBAP_TRIPLETS, mNumTriplets, and mTriplets.

Referenced by findSpeakerPairs(), and findSpeakerTriplets().

void SpeakerSetLayout::removeTriple | ( | SpeakerSet * | lst | ) |
| private

Definition at line 107 of file VBAP.cpp.

References mNumTriplets, and mTriplets.

Referenced by findSpeakerTriplets().

bool SpeakerSetLayout::evaluateCrossing | ( | CPoint & | li,
|  | CPoint & | lj,
|  | CPoint & | ln,
|  | CPoint & | lm
| ) |  |
| private

Definition at line 146 of file VBAP.cpp.

References vecAngle().

Referenced by findSpeakerTriplets().

## Friends And Related Function Documentation

friend class VBAP
| friend

Definition at line 153 of file VBAP.h.

## Member Data Documentation

SpeakerSet** csl::SpeakerSetLayout::mTriplets
| private

Definition at line 166 of file VBAP.h.

Referenced by addTriple(), dump(), findSpeakerTriplets(), removeTriple(), SpeakerSetLayout(), and ~SpeakerSetLayout().

SpeakerLayout* csl::SpeakerSetLayout::mSpeakerLayout
| private

Definition at line 167 of file VBAP.h.

Referenced by findSpeakerPairs(), findSpeakerTriplets(), invertTripleMatrix(), and SpeakerSetLayout().

unsigned csl::SpeakerSetLayout::mNumTriplets
| private

Definition at line 168 of file VBAP.h.

Referenced by addTriple(), dump(), findSpeakerTriplets(), removeTriple(), SpeakerSetLayout(), and ~SpeakerSetLayout().

unsigned csl::SpeakerSetLayout::mMode
| private

Definition at line 169 of file VBAP.h.

Referenced by findSpeakerTriplets(), invertTripleMatrix(), and SpeakerSetLayout().

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

- CSL/Spatializers/VBAP/VBAP.h
- CSL/Spatializers/VBAP/VBAP.cpp