3#include "DataStructures.hpp"
4#include "AudioSource.hpp"
5#include "AudioSpace.hpp"
20 PointSource(
const decltype(data)& data,
const decltype(worldpos)&
wp,
const decltype(worldrot)&
wr,
decltype(ownerID) ownerID): data(data), ownerID(ownerID),
PointSourceBase{
wp,
wr} {}
22 return data == other.data && worldpos == other.worldpos && worldrot == other.worldrot;
26 template<
typename room_t>
30 TAudioSpace(
const decltype(room)& room,
const decltype(worldpos)&
wp): room(room), worldpos(
wp){}
32 bool IsInsideSourceArea(
const vector3& pos)
const{
33 return glm::distance2(pos, worldpos) < (room->sourceRadius * room->sourceRadius);
43 bool IsInsideMeshArea(
const vector3& pos)
const{
44 return glm::distance2(pos, worldpos) < (room->meshRadius * room->meshRadius);
50 const matrix4 invRoomTransform{ 1 };
51 const vector3 roomHalfExts{ 0 };
53 BoxReverbationSpaceData(
const decltype(room)& room,
const decltype(invRoomTransform)&
ivt,
const decltype(roomHalfExts)&
rhe,
const decltype(roomProperties)
rp) : room(room), invRoomTransform(
ivt), roomProperties(
rp), roomHalfExts(
rhe){}
60 AudioMeshData(
const decltype(worldTransform)&
wt,
const decltype(asset)& a,
const decltype(ownerID) ownerID) : worldTransform(
wt), asset(a), ownerID(ownerID) {}
80 ambientSources.clear();
81 simpleAudioSpaces.clear();
82 geometryAudioSpaces.clear();
83 boxAudioSpaces.clear();
86 dataProviders.clear();
95 return reinterpret_cast<size_t>(obj.data.get());
Definition concurrentqueue.h:747
GLM_FUNC_DECL T distance2(vec< L, T, Q > const &p0, vec< L, T, Q > const &p1)
Definition norm.inl:40
Definition Animation.hpp:6
Definition AudioSnapshot.hpp:56
Definition AudioSnapshot.hpp:48
Definition AudioSnapshot.hpp:39
Definition AudioSnapshot.hpp:12
Definition AudioSnapshot.hpp:17
Definition AudioSnapshot.hpp:27
Definition AudioSnapshot.hpp:11
Definition AudioSpace.hpp:230
Definition qualifier.hpp:36
Definition type_quat.hpp:20
Definition qualifier.hpp:35