using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace BansheeEngine
{
/** @addtogroup Physics
* @{
*/
/// Collider with a capsule geometry.
public partial class CapsuleCollider : Collider
{
private CapsuleCollider(bool __dummy0) { }
protected CapsuleCollider() { }
/// Normal vector that determines how is the capsule oriented.
[ShowInInspector]
public Vector3 Normal
{
get
{
Vector3 temp;
Internal_getNormal(mCachedPtr, out temp);
return temp;
}
set { Internal_setNormal(mCachedPtr, ref value); }
}
/// Determines the position of the capsule shape, relative to the component's scene object.
[ShowInInspector]
public Vector3 Center
{
get
{
Vector3 temp;
Internal_getCenter(mCachedPtr, out temp);
return temp;
}
set { Internal_setCenter(mCachedPtr, ref value); }
}
///
/// Determines the half height of the capsule, from the origin to one of the hemispherical centers, along the normal
/// vector.
///
[ShowInInspector]
public float HalfHeight
{
get { return Internal_getHalfHeight(mCachedPtr); }
set { Internal_setHalfHeight(mCachedPtr, value); }
}
/// Determines the radius of the capsule.
[ShowInInspector]
public float Radius
{
get { return Internal_getRadius(mCachedPtr); }
set { Internal_setRadius(mCachedPtr, value); }
}
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setNormal(IntPtr thisPtr, ref Vector3 normal);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_getNormal(IntPtr thisPtr, out Vector3 __output);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setCenter(IntPtr thisPtr, ref Vector3 center);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_getCenter(IntPtr thisPtr, out Vector3 __output);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setHalfHeight(IntPtr thisPtr, float halfHeight);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern float Internal_getHalfHeight(IntPtr thisPtr);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void Internal_setRadius(IntPtr thisPtr, float radius);
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern float Internal_getRadius(IntPtr thisPtr);
}
/** @} */
}