initial import from /gvsu/cs658 repository

git-svn-id: svn://anubis/fart/trunk@2 7f9b0f55-74a9-4bce-be96-3c2cd072584d
This commit is contained in:
Josh Holtrop committed 2009-01-18 01:44:28 +00:00
1 parent a00c525abe
commit 206ede3304
13 files changed
+356

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc))
all: $(OBJS)
%.o: %.cc
$(CXX) -c -o $@ $(CPPFLAGS) $(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)
+15
View File
@@ -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
+22
View File
@@ -0,0 +1,22 @@
#include "Sphere.h"
#include "util/Solver.h"
Sphere::Sphere(double radius)
{
m_radius = radius;
}
Solver::Result Sphere::intersect(const Ray & ray)
{
Solver::Result res;
QuadraticSolver solver(1.0,
2 * ( ray.getOrigin()[0] * ray.getDirection()[0]
+ ray.getOrigin()[1] * ray.getDirection()[1]
+ ray.getOrigin()[2] * ray.getDirection()[2] ),
ray.getOrigin()[0] * ray.getOrigin()[0]
+ ray.getOrigin()[1] * ray.getOrigin()[1]
+ ray.getOrigin()[2] * ray.getOrigin()[2] );
Solver::Result quadSolutions = solver.solve();
return res;
}
+18
View File
@@ -0,0 +1,18 @@
#ifndef SPHERE_H
#define SPHERE_H SPHERE_H
#include "Shape.h"
class Sphere : public Shape
{
public:
Sphere(double radius);
Solver::Result intersect(const Ray & ray);
private:
double m_radius;
};
#endif