forked from bit/DotRecastNetSim
add GetMesh() in IInputGeomProvider
This commit is contained in:
parent
afc9d26d52
commit
e4b5bddac7
|
@ -32,7 +32,7 @@ namespace DotRecast.Recast.Toolset.Geom
|
||||||
public readonly float[] normals;
|
public readonly float[] normals;
|
||||||
private readonly RcVec3f bmin;
|
private readonly RcVec3f bmin;
|
||||||
private readonly RcVec3f bmax;
|
private readonly RcVec3f bmax;
|
||||||
|
|
||||||
private readonly List<RcConvexVolume> _convexVolumes = new List<RcConvexVolume>();
|
private readonly List<RcConvexVolume> _convexVolumes = new List<RcConvexVolume>();
|
||||||
private readonly List<RcOffMeshConnection> _offMeshConnections = new List<RcOffMeshConnection>();
|
private readonly List<RcOffMeshConnection> _offMeshConnections = new List<RcOffMeshConnection>();
|
||||||
private readonly RcTriMesh _mesh;
|
private readonly RcTriMesh _mesh;
|
||||||
|
@ -61,6 +61,11 @@ namespace DotRecast.Recast.Toolset.Geom
|
||||||
_mesh = new RcTriMesh(vertices, faces);
|
_mesh = new RcTriMesh(vertices, faces);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RcTriMesh GetMesh()
|
||||||
|
{
|
||||||
|
return _mesh;
|
||||||
|
}
|
||||||
|
|
||||||
public RcVec3f GetMeshBoundsMin()
|
public RcVec3f GetMeshBoundsMin()
|
||||||
{
|
{
|
||||||
return bmin;
|
return bmin;
|
||||||
|
@ -129,7 +134,7 @@ namespace DotRecast.Recast.Toolset.Geom
|
||||||
public bool RaycastMesh(RcVec3f src, RcVec3f dst, out float tmin)
|
public bool RaycastMesh(RcVec3f src, RcVec3f dst, out float tmin)
|
||||||
{
|
{
|
||||||
tmin = 1.0f;
|
tmin = 1.0f;
|
||||||
|
|
||||||
// Prune hit ray.
|
// Prune hit ray.
|
||||||
if (!Intersections.IsectSegAABB(src, dst, bmin, bmax, out var btmin, out var btmax))
|
if (!Intersections.IsectSegAABB(src, dst, bmin, bmax, out var btmin, out var btmax))
|
||||||
{
|
{
|
||||||
|
@ -196,7 +201,7 @@ namespace DotRecast.Recast.Toolset.Geom
|
||||||
volume.areaMod = areaMod;
|
volume.areaMod = areaMod;
|
||||||
AddConvexVolume(volume);
|
AddConvexVolume(volume);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddConvexVolume(RcConvexVolume volume)
|
public void AddConvexVolume(RcConvexVolume volume)
|
||||||
{
|
{
|
||||||
_convexVolumes.Add(volume);
|
_convexVolumes.Add(volume);
|
||||||
|
@ -206,7 +211,7 @@ namespace DotRecast.Recast.Toolset.Geom
|
||||||
{
|
{
|
||||||
_convexVolumes.Clear();
|
_convexVolumes.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int[] MapFaces(List<int> meshFaces)
|
private static int[] MapFaces(List<int> meshFaces)
|
||||||
{
|
{
|
||||||
int[] faces = new int[meshFaces.Count];
|
int[] faces = new int[meshFaces.Count];
|
||||||
|
|
|
@ -26,6 +26,7 @@ namespace DotRecast.Recast.Geom
|
||||||
{
|
{
|
||||||
public interface IInputGeomProvider
|
public interface IInputGeomProvider
|
||||||
{
|
{
|
||||||
|
RcTriMesh GetMesh();
|
||||||
RcVec3f GetMeshBoundsMin();
|
RcVec3f GetMeshBoundsMin();
|
||||||
|
|
||||||
RcVec3f GetMeshBoundsMax();
|
RcVec3f GetMeshBoundsMax();
|
||||||
|
|
|
@ -81,6 +81,11 @@ namespace DotRecast.Recast.Geom
|
||||||
_mesh = new RcTriMesh(vertices, faces);
|
_mesh = new RcTriMesh(vertices, faces);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RcTriMesh GetMesh()
|
||||||
|
{
|
||||||
|
return _mesh;
|
||||||
|
}
|
||||||
|
|
||||||
public RcVec3f GetMeshBoundsMin()
|
public RcVec3f GetMeshBoundsMin()
|
||||||
{
|
{
|
||||||
return bmin;
|
return bmin;
|
||||||
|
|
Loading…
Reference in New Issue