[svn] / nytr / trunk / libnytrengine / VisibilityChecker.h Repository:
ViewVC logotype

View of /nytr/trunk/libnytrengine/VisibilityChecker.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 678 - (download) (as text) (annotate)
Sat Jan 12 07:18:19 2008 UTC (2 years, 7 months ago) by kouhei
File size: 1078 byte(s)
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