diff --git a/cs658/final/shapes/Makefile b/cs658/final/shapes/Makefile new file mode 100644 index 0000000..31460bf --- /dev/null +++ b/cs658/final/shapes/Makefile @@ -0,0 +1,20 @@ + +OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc)) + +all: $(OBJS) + +%.o: %.cc + $(CXX) -c -o $@ $(CXXFLAGS) $< + +# Make dependency files +%.dep: %.cc + @set -e; rm -f $@; \ + $(CXX) -MM $(CPPFLAGS) $< > $@.$$$$; \ + sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ + rm -f $@.$$$$ + +clean: + -$(RM) -f *.o *.dep $(ARCHIVE) + +# Include dependency files +include $(OBJS:.o=.dep) diff --git a/cs658/final/shapes/Shape.h b/cs658/final/shapes/Shape.h new file mode 100644 index 0000000..8e4d6a3 --- /dev/null +++ b/cs658/final/shapes/Shape.h @@ -0,0 +1,15 @@ + +#ifndef SHAPE_H +#define SHAPE_H SHAPE_H + +#include "util/Solver.h" +#include "util/Ray.h" + +class Shape +{ + public: + virtual Solver::Result intersect(const Ray & ray) = 0; +}; + +#endif +