16 #ifndef SPECULARREFLEXION_H
17 #define SPECULARREFLEXION_H
29 const vec3& incomingDirection =
vec3(0.0, 0.0, 0.0),
Shape* _shape = NULL)
30 :
Event(position, incomingDirection, _shape)
Class describing an event (reflection, diffraction, ...)
int nbResponseLeft
Number of remaining rays to launch.
int initialNbResponse
Number of rays to launch after event.
typeevent type
Event type.
base class for shapes (Cylindre, Mesh, Sphere, Triangle,...)
Specular reflection class Event.
virtual bool getResponse(vec3 &r, bool force=false)
Return a direction vector for the impact. Ray direction vector in response of the event.
virtual bool isAcceptableResponse(vec3 &test)
Return true if the ray direction vector in response of the event is acceptable.
virtual ~SpecularReflexion()
Destructor.
SpecularReflexion(const SpecularReflexion &other)
Copy constructor.
virtual double getAngle()
Get incident angle.
SpecularReflexion(const vec3 &position=vec3(0.0, 0.0, 0.0), const vec3 &incomingDirection=vec3(0.0, 0.0, 0.0), Shape *_shape=NULL)
Default constructor.
base_vec3< decimal > vec3