static void Main(string[] args) { FilePaths filePaths = ArgParser.Parse(args); AssimpInterpreter interpreter = new AssimpInterpreter(); Structure structure = interpreter.Interpret(filePaths.inFile); NodeGraph nodeGraph = null; // Voxel solution. if (filePaths.voxelSolution) { nodeGraph = VoxelGridGraphGenerator.GenerateNodeGraph(structure); } // Mesh solution. else { List <NodeGraph> nodeGraphs = new List <NodeGraph>(); for (int i = 0; i < structure.components.Count; i++) { NodeGraph n = ComponentGraphGenerator.GenerateComponentNodeGraph(structure.components[i]); nodeGraphs.Add(n); } nodeGraph = GraphUnifier.UnifyGraphs(nodeGraphs); } XMLCreator.writeXML(nodeGraph, filePaths.outFile); }
/* * Generates a nodeGraph using the componentNodeGraph + UnifyNodeGraphs strategy. */ static NodeGraph GenerateNodeGraph(Structure structure) { List <NodeGraph> nodeGraphs = new List <NodeGraph>(); foreach (Component component in structure.components) { nodeGraphs.Add(ComponentGraphGenerator.GenerateComponentNodeGraph(component)); } return(GraphUnifier.UnifyGraphs(nodeGraphs)); }