Архитектурная акустика/Реализация/CFace::CFace: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «{{NavBar|{{Системная иерархия:Архитектурная акустика}} \ CFace \ CFace}} {{functi…») |
|||
Строка 29: | Строка 29: | ||
{| class="wikitable" | {| class="wikitable" | ||
! scope="row" | Поле | ! scope="row" | Поле | ||
| Идентификатор версии || Коэффициенты поглощения из 6 октавных частот | | Идентификатор версии || Ширина полосы частот || Коэффициенты поглощения из 6 октавных частот | ||
|- | |- | ||
! scope="row" | Размер, байт | ! scope="row" | Размер, байт | ||
| 4 || <math>8\cdot6=48</math> | | 4 || 4 || <math>8\cdot6=48</math> | ||
|} | |} | ||
* Идентификатор версии - целочисленное четырехбайтовое значение <tt>0x80000001</tt>. Значение обеспечивает обратную совместимость с первой версией, т.к. при интерпретации его как числа IEEE754 получается отрицательное значение, что невозможно для коэффициентов поглощения. | * Идентификатор версии - целочисленное четырехбайтовое значение <tt>0x80000001</tt>. Значение обеспечивает обратную совместимость с первой версией, т.к. при интерпретации его как числа IEEE754 получается отрицательное значение, что невозможно для коэффициентов поглощения. | ||
* Ширина полосы частот задается четырехбайтовым целым, которое должно быть равно шести. | |||
* Коэффициенты поглощения представляют собой последовательность шести чисел с плавающей точкой двойной точности <math>\left\{\alpha_{125}, \alpha_{250}, \alpha_{500}, \alpha_{1000}, \alpha_{2000}, \alpha_{4000}\right\}</math> коэффициентов поглощения по частотам. Числа задаются без какого-либо выравнивания - одно за другим. | * Коэффициенты поглощения представляют собой последовательность шести чисел с плавающей точкой двойной точности <math>\left\{\alpha_{125}, \alpha_{250}, \alpha_{500}, \alpha_{1000}, \alpha_{2000}, \alpha_{4000}\right\}</math> коэффициентов поглощения по частотам. Числа задаются без какого-либо выравнивания - одно за другим. |
Версия 21:56, 25 июня 2016
CFace() = default; //1
CFace(const CFace& refFace); //2
CFace(CFace&& refFace); //3
template <class alloc_t, class policy_t>
CFace(const CAMaaS::__TFACE<CAMaaS::extunit_t, alloc_t, policy_t>& refFace); //4
template <class policy_t>
CFace(CAMaaS::__TFACE<CAMaaS::extunit_t, std::allocator<CAMaaS::extunit_t>, policy_t>&& refFace); //5
Создают экземпляры класса.
- Конструктор по умолчанию, создающий пустую поверхность без вершин, которую до использования необходимо проинициализировать с помощью оператора присваивания.
- Конструктор копирования.
- Конструктор перемещения.
- Конструктор, инициализирующий поверхность на основе ее описания __TFACE, поступившего со стороны подсистемы управления. При этом производится копирования данных Chusov::Math::Matrix.
- Аналогичный конструктор, создающий поверхность на основе объекта __TFACE, но с перемещением данных.
- Параметры
refFace Инициализирующая поверхность.
Перегрузки 4 и 5 конструктора создают поверхность на основе ее предметно-независимого описания при обработке запроса DomainStartSimulation. При этом данные предметной области, указатель на которые возвращается методом __TFACE::DomainData имеют следующий формат.
Предварительная версия 1.
Указатель на число с плавающей точкой двойной, задающее коэффициент отражения поверхности, т.е.
, где - коэффициент поглощения поверхности. В предварительной версии коэффициент является независимым от частоты.Предварительная версия 2 (текущая, ветка репозитория: chusov-laptop-pc).
Поле | Идентификатор версии | Ширина полосы частот | Коэффициенты поглощения из 6 октавных частот |
---|---|---|---|
Размер, байт | 4 | 4 |
- Идентификатор версии - целочисленное четырехбайтовое значение 0x80000001. Значение обеспечивает обратную совместимость с первой версией, т.к. при интерпретации его как числа IEEE754 получается отрицательное значение, что невозможно для коэффициентов поглощения.
- Ширина полосы частот задается четырехбайтовым целым, которое должно быть равно шести.
- Коэффициенты поглощения представляют собой последовательность шести чисел с плавающей точкой двойной точности коэффициентов поглощения по частотам. Числа задаются без какого-либо выравнивания - одно за другим.