/** * Read the ShaderNodesDefinitions block and returns a list of * ShaderNodesDefinition This method is used by the j3sn loader * * note that the order of the definitions in the list is not guaranteed. * * @param statements the list statements to parse * @param key the ShaderNodeDefinitionKey * @return a list of ShaderNodesDefinition * @throws IOException */ public List<ShaderNodeDefinition> readNodesDefinitions(List<Statement> statements, ShaderNodeDefinitionKey key) throws IOException { for (Statement statement : statements) { String[] split = statement.getLine().split("[ \\{]"); if (statement.getLine().startsWith("ShaderNodeDefinition")) { String name = statement.getLine().substring("ShaderNodeDefinition".length()).trim(); if (!getNodeDefinitions().containsKey(name)) { shaderNodeDefinition = new ShaderNodeDefinition(); getNodeDefinitions().put(name, shaderNodeDefinition); shaderNodeDefinition.setName(name); shaderNodeDefinition.setPath(key.getName()); readShaderNodeDefinition(statement.getContents(), key); } } else { throw new MatParseException("ShaderNodeDefinition", split[0], statement); } } return new ArrayList<ShaderNodeDefinition>(getNodeDefinitions().values()); }
final Map<String, ShaderNodeDefinition> nodeDefinitions = getNodeDefinitions(); final String definitionName = defLine[1].trim(); final String definitionPath = defLine[2].trim();
/** * Read the ShaderNodesDefinitions block and returns a list of * ShaderNodesDefinition This method is used by the j3sn loader * * note that the order of the definitions in the list is not guaranteed. * * @param statements the list statements to parse * @param key the ShaderNodeDefinitionKey * @return a list of ShaderNodesDefinition * @throws IOException */ public List<ShaderNodeDefinition> readNodesDefinitions(List<Statement> statements, ShaderNodeDefinitionKey key) throws IOException { for (Statement statement : statements) { String[] split = statement.getLine().split("[ \\{]"); if (statement.getLine().startsWith("ShaderNodeDefinition")) { String name = statement.getLine().substring("ShaderNodeDefinition".length()).trim(); if (!getNodeDefinitions().containsKey(name)) { shaderNodeDefinition = new ShaderNodeDefinition(); getNodeDefinitions().put(name, shaderNodeDefinition); shaderNodeDefinition.setName(name); shaderNodeDefinition.setPath(key.getName()); readShaderNodeDefinition(statement.getContents(), key); } } else { throw new MatParseException("ShaderNodeDefinition", split[0], statement); } } return new ArrayList<ShaderNodeDefinition>(getNodeDefinitions().values()); }
final Map<String, ShaderNodeDefinition> nodeDefinitions = getNodeDefinitions(); final String definitionName = defLine[1].trim(); final String definitionPath = defLine[2].trim();