using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup Particles * @{ */ /// /// Represents a three dimensional field of vectors. It is represented by spatial bounds which are split into a grid of /// values with user-defined density, where each grid cell is assigned a vector. /// public partial class VectorField : Resource { private VectorField(bool __dummy0) { } protected VectorField() { } /// Creates a new vector field. /// Description of the vector field to create. /// /// Values to assign to the vector field. Number of entries must match countX * countY * countZ. /// public VectorField(VectorFieldOptions desc, Vector3[] values) { Internal_create(this, ref desc, values); } /// Returns a reference wrapper for this resource. public RRef Ref { get { return Internal_GetRef(mCachedPtr); } } /// Returns a reference wrapper for this resource. public static implicit operator RRef(VectorField x) { return Internal_GetRef(x.mCachedPtr); } [MethodImpl(MethodImplOptions.InternalCall)] private static extern RRef Internal_GetRef(IntPtr thisPtr); [MethodImpl(MethodImplOptions.InternalCall)] private static extern void Internal_create(VectorField managedInstance, ref VectorFieldOptions desc, Vector3[] values); } /** @} */ }