1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __I_SCENE_COLLISION_MANAGER_H_INCLUDED__
\r
6 #define __I_SCENE_COLLISION_MANAGER_H_INCLUDED__
\r
8 #include "IReferenceCounted.h"
\r
9 #include "position2d.h"
\r
17 class ICameraSceneNode;
\r
19 class ISceneCollisionManager : public virtual IReferenceCounted
\r
23 //! Returns a 3d ray which would go through the 2d screen coordinates.
\r
24 /** \param pos: Screen coordinates in pixels.
\r
25 \param camera: Camera from which the ray starts. If null, the
\r
26 active camera is used.
\r
27 \return Ray starting from the position of the camera and ending
\r
28 at a length of the far value of the camera at a position which
\r
29 would be behind the 2d screen coordinates. */
\r
30 virtual core::line3d<f32> getRayFromScreenCoordinates(
\r
31 const core::position2d<s32>& pos, const ICameraSceneNode* camera = 0) = 0;
\r
35 } // end namespace scene
\r
36 } // end namespace irr
\r