Parent Directory
|
Revision Log
added libnytrengine. buildable
#ifndef _nytr_VisibilityChecker_h_
#define _nytr_VisibilityChecker_h_
#include "rndrcmn.h"
#include "GeomMgr.h"
namespace nytr
{
//! visibility checker interface
class VisibilityChecker
{
public:
//! C-tor
/*!
@param pGeomMgr
scene geometry
*/
VisibilityChecker(GeomMgr* pGeomMgr);
//! eval V(x <-> y)
/*!
evaluate V(x <-> y), the visibility function.
@return
- @b true : there is no obj between vX and vY.
- @b false : there are some objs between vX and vY.
*/
bool V(const FVector3& vX, const FVector3& vY);
//! eval V for a ray
/*!
evaluate visibility function, V(ray.vPos, ray.vPos + length * ray.vDir)
@return
- @b true : there is no obj between vX and vY.
- @b false : there are some obj(s) between vX and vY.
@see V()
*/
bool Vray(const FRay& ray, const REAL length);
private:
//! geometry manager
GeomMgr* m_pgeommgr;
};
} // end of namespace nytr
#include "VisibilityChecker.inl.h"
#endif // _nytr_VisibilityChecker_h_
| admin | ViewVC Help |
| Powered by ViewVC 1.0.5 |