101 lines
5.2 KiB
C#
101 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.
|
|
//------------------------------------------------------------------------------
|
|
|
|
/// Parameters passed to ``SetGeometryInstance``
|
|
|
|
public class AkGeometryInstanceParams : global::System.IDisposable {
|
|
private global::System.IntPtr swigCPtr;
|
|
protected bool swigCMemOwn;
|
|
|
|
internal AkGeometryInstanceParams(global::System.IntPtr cPtr, bool cMemoryOwn) {
|
|
swigCMemOwn = cMemoryOwn;
|
|
swigCPtr = cPtr;
|
|
}
|
|
|
|
internal static global::System.IntPtr getCPtr(AkGeometryInstanceParams obj) {
|
|
return (obj == null) ? global::System.IntPtr.Zero : obj.swigCPtr;
|
|
}
|
|
|
|
internal virtual void setCPtr(global::System.IntPtr cPtr) {
|
|
Dispose();
|
|
swigCPtr = cPtr;
|
|
}
|
|
|
|
~AkGeometryInstanceParams() {
|
|
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_AkGeometryInstanceParams(swigCPtr);
|
|
}
|
|
swigCPtr = global::System.IntPtr.Zero;
|
|
}
|
|
global::System.GC.SuppressFinalize(this);
|
|
}
|
|
}
|
|
|
|
/// Constructor
|
|
/// Creates an instance with an identity transform.
|
|
/// A default-constructed AkGeometryInstanceParams assumes the default floor plane is passed to AkInitSettings::eFloorPlane.
|
|
public AkGeometryInstanceParams() : this(AkUnitySoundEnginePINVOKE.CSharp_new_AkGeometryInstanceParams(), true) {
|
|
}
|
|
|
|
/// Set the position and orientation of the geometry instance.
|
|
/// AkWorldTransform uses one vector to define the position of the geometry instance, and two more to define the orientation; a forward vector and an up vector.
|
|
/// To ensure that a geometry instance has the correct rotation with respect to the game, AkInitSettings::eFloorPlane must be initialized with the correct value.
|
|
///
|
|
/// <seealso cref="
|
|
/// - \ref AkInitSettings.eFloorPlane
|
|
/// - \ref AK.SpatialAudio.SetGeometryInstance
|
|
/// - \ref AK.SpatialAudio.RemoveGeometryInstance"/>
|
|
public AkWorldTransform PositionAndOrientation { set { AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_PositionAndOrientation_set(swigCPtr, AkWorldTransform.getCPtr(value)); }
|
|
get {
|
|
global::System.IntPtr cPtr = AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_PositionAndOrientation_get(swigCPtr);
|
|
AkWorldTransform ret = (cPtr == global::System.IntPtr.Zero) ? null : new AkWorldTransform(cPtr, false);
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
/// Set the 3-dimensional scaling of the geometry instance.
|
|
/// <seealso cref="
|
|
/// - \ref AK.SpatialAudio.SetGeometryInstance
|
|
/// - \ref AK.SpatialAudio.RemoveGeometryInstance"/>
|
|
public UnityEngine.Vector3 Scale { set { AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_Scale_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_Scale_get(swigCPtr); }
|
|
}
|
|
|
|
/// When enabled, the geometry instance is indexed for ray computation and used to compute reflection, diffraction, and transmission.
|
|
/// If the geometry instance is used only for room containment, this flag must be set to false.
|
|
/// - \ref AK::SpatialAudio::SetRoom
|
|
/// - \ref AkRoomParams
|
|
public bool UseForReflectionAndDiffraction { set { AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_UseForReflectionAndDiffraction_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_UseForReflectionAndDiffraction_get(swigCPtr); }
|
|
}
|
|
|
|
/// [\ref Experimental] When set to false (default), the intersection of the geometry instance with any portal bounding box is subtracted from the geometry. In effect, an opening is created at the portal location through which sound can pass.
|
|
/// When set to true, portals cannot create openings in the geometry instance. Enable this to allow the geometry instance to be an obstacle to paths going into or through portal bounds.
|
|
/// - \ref AK::SpatialAudio::SetPortal
|
|
public bool BypassPortalSubtraction { set { AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_BypassPortalSubtraction_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_BypassPortalSubtraction_get(swigCPtr); }
|
|
}
|
|
|
|
/// A solid geometry instance applies transmission loss once for each time a transmission path enters and exits its volume, using the max transmission loss between each hit surface. A non-solid geometry instance is one where each surface is infinitely thin, applying transmission loss at each surface. This option has no effect if the Transmission Operation is set to Max.
|
|
public bool IsSolid { set { AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_IsSolid_set(swigCPtr, value); } get { return AkUnitySoundEnginePINVOKE.CSharp_AkGeometryInstanceParams_IsSolid_get(swigCPtr); }
|
|
}
|
|
|
|
}
|
|
#endif // #if !(UNITY_QNX) // Disable under unsupported platforms. |