public static void AddStringValues(this TableBuilder tb, string name, IEnumerable <string> vals) { if (tb.StringColumns.ContainsKey(name)) { tb.StringColumns[name] = tb.StringColumns[name].Concat(vals).ToArray(); } else { tb.StringColumns.Add(name, Enumerable.Repeat("", tb.NumRows).Concat(vals).ToArray()); } }
public static void AddIndexValues(this TableBuilder tb, string name, IEnumerable <int> vals, Dictionary <string, int> originalEntityCounts) { var tableName = DocumentExtensions.GetRelatedTableNameFromColumnName(name); var offset = 0; if (originalEntityCounts.ContainsKey(name)) { offset = originalEntityCounts[name]; } var offsetVals = vals.Select(v => v + offset); if (tb.IndexColumns.ContainsKey(name)) { tb.IndexColumns[name] = tb.IndexColumns[name].Concat(offsetVals).ToArray(); } else { tb.IndexColumns.Add(name, Enumerable.Repeat(-1, tb.NumRows).Concat(offsetVals).ToArray()); } }
public static TableBuilder AddRelation(this TableBuilder tb, IEnumerable <int> values, string tableName, string fieldName) => tb.AddIndexColumn(tableName, fieldName, values);
public static TableBuilder AddField(this TableBuilder tb, IEnumerable <bool> values, string name) => tb.AddColumn(name, values);
public static TableBuilder AddField(this TableBuilder tb, IEnumerable <string> values, string name) => tb.AddColumn(name, values.ToArray());
public static TableBuilder AddField(this TableBuilder tb, IEnumerable <AABox> values, string name) => tb.AddField(values.Select(x => x.Min), name + ".Min") .AddField(values.Select(x => x.Max), name + ".Max");
public static TableBuilder AddField(this TableBuilder tb, IEnumerable <DVector3> values, string name) => tb.AddField(values.Select(x => x.X), name + ".X") .AddField(values.Select(x => x.Y), name + ".Y") .AddField(values.Select(x => x.Z), name + ".Z");