Files
2026-03-23 14:28:21 +01:00

95 lines
5.2 KiB
C#

#if !(UNITY_QNX) // Disable under unsupported platforms.
//------------------------------------------------------------------------------
// <auto-generated />
//
// This file was automatically generated by SWIG (https://www.swig.org).
// Version 4.4.0
//
// Do not make changes to this file unless you know what you are doing - modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
/// Describes the acoustic surface properties of one or more triangles.
/// An single acoustic surface may describe any number of triangles, depending on the granularity desired. For example, if desired for debugging, one could create a unique
/// ``AkAcousticSurface`` struct for each triangle, and define a unique name for each. Alternatively, a single ``AkAcousticSurface`` could be used to describe all triangles.
/// In fact it is not necessary to define any acoustic surfaces at all. If the ``AkTriangle::surface`` field is left as ``AK_INVALID_SURFACE``, then a default-constructed ``AkAcousticSurface`` is used.
public class AkAcousticSurface : global::System.IDisposable {
private global::System.IntPtr swigCPtr;
protected bool swigCMemOwn;
internal AkAcousticSurface(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = cPtr;
}
internal static global::System.IntPtr getCPtr(AkAcousticSurface obj) {
return (obj == null) ? global::System.IntPtr.Zero : obj.swigCPtr;
}
internal virtual void setCPtr(global::System.IntPtr cPtr) {
Dispose();
swigCPtr = cPtr;
}
~AkAcousticSurface() {
Dispose(false);
}
public void Dispose() {
Dispose(true);
global::System.GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing) {
lock(this) {
if (swigCPtr != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
AkUnitySoundEnginePINVOKE.CSharp_delete_AkAcousticSurface(swigCPtr);
}
swigCPtr = global::System.IntPtr.Zero;
}
global::System.GC.SuppressFinalize(this);
}
}
/// Constructor
public AkAcousticSurface() : this(AkUnitySoundEnginePINVOKE.CSharp_new_AkAcousticSurface(), true) {
}
/// Acoustic texture ShareSet ID for the surface. The acoustic texture is authored in Wwise, and the shareset ID may be obtained by calling ``AK::SoundEngine::GetIDFromString``
/// <seealso cref="\ref AK.SoundEngine.GetIDFromString"/>
public uint textureID { set { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_textureID_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_textureID_get(swigCPtr); }
}
/// Transmission loss value to apply when simulating sound transmission through this geometric surface.
/// Transmission is only simulated on a sound when the sound has **Enable Diffraction and Transmission** box
/// enabled in Wwise Authoring.
/// If more than one surface is intersected between the emitter and the listener, the result depends on ``AkSpatialAudioInitSettings::eTransmissionOperation``. The default behavior is to use the maximum of all surfaces' transmission loss values.
/// Transmission loss is applied on the mix connection between the emitter and the listener for the dry path, and between the emitter and the room for the wet path.
/// The transmission loss value is converted to volume attenuation, low-pass and/or high-pass filtering, using the transmission loss curves defined on the sound in Wwise Authoring.
/// A transmission loss value of 0 has special meaning in some contexts:
/// - Setting a transmission loss value of 0 effectively disables a surface for ray intersection. It is ignored for all diffraction and reflection calculations.
/// - When geometry is used to define the shape of a Reverb Zone, surfaces with a transmission loss of 0 define the center of the transition between the Reverb Zone and its parent Room.
/// Only surfaces with transmission loss of 0 define the transition region, allowing the user to have transitions around parts of the geometry (certain walls, for example), and not others.
/// Valid range: (0.f-1.f)
/// - \ref AkRoomParams
/// - \ref AK::SpatialAudio::SetReverbZone
public float transmissionLoss { set { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_transmissionLoss_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_transmissionLoss_get(swigCPtr); }
}
/// Name to describe this surface
public string strName { set { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_strName_set(swigCPtr, value); } get { return AkUnitySoundEngine.StringFromIntPtrString(AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_strName_get(swigCPtr)); }
}
public void Clear() { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_Clear(swigCPtr); }
public void DeleteName() { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_DeleteName(swigCPtr); }
public static int GetSizeOf() { return AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_GetSizeOf(); }
public void Clone(AkAcousticSurface other) { AkUnitySoundEnginePINVOKE.CSharp_AkAcousticSurface_Clone(swigCPtr, AkAcousticSurface.getCPtr(other)); }
}
#endif // #if !(UNITY_QNX) // Disable under unsupported platforms.