forked from mirror/DotRecast
remove meaningless TriMesh creation
This commit is contained in:
parent
2cd93e8099
commit
6a31bfee32
|
@ -36,7 +36,7 @@ public class DemoInputGeomProvider : InputGeomProvider
|
|||
private readonly Vector3f bmax;
|
||||
private readonly List<ConvexVolume> _convexVolumes = new();
|
||||
private readonly List<DemoOffMeshConnection> offMeshConnections = new();
|
||||
private readonly ChunkyTriMesh chunkyTriMesh;
|
||||
private readonly TriMesh _mesh;
|
||||
|
||||
public DemoInputGeomProvider(List<float> vertexPositions, List<int> meshFaces) :
|
||||
this(mapVertices(vertexPositions), mapFaces(meshFaces))
|
||||
|
@ -81,7 +81,7 @@ public class DemoInputGeomProvider : InputGeomProvider
|
|||
RecastVectors.max(ref bmax, vertices, i * 3);
|
||||
}
|
||||
|
||||
chunkyTriMesh = new ChunkyTriMesh(vertices, faces, faces.Length / 3, 256);
|
||||
_mesh = new TriMesh(vertices, faces);
|
||||
}
|
||||
|
||||
public Vector3f getMeshBoundsMin()
|
||||
|
@ -130,7 +130,7 @@ public class DemoInputGeomProvider : InputGeomProvider
|
|||
|
||||
public IEnumerable<TriMesh> meshes()
|
||||
{
|
||||
return ImmutableArray.Create(new TriMesh(vertices, faces));
|
||||
return ImmutableArray.Create(_mesh);
|
||||
}
|
||||
|
||||
public List<DemoOffMeshConnection> getOffMeshConnections()
|
||||
|
@ -166,7 +166,7 @@ public class DemoInputGeomProvider : InputGeomProvider
|
|||
q[0] = src[0] + (dst[0] - src[0]) * btmax;
|
||||
q[1] = src[2] + (dst[2] - src[2]) * btmax;
|
||||
|
||||
List<ChunkyTriMeshNode> chunks = chunkyTriMesh.getChunksOverlappingSegment(p, q);
|
||||
List<ChunkyTriMeshNode> chunks = _mesh.chunkyTriMesh.getChunksOverlappingSegment(p, q);
|
||||
if (0 == chunks.Count)
|
||||
{
|
||||
return null;
|
||||
|
|
|
@ -32,7 +32,8 @@ namespace DotRecast.Recast.Geom
|
|||
public readonly float[] normals;
|
||||
private Vector3f bmin;
|
||||
private Vector3f bmax;
|
||||
readonly List<ConvexVolume> volumes = new List<ConvexVolume>();
|
||||
private readonly List<ConvexVolume> volumes = new List<ConvexVolume>();
|
||||
private readonly TriMesh _mesh;
|
||||
|
||||
public SimpleInputGeomProvider(List<float> vertexPositions, List<int> meshFaces)
|
||||
: this(mapVertices(vertexPositions), mapFaces(meshFaces))
|
||||
|
@ -76,6 +77,8 @@ namespace DotRecast.Recast.Geom
|
|||
RecastVectors.min(ref bmin, vertices, i * 3);
|
||||
RecastVectors.max(ref bmax, vertices, i * 3);
|
||||
}
|
||||
|
||||
_mesh = new TriMesh(vertices, faces);
|
||||
}
|
||||
|
||||
public Vector3f getMeshBoundsMin()
|
||||
|
@ -105,7 +108,7 @@ namespace DotRecast.Recast.Geom
|
|||
|
||||
public IEnumerable<TriMesh> meshes()
|
||||
{
|
||||
return ImmutableArray.Create(new TriMesh(vertices, faces));
|
||||
return ImmutableArray.Create(_mesh);
|
||||
}
|
||||
|
||||
public void calculateNormals()
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace DotRecast.Recast.Geom
|
|||
{
|
||||
private readonly Vector3f bmin;
|
||||
private readonly Vector3f bmax;
|
||||
private readonly TriMesh[] _meshes;
|
||||
private readonly TriMesh _mesh;
|
||||
|
||||
public SingleTrimeshInputGeomProvider(float[] vertices, int[] faces)
|
||||
{
|
||||
|
@ -41,7 +41,7 @@ namespace DotRecast.Recast.Geom
|
|||
RecastVectors.max(ref bmax, vertices, i * 3);
|
||||
}
|
||||
|
||||
_meshes = new[] { new TriMesh(vertices, faces) };
|
||||
_mesh = new TriMesh(vertices, faces);
|
||||
}
|
||||
|
||||
public Vector3f getMeshBoundsMin()
|
||||
|
@ -56,7 +56,7 @@ namespace DotRecast.Recast.Geom
|
|||
|
||||
public IEnumerable<TriMesh> meshes()
|
||||
{
|
||||
return _meshes;
|
||||
return ImmutableArray.Create(_mesh);
|
||||
}
|
||||
|
||||
public IList<ConvexVolume> convexVolumes()
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace DotRecast.Recast.Geom
|
|||
{
|
||||
private readonly float[] vertices;
|
||||
private readonly int[] faces;
|
||||
private readonly ChunkyTriMesh chunkyTriMesh;
|
||||
public readonly ChunkyTriMesh chunkyTriMesh;
|
||||
|
||||
public TriMesh(float[] vertices, int[] faces)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue