X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fglsl%2Fevaluate.cpp;h=f290002b61a14c0fefb15b92398a821c7ec7f529;hb=8173340a7737e32cb25b21b67049102bd1526beb;hp=915b2a6fe2cce1a6f8dcc4cd275029f1225ba6a2;hpb=19a24f859cd7fcf581442319499ae24b3e7385a4;p=libs%2Fgl.git diff --git a/source/glsl/evaluate.cpp b/source/glsl/evaluate.cpp index 915b2a6f..f290002b 100644 --- a/source/glsl/evaluate.cpp +++ b/source/glsl/evaluate.cpp @@ -7,25 +7,25 @@ namespace SL { ExpressionEvaluator::ExpressionEvaluator(): variable_values(0), - result(0.0f), - result_valid(false) + r_result(0.0f), + r_result_valid(false) { } ExpressionEvaluator::ExpressionEvaluator(const ValueMap &v): variable_values(&v), - result(0.0f), - result_valid(false) + r_result(0.0f), + r_result_valid(false) { } void ExpressionEvaluator::visit(Literal &literal) { if(literal.token=="true") - result = 1.0f; + r_result = 1.0f; else if(literal.token=="false") - result = 0.0f; + r_result = 0.0f; else - result = lexical_cast(literal.token); - result_valid = true; + r_result = lexical_cast(literal.token); + r_result_valid = true; } void ExpressionEvaluator::visit(ParenthesizedExpression &parexp) @@ -50,49 +50,49 @@ void ExpressionEvaluator::visit(VariableReference &var) void ExpressionEvaluator::visit(UnaryExpression &unary) { - result_valid = false; + r_result_valid = false; unary.expression->visit(*this); - if(!result_valid) + if(!r_result_valid) return; if(unary.oper->token[0]=='!') - result = !result; + r_result = !r_result; else - result_valid = false; + r_result_valid = false; } void ExpressionEvaluator::visit(BinaryExpression &binary) { - result_valid = false; + r_result_valid = false; binary.left->visit(*this); - if(!result_valid) + if(!r_result_valid) return; - float left_result = result; - result_valid = false; + float left_result = r_result; + r_result_valid = false; binary.right->visit(*this); - if(!result_valid) + if(!r_result_valid) return; std::string oper = binary.oper->token; if(oper=="<") - result = (left_result") - result = (left_result>result); + r_result = (left_result>r_result); else if(oper==">=") - result = (left_result>=result); + r_result = (left_result>=r_result); else if(oper=="==") - result = (left_result==result); + r_result = (left_result==r_result); else if(oper=="!=") - result = (left_result!=result); + r_result = (left_result!=r_result); else if(oper=="&&") - result = (left_result && result); + r_result = (left_result && r_result); else if(oper=="||") - result = (left_result || result); + r_result = (left_result || r_result); else - result_valid = false; + r_result_valid = false; } } // namespace SL