53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using TriangleNet.Geometry;
|
|
|
|
namespace TriangleNet.IO
|
|
{
|
|
// Token: 0x0200002B RID: 43
|
|
public class TriangleFormat : IGeometryFormat, IMeshFormat
|
|
{
|
|
// Token: 0x06000163 RID: 355 RVA: 0x00017B88 File Offset: 0x00015D88
|
|
public Mesh Import(string filename)
|
|
{
|
|
string extension = Path.GetExtension(filename);
|
|
if (extension == ".node" || extension == ".poly" || extension == ".ele")
|
|
{
|
|
InputGeometry inputGeometry;
|
|
List<ITriangle> list;
|
|
FileReader.Read(filename, out inputGeometry, out list);
|
|
if (inputGeometry != null && list != null)
|
|
{
|
|
Mesh mesh = new Mesh();
|
|
mesh.Load(inputGeometry, list);
|
|
return mesh;
|
|
}
|
|
}
|
|
throw new NotSupportedException("Could not load '" + filename + "' file.");
|
|
}
|
|
|
|
// Token: 0x06000164 RID: 356 RVA: 0x00017BF6 File Offset: 0x00015DF6
|
|
public void Write(Mesh mesh, string filename)
|
|
{
|
|
FileWriter.WritePoly(mesh, Path.ChangeExtension(filename, ".poly"));
|
|
FileWriter.WriteElements(mesh, Path.ChangeExtension(filename, ".ele"));
|
|
}
|
|
|
|
// Token: 0x06000165 RID: 357 RVA: 0x00017C1C File Offset: 0x00015E1C
|
|
public InputGeometry Read(string filename)
|
|
{
|
|
string extension = Path.GetExtension(filename);
|
|
if (extension == ".node")
|
|
{
|
|
return FileReader.ReadNodeFile(filename);
|
|
}
|
|
if (extension == ".poly")
|
|
{
|
|
return FileReader.ReadPolyFile(filename);
|
|
}
|
|
throw new NotSupportedException("File format '" + extension + "' not supported.");
|
|
}
|
|
}
|
|
}
|