void AssignVoxMLValues(VoxML voxml)
{
// assign VoxML values
// ENTITY
mlEntityType = voxml.Entity.Type;
// PRED
mlPred = voxml.Lex.Pred;
mlTypes = new List<string>(voxml.Lex.Type.Split (new char[]{'*'}));
mlTypeCount = mlTypes.Count;
mlTypeSelectVisible = new List<int>(new int[]{-1});
mlTypeSelected = new List<int>(new int[]{-1});
mlRemoveType = new List<int>(new int[]{-1});
for (int i = 0; i < mlTypeCount; i++) {
mlTypeSelectVisible.Add (-1);
mlTypeSelected.Add (-1);
mlRemoveType.Add (-1);
}
// TYPE
mlHead = voxml.Type.Head;
mlComponents = new List<string>();
foreach (VoxTypeComponent c in voxml.Type.Components) {
mlComponents.Add (c.Value);
}
mlComponentCount = mlComponents.Count;
mlConcavity = voxml.Type.Concavity;
List <string> rotatSyms = new List<string>(voxml.Type.RotatSym.Split (new char[]{','}));
mlRotatSymX = (rotatSyms.Contains("X"));
mlRotatSymY = (rotatSyms.Contains("Y"));
mlRotatSymZ = (rotatSyms.Contains("Z"));
List<string> reflSyms = new List<string>(voxml.Type.ReflSym.Split (new char[]{','}));
mlReflSymXY = (reflSyms.Contains ("XY"));
mlReflSymXZ = (reflSyms.Contains ("XZ"));
mlReflSymYZ = (reflSyms.Contains ("YZ"));
mlArgs = new List<string>();
foreach (VoxTypeArg a in voxml.Type.Args) {
mlArgs.Add (a.Value);
}
mlArgCount = mlArgs.Count;
mlSubevents = new List<string>();
foreach (VoxTypeSubevent e in voxml.Type.Body) {
mlSubevents.Add (e.Value);
}
mlSubeventCount = mlSubevents.Count;
// HABITAT
mlIntrHabitats = new List<string>();
foreach (VoxHabitatIntr i in voxml.Habitat.Intrinsic) {
mlIntrHabitats.Add (i.Name + "=" + i.Value);
}
mlIntrHabitatCount = mlIntrHabitats.Count;
mlExtrHabitats = new List<string>();
foreach (VoxHabitatExtr e in voxml.Habitat.Extrinsic) {
mlExtrHabitats.Add (e.Name + "=" + e.Value);
}
mlExtrHabitatCount = mlExtrHabitats.Count;
// AFFORD_STR
mlAffordances = new List<string>();
foreach (VoxAffordAffordance a in voxml.Afford_Str.Affordances) {
mlAffordances.Add (a.Formula);
}
mlAffordanceCount = mlAffordances.Count;
// EMBODIMENT
mlScale = voxml.Embodiment.Scale;
mlMovable = voxml.Embodiment.Movable;
}