equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * container.h: Container class |
2 * container.h: Container class |
3 * |
3 * |
4 * This file is part of Pyrit Ray Tracer. |
4 * This file is part of Pyrit Ray Tracer. |
5 * |
5 * |
6 * Copyright 2007 Radek Brich |
6 * Copyright 2007, 2008 Radek Brich |
7 * |
7 * |
8 * Permission is hereby granted, free of charge, to any person obtaining a copy |
8 * Permission is hereby granted, free of charge, to any person obtaining a copy |
9 * of this software and associated documentation files (the "Software"), to deal |
9 * of this software and associated documentation files (the "Software"), to deal |
10 * in the Software without restriction, including without limitation the rights |
10 * in the Software without restriction, including without limitation the rights |
11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
46 virtual ~Container() {}; |
46 virtual ~Container() {}; |
47 virtual void addShape(Shape* aShape); |
47 virtual void addShape(Shape* aShape); |
48 //void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); }; |
48 //void addShapeNoExtend(Shape* aShape) { shapes.push_back(aShape); }; |
49 virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray, |
49 virtual Shape *nearest_intersection(const Shape *origin_shape, const Ray &ray, |
50 Float &nearest_distance); |
50 Float &nearest_distance); |
51 virtual void packet_intersection(const Shape **origin_shapes, const RayPacket &rays, |
|
52 Float *nearest_distances, Shape **nearest_shapes); |
|
53 |
51 |
54 virtual void optimize() {}; |
52 virtual void optimize() {}; |
55 |
53 |
56 ShapeList & getShapes() { return shapes; }; |
54 ShapeList & getShapes() { return shapes; }; |
57 |
55 |
58 virtual ostream & dump(ostream &st); |
56 virtual ostream & dump(ostream &st); |
|
57 |
|
58 #ifndef NO_SSE |
|
59 virtual void packet_intersection(const Shape **origin_shapes, const RayPacket &rays, |
|
60 Float *nearest_distances, Shape **nearest_shapes); |
|
61 #endif |
59 }; |
62 }; |
60 |
63 |
61 #endif |
64 #endif |