From fc8a46853bd387111d75fdace9b71abb1fef3421 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 9 Feb 2009 02:55:02 +0000 Subject: [PATCH] added some setters to Scene, including some modules in parser, ready to do something with the parse results git-svn-id: svn://anubis/fart/trunk@89 7f9b0f55-74a9-4bce-be96-3c2cd072584d --- main/Scene.h | 8 ++++++++ parser/Makefile | 4 ++-- parser/parser.yy | 7 ++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/main/Scene.h b/main/Scene.h index 39503a6..9922584 100644 --- a/main/Scene.h +++ b/main/Scene.h @@ -31,6 +31,14 @@ class Scene const char * filename); ~Scene(); void render(); + void setWidth(int width) { m_width = width; } + void setHeight(int height) { m_height = height; } + void setMultisampleLevel(int level) { m_multisample_level = level; } + void setVFOV(double vfov) { m_vfov = vfov; } + void setAmbientLight(const Color & al) { m_ambient_light = al; } + void addShape(Shape * shape) { m_shapes.push_back(shape); } + void addLight(Light * light) { m_lights.push_back(light); } + Transform & getTransform() { return m_transform; } protected: /* private methods */ diff --git a/parser/Makefile b/parser/Makefile index 9b47c15..2288a47 100644 --- a/parser/Makefile +++ b/parser/Makefile @@ -10,10 +10,10 @@ CXXOBJS := $(PARSER).tab.o all: $(COBJS) $(CXXOBJS) %.o: %.c - $(CC) -c -o $@ $< + $(CC) -c -o $@ $(CPPFLAGS) $< %.o: %.cc - $(CXX) -c -o $@ $< + $(CXX) -c -o $@ $(CPPFLAGS) $< $(PARSER).tab.cc $(PARSER).tab.hh: $(PARSER).yy $(BISON) -d $< diff --git a/parser/parser.yy b/parser/parser.yy index 63a450f..65e0afd 100644 --- a/parser/parser.yy +++ b/parser/parser.yy @@ -2,6 +2,8 @@ %{ #include #include +#include "main/Scene.h" +#include "util/Vector.h" using namespace std; extern "C" { @@ -29,6 +31,8 @@ class Node void * ptr; }; +static Scene * g_scene; + #define YYSTYPE Node %} @@ -183,8 +187,9 @@ vector: LESS number COMMA number COMMA number GREATER %% -int parse(const char * fileName) +int parse(Scene * scene, const char * fileName) { + g_scene = scene; yyin = fopen(fileName, "r"); if (yyin == NULL) {