/// <summary> /// Perform a walkability raycast on the navigation mesh between start and end and return the point where a wall was hit, or the end point if no walls. /// </summary> public Vector3 Raycast(Urho.Vector3 start, Urho.Vector3 end, Urho.Vector3 extents, dtQueryFilter *filter, Vector3 *hitNormal) { Runtime.ValidateRefCounted(this); return(NavigationMesh_Raycast(handle, ref start, ref end, ref extents, filter, hitNormal)); }
/// <summary> /// Return distance to wall from a point. Maximum search radius must be specified. /// </summary> public float GetDistanceToWall(Urho.Vector3 point, float radius, Urho.Vector3 extents, dtQueryFilter *filter, Vector3 *hitPos, Vector3 *hitNormal) { Runtime.ValidateRefCounted(this); return(NavigationMesh_GetDistanceToWall(handle, ref point, radius, ref extents, filter, hitPos, hitNormal)); }
internal static extern Vector3 NavigationMesh_Raycast(IntPtr handle, ref Urho.Vector3 start, ref Urho.Vector3 end, ref Urho.Vector3 extents, dtQueryFilter *filter, Vector3 *hitNormal);
/// <summary> /// Return a random point on the navigation mesh within a circle. The circle radius is only a guideline and in practice the returned point may be further away. /// </summary> public Vector3 GetRandomPointInCircle(Urho.Vector3 center, float radius, Urho.Vector3 extents, dtQueryFilter *filter, uint *randomRef) { Runtime.ValidateRefCounted(this); return(NavigationMesh_GetRandomPointInCircle(handle, ref center, radius, ref extents, filter, randomRef)); }
internal static extern float NavigationMesh_GetDistanceToWall(IntPtr handle, ref Urho.Vector3 point, float radius, ref Urho.Vector3 extents, dtQueryFilter *filter, Vector3 *hitPos, Vector3 *hitNormal);
/// <summary> /// Return a random point on the navigation mesh. /// </summary> public Vector3 GetRandomPoint(dtQueryFilter *filter, uint *randomRef) { Runtime.ValidateRefCounted(this); return(NavigationMesh_GetRandomPoint(handle, filter, randomRef)); }
internal static extern Vector3 NavigationMesh_GetRandomPointInCircle(IntPtr handle, ref Urho.Vector3 center, float radius, ref Urho.Vector3 extents, dtQueryFilter *filter, uint *randomRef);
internal static extern Vector3 NavigationMesh_GetRandomPoint(IntPtr handle, dtQueryFilter *filter, uint *randomRef);
/// <summary> /// Try to move along the surface from one point to another. /// </summary> public Vector3 MoveAlongSurface(Urho.Vector3 start, Urho.Vector3 end, Urho.Vector3 extents, int maxVisited, dtQueryFilter *filter) { Runtime.ValidateRefCounted(this); return(NavigationMesh_MoveAlongSurface(handle, ref start, ref end, ref extents, maxVisited, filter)); }
internal static extern Vector3 NavigationMesh_MoveAlongSurface(IntPtr handle, ref Urho.Vector3 start, ref Urho.Vector3 end, ref Urho.Vector3 extents, int maxVisited, dtQueryFilter *filter);
/// <summary> /// Find the nearest point on the navigation mesh to a given point. Extents specifies how far out from the specified point to check along each axis. /// </summary> public Vector3 FindNearestPoint(Urho.Vector3 point, Urho.Vector3 extents, dtQueryFilter *filter, uint *nearestRef) { Runtime.ValidateRefCounted(this); return(NavigationMesh_FindNearestPoint(handle, ref point, ref extents, filter, nearestRef)); }
internal static extern Vector3 NavigationMesh_FindNearestPoint(IntPtr handle, ref Urho.Vector3 point, ref Urho.Vector3 extents, dtQueryFilter *filter, uint *nearestRef);