From ee64558db6780fa5e9e8698f271d6080092fa394 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 11 Feb 2009 17:08:38 +0000 Subject: [PATCH] made parser/parser.yy:parse() a method of class Scene so no global g_scene is needed git-svn-id: svn://anubis/fart/trunk@100 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- main/Scene.h | 1 + parser/parser.yy | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/main/Scene.h b/main/Scene.h index 9922584..f4ce342 100644 --- a/main/Scene.h +++ b/main/Scene.h @@ -46,6 +46,7 @@ class Scene void renderPixel(int x, int y, unsigned char * pixel); Color traceRay(const Ray & ray); std::vector getRayHits(const Ray & ray); + int parse(const char * fileName); /* rendering parameters */ int m_width; diff --git a/parser/parser.yy b/parser/parser.yy index 2ccc5b2..f303456 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -47,8 +47,6 @@ enum Node_Type Node_Options }; -static Scene * g_scene; - #define YYSTYPE refptr %} @@ -289,9 +287,8 @@ vector: LESS number COMMA number COMMA number GREATER { %% -int parse(Scene * scene, const char * fileName) +int Scene::parse(const char * fileName) { - g_scene = scene; yyin = fopen(fileName, "r"); if (yyin == NULL) { @@ -299,6 +296,7 @@ int parse(Scene * scene, const char * fileName) return -1; } yyparse(); + return 0; } Node::Node()