Архитектурная акустика/Реализация/CPatternBasedSource::CPatternBasedSource

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
CPatternBasedSource() = default; //1
CPatternBasedSource(const CPatternBasedSource&) = default; //2
CPatternBasedSource(CPatternBasedSource&&) = default; //3
template <class pos_t, class dir_t, class afc_t, class ... pattern_args_t>
CPatternBasedSource(const CInputModel& refModel, pos_t&& position, dir_t&& direction, afc_t&& refAFC, pattern_args_t&& ... pattern_args); //4
template <class pos_t, class dir_t, class top_t>
CPatternBasedSource(const CInputModel& refModel, pos_t&& position, dir_t&& direction, top_t&& top); //5

Конструкторы класса CPatternBasedSource.

  1. Конструктор по умолчанию, создающий неинициализированный источник.
  2. Конструктор копирования.
  3. Конструктор перемещения.
  4. Создает источник с заданными позицией, направлением, а также амплитудно-частотной характеристикой и характеристикой направленности. В отличие от перегрузки 5, используется расчет по умолчанию вертикальной оси источника.
  5. Защищенный конструктор, который создает источник с заданными позицией и направлением, но без связанных амплитудно-частотной характеристикой и характеристикой направленности. Последние должны быть заданы позже вызовом методов CPatternBasedSource::SetAFC и CPatternBasedSource::SetPattern.
Параметры шаблона
pos_tТип точки, задающей позицию источника. Должен быть неявно преобразуем в тип POINT3DEXT.
dir_tТип вектора, задающего направление главной оси излучения источника. Должен быть неявно преобразуем в тип POINT3DEXT.
top_tТип вектора, задающего направление верха источника. Должен быть неявно преобразуем в тип POINT3DEXT.
afc_tТип параметра, на основе которого создается экземпляр класса CAmplitudeFrequencyCharacteristics, реализующего амплитудно-частотную характеристику источника.
pattern_args_t ...Тип параметров, на основе которых создается экземпляр класса CPatternBasedSource::pattern_type, реализующего характеристику направленности источника.
Параметры
refModelСсылка на модель пространства, которая включает создаваемый источник.
positionПозиция источника, заданная точкой в мировых координатах. Параметр должен быть неявно преобразуем в тип POINT3DEXT.
directionВектор направления главной оси излучения источника. Параметр должен быть неявно преобразуем в тип POINT3DEXT.
topВектор направления с зенитом относительно главной оси источника. Т.е. "верх" источника. Параметр должен быть неявно преобразуем в тип POINT3DEXT. Перегрузка 4 не позволяет задать данное направление, вместо этого используется алгоритм расчета по умолчанию: пусть - направление (параметр direction) источника; тогда вектор , задающий "верх" источника, расчитывается по формуле .
refAFCАмплитудно-частотная характеристика источника. Параметр должен быть неявно преобразуем в тип CAmplitudeFrequencyCharacteristics.
pattern_args...Набор параметров, на основе которых создается экземпляр характеристики направленности типа CPatternBasedSource::pattern_type.