// $ANTLR start "color" // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:112:1: color : // TYPE_COLOR ; public final RayTracerParser.color_return color() throws RecognitionException { RayTracerParser.color_return retval = new RayTracerParser.color_return(); retval.start = input.LT(1); Token TYPE_COLOR5 = null; try { // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:112:7: ( // TYPE_COLOR ) // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:112:9: TYPE_COLOR { TYPE_COLOR5 = (Token) match(input, TYPE_COLOR, FOLLOW_TYPE_COLOR_in_color265); color += (TYPE_COLOR5 != null ? TYPE_COLOR5.getText() : null); double[] color1 = new double[3]; if (color.equals("Yellow")) { color1[0] = 1.0; color1[1] = 1.0; color1[2] = 0.0; } else if (color.equals("Blue")) { color1[0] = 0.0; color1[1] = 0.0; color1[2] = 1.0; } else if (color.equals("Red")) { color1[0] = 1.0; color1[1] = 0.0; color1[2] = 0.0; } else if (color.equals("Green")) { color1[0] = 0.0; color1[1] = 1.0; color1[2] = 0.0; } else if (color.equals("White")) { color1[0] = 1.0; color1[1] = 1.0; color1[2] = 1.0; } color = ""; switch (typeObject) { case 4: ligths.add(color1); break; case 5: for (int i = 0; i < 3; i++) { ambientLight[i] = color1[i]; } break; default: break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return retval; }
// $ANTLR start "constantLights" // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:136:1: constantLights // : 'finish' OPEN_BRACKET 'ambient' num0= number 'diffuse' num1= number 'phong' num2= number // 'phong_size' num3= number CLOSE_BRACKET ; public final void constantLights() throws RecognitionException { RayTracerParser.number_return num0 = null; RayTracerParser.number_return num1 = null; RayTracerParser.number_return num2 = null; RayTracerParser.number_return num3 = null; try { // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:137:2: ( 'finish' // OPEN_BRACKET 'ambient' num0= number 'diffuse' num1= number 'phong' num2= number // 'phong_size' num3= number CLOSE_BRACKET ) // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:137:3: 'finish' // OPEN_BRACKET 'ambient' num0= number 'diffuse' num1= number 'phong' num2= number // 'phong_size' num3= number CLOSE_BRACKET { flag = true; match(input, 25, FOLLOW_25_in_constantLights314); match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_constantLights316); match(input, 26, FOLLOW_26_in_constantLights318); pushFollow(FOLLOW_number_in_constantLights322); num0 = number(); state._fsp--; match(input, 27, FOLLOW_27_in_constantLights324); pushFollow(FOLLOW_number_in_constantLights328); num1 = number(); state._fsp--; match(input, 28, FOLLOW_28_in_constantLights330); pushFollow(FOLLOW_number_in_constantLights334); num2 = number(); state._fsp--; match(input, 29, FOLLOW_29_in_constantLights336); pushFollow(FOLLOW_number_in_constantLights340); num3 = number(); state._fsp--; match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_constantLights342); double[] temp = new double[4]; temp[0] = Double.valueOf((num0 != null ? input.toString(num0.start, num0.stop) : null)) .doubleValue(); temp[1] = Double.valueOf((num1 != null ? input.toString(num1.start, num1.stop) : null)) .doubleValue(); temp[2] = Double.valueOf((num2 != null ? input.toString(num2.start, num2.stop) : null)) .doubleValue(); temp[3] = Double.valueOf((num3 != null ? input.toString(num3.start, num3.stop) : null)) .doubleValue(); switch (typeObject) { case 1: break; case 2: spheres.add(temp); break; case 3: break; case 4: break; case 5: break; } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return; }
// $ANTLR start "pigment" // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:62:1: pigment : // PIGMENT OPEN_BRACKET COLOR color CLOSE_BRACKET ; public final void pigment() throws RecognitionException { RayTracerParser.color_return color4 = null; try { // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:62:9: ( PIGMENT // OPEN_BRACKET COLOR color CLOSE_BRACKET ) // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:62:11: PIGMENT // OPEN_BRACKET COLOR color CLOSE_BRACKET { match(input, PIGMENT, FOLLOW_PIGMENT_in_pigment196); match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_pigment198); match(input, COLOR, FOLLOW_COLOR_in_pigment200); pushFollow(FOLLOW_color_in_pigment202); color4 = color(); state._fsp--; match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_pigment204); color += (color4 != null ? input.toString(color4.start, color4.stop) : null); double[] color1 = new double[3]; // Para determinar el color if (color.equals("Yellow")) { color1[0] = 1.0; color1[1] = 1.0; color1[2] = 0.0; } else if (color.equals("Blue")) { color1[0] = 0.0; color1[1] = 0.0; color1[2] = 1.0; } else if (color.equals("Red")) { color1[0] = 1.0; color1[1] = 0.0; color1[2] = 0.0; } else if (color.equals("Green")) { color1[0] = 0.0; color1[1] = 1.0; color1[2] = 0.0; } else if (color.equals("White")) { color1[0] = 1.0; color1[1] = 1.0; color1[2] = 1.0; } color = ""; // Para saber a que vector se agrega switch (typeObject) { case 1: break; case 2: spheres.add(color1); case 3: break; case 4: ligths.add(color1); break; } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return; }
// $ANTLR start "coordenate3D" // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:91:1: coordenate3D : // LESS_THAN num1= number COMMA num2= number COMMA num3= number GREATER_THAN ; public final RayTracerParser.coordenate3D_return coordenate3D() throws RecognitionException { RayTracerParser.coordenate3D_return retval = new RayTracerParser.coordenate3D_return(); retval.start = input.LT(1); RayTracerParser.number_return num1 = null; RayTracerParser.number_return num2 = null; RayTracerParser.number_return num3 = null; try { // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:92:2: ( LESS_THAN // num1= number COMMA num2= number COMMA num3= number GREATER_THAN ) // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:92:4: LESS_THAN // num1= number COMMA num2= number COMMA num3= number GREATER_THAN { match(input, LESS_THAN, FOLLOW_LESS_THAN_in_coordenate3D216); pushFollow(FOLLOW_number_in_coordenate3D220); num1 = number(); state._fsp--; match(input, COMMA, FOLLOW_COMMA_in_coordenate3D222); pushFollow(FOLLOW_number_in_coordenate3D226); num2 = number(); state._fsp--; match(input, COMMA, FOLLOW_COMMA_in_coordenate3D228); pushFollow(FOLLOW_number_in_coordenate3D232); num3 = number(); state._fsp--; match(input, GREATER_THAN, FOLLOW_GREATER_THAN_in_coordenate3D234); double[] temp = new double[3]; temp[0] = Double.valueOf((num1 != null ? input.toString(num1.start, num1.stop) : null)) .doubleValue(); temp[1] = Double.valueOf((num2 != null ? input.toString(num2.start, num2.stop) : null)) .doubleValue(); temp[2] = Double.valueOf((num3 != null ? input.toString(num3.start, num3.stop) : null)) .doubleValue(); switch (typeObject) { case 1: break; case 2: spheres.add(temp); break; case 3: break; case 4: ligths.add(temp); break; case 5: break; } } retval.stop = input.LT(-1); } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return retval; }
// $ANTLR start "sphere" // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:34:1: sphere : SPHERE // OPEN_BRACKET coordenate3D COMMA number pigment ( constantLights )? CLOSE_BRACKET ; public final void sphere() throws RecognitionException { RayTracerParser.number_return number1 = null; try { // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:34:8: ( SPHERE // OPEN_BRACKET coordenate3D COMMA number pigment ( constantLights )? CLOSE_BRACKET ) // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:34:10: SPHERE // OPEN_BRACKET coordenate3D COMMA number pigment ( constantLights )? CLOSE_BRACKET { typeObject = typeSphere; flag = false; match(input, SPHERE, FOLLOW_SPHERE_in_sphere111); match(input, OPEN_BRACKET, FOLLOW_OPEN_BRACKET_in_sphere113); pushFollow(FOLLOW_coordenate3D_in_sphere115); coordenate3D(); state._fsp--; match(input, COMMA, FOLLOW_COMMA_in_sphere123); pushFollow(FOLLOW_number_in_sphere125); number1 = number(); state._fsp--; double[] tempRadio = new double[1]; tempRadio[0] = Double.valueOf((number1 != null ? input.toString(number1.start, number1.stop) : null)) .doubleValue(); spheres.add(tempRadio); /*sphere+= (number1!=null?input.toString(number1.start,number1.stop):null) + ", ";*/ pushFollow(FOLLOW_pigment_in_sphere133); pigment(); state._fsp--; // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:44:11: ( // constantLights )? int alt4 = 2; int LA4_0 = input.LA(1); if ((LA4_0 == 25)) { alt4 = 1; } switch (alt4) { case 1: // D:\\Pamela\\Quinto semestre\\Computación Gráfica\\RayTracer\\RayTracer.g:44:12: // constantLights { pushFollow(FOLLOW_constantLights_in_sphere136); constantLights(); state._fsp--; } break; } match(input, CLOSE_BRACKET, FOLLOW_CLOSE_BRACKET_in_sphere140); if (!flag) { double[] temp = new double[4]; temp[0] = 0.1; temp[1] = 0.7; temp[2] = 0.7; temp[3] = 20.0; spheres.add(temp); } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { } return; }