public static void main(String argv[]) { ConditionParser parser = new ConditionParser(); //List<String> defines = parser.extractDefines("(LightMap && SeparateTexCoord) || !ColorMap"); List<String> defines = parser.extractDefines("RoughnessMap && MetallicRoughnessMap"); for (String string : defines) { System.err.println(string); } System.err.println(parser.formattedExpression); defines = parser.extractDefines("#if (defined(LightMap) && defined(SeparateTexCoord)) || !defined(ColorMap)"); for (String string : defines) { System.err.println(string); } System.err.println(parser.formattedExpression); // System.err.println(parser.getFormattedExpression()); // // parser.parse("ShaderNode.var.xyz"); // parser.parse("var.xyz"); // parser.parse("ShaderNode.var"); // parser.parse("var"); }
mapping.setCondition(conditionParser.getFormattedExpression());
/** * Extracts and checks a condition expression. * * @param condition the condition expression. * @param statement the statement being read. * @throws MatParseException if the condition isn't valid. */ public void extractCondition(String condition, Statement statement) throws MatParseException { List<String> defines = conditionParser.extractDefines(condition); for (String string : defines) { MatParam param = findMatParam(string); if (param != null) { addDefine(param.getName(), param.getVarType()); } else { throw new MatParseException("Invalid condition, condition must match a Material Parameter named " + condition, statement); } } }
/** * extract and check a condition expression * * @param cond the condition expression * @param statement the statement being read * @throws IOException */ public void extractCondition(String cond, Statement statement) throws IOException { List<String> defines = conditionParser.extractDefines(cond); for (String string : defines) { MatParam param = findMatParam(string); if (param != null) { addDefine(param.getName(), param.getVarType()); } else { throw new MatParseException("Invalid condition, condition must match a Material Parameter named " + cond, statement); } } }
ConditionParser parser = new ConditionParser(); for (String line : lines) { List<String> params = parser.extractDefines(line.trim()); String l = line.trim().replaceAll("defined", "").replaceAll("#if ", "").replaceAll("#ifdef", "");//parser.getFormattedExpression(); boolean match = false;
String condition = line.substring(line.lastIndexOf(":") + 1).trim(); extractCondition(condition, statement); shaderNode.setCondition(conditionParser.getFormattedExpression()); } else if (line.startsWith("InputMappings")) { for (final Statement subStatement : statement.getContents()) {
public static void main(String argv[]) { ConditionParser parser = new ConditionParser(); List<String> defines = parser.extractDefines("(LightMap && SeparateTexCoord) || !ColorMap"); for (String string : defines) { System.err.println(string); } System.err.println(parser.formattedExpression); defines = parser.extractDefines("#if (defined(LightMap) && defined(SeparateTexCoord)) || !defined(ColorMap)"); for (String string : defines) { System.err.println(string); } System.err.println(parser.formattedExpression); // System.err.println(parser.getFormattedExpression()); // // parser.parse("ShaderNode.var.xyz"); // parser.parse("var.xyz"); // parser.parse("ShaderNode.var"); // parser.parse("var"); }
mapping.setCondition(conditionParser.getFormattedExpression());
ConditionParser parser = new ConditionParser(); for (String line : lines) { List<String> params = parser.extractDefines(line.trim()); String l = line.trim().replaceAll("defined", "").replaceAll("#if ", "").replaceAll("#ifdef", "");//parser.getFormattedExpression(); boolean match = false;
String condition = line.substring(line.lastIndexOf(":") + 1).trim(); extractCondition(condition, statement); shaderNode.setCondition(conditionParser.getFormattedExpression()); } else if (line.startsWith("InputMapping")) { for (Statement statement1 : statement.getContents()) {