using System; using CaeMesh; using CsvHelper; using CsvHelper.Configuration; using System.Collections.Generic; using System.Globalization; using System.IO; namespace RBFMorphing { [Serializable] public class ImportedNodes : AbstractClass { private readonly List _nodes; public ImportedNodes() : base(EnumMorphMethod.ImportFile) { _nodes = new List(); } public override List GetNodes() { return _nodes; } public override int[] Labels => null; public override int Length => _nodes.Count; private sealed class NodeMap: ClassMap { public NodeMap() { Map(n => n.Id).Name("id", "ID", "Id", "iD"); Map(n => n.X).Name("x", "X"); Map(n => n.Y).Name("y", "Y"); Map(n => n.Z).Name("z", "Z"); } } public void LoadCsvFile(string fullPath) { using (var reader = new StreamReader(fullPath)) using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) { csv.Context.RegisterClassMap(); foreach (var record in csv.GetRecords()) { _nodes.Add(record); } } } } }