using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace BansheeEngine
{
/** @addtogroup Particles
* @{
*/
///
/// Particle emitter shape that emits particles from a surface of a static (non-animated) mesh. Particles can be emitted
/// from mesh vertices, edges or triangles. If information about normals exists, particles will also inherit the normals.
///
public partial class ParticleEmitterStaticMeshShape : ParticleEmitterShape
{
private ParticleEmitterStaticMeshShape(bool __dummy0) { }
/// Creates a new particle emitter static mesh shape.
public ParticleEmitterStaticMeshShape(ParticleStaticMeshShapeOptions desc)
{
Internal_create(this, ref desc);
}
/// Creates a new particle emitter static mesh shape.
public ParticleEmitterStaticMeshShape()
{
Internal_create0(this);
}
/// Options describing the shape.
public ParticleStaticMeshShapeOptions Options
{
get
{
ParticleStaticMeshShapeOptions temp;
Internal_getOptions(mCachedPtr, out temp);
return temp;
}
set { Internal_setOptions(mCachedPtr, ref value); }
}
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setOptions(IntPtr thisPtr, ref ParticleStaticMeshShapeOptions options);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_getOptions(IntPtr thisPtr, out ParticleStaticMeshShapeOptions __output);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create(ParticleEmitterStaticMeshShape managedInstance, ref ParticleStaticMeshShapeOptions desc);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_create0(ParticleEmitterStaticMeshShape managedInstance);
}
/** @} */
}