#if !(UNITY_QNX) // Disable under unsupported platforms. //------------------------------------------------------------------------------ // // // 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`` /// 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.