#ifndef _SHAPE_H #define _SHAPE_H #include "ray.h" // abstrakte 3D-Shape Klasse class Shape { public: // intersect virtual bool intersect( const Ray& ray, Vector& point, Vector& normal, double& distance) const = 0; // 'intersect' berechnet den naechsten Intersektionspunkt // zwischen Strahlursprung und Shape. Im Fall eines // Treffers wird in 'point' der Intersektionspunkt, in // 'normal' die normale an der Stelle eingetragen und // true zurueckgegeben. Die Distanz wird in 'distance' // gespeichert. Trifft der Strahl nicht, wird 'false' // zurueck gegeben. }; #endif // _SHAPE_H