include/common.h
author Radek Brich <radek.brich@devl.cz>
Thu, 13 Dec 2007 00:08:11 +0100
branchpyrit
changeset 36 b490093b0ac3
parent 34 28f6e8b9d5d1
child 37 5f954c0d34fc
permissions -rw-r--r--
new virtual Shape::intersect_bbox implementation of triangle-AABB intersection octree building updated and simplified with help of this new method octree made default for Python, it's currently much faster than kd-tree (both building and traversal)

/*
 * Pyrit Ray Tracer
 * file: common.h
 *
 * Radek Brich, 2006-2007
 */

#ifndef COMMON_H
#define COMMON_H

#include <stdio.h>
#include <stdarg.h>
#include <float.h>

#ifdef PYRIT_DOUBLE
# define Float double
# define Eps DBL_EPSILON
# define Inf DBL_MAX
#else
# define Float float
# define Eps 1e-6
# define Inf FLT_MAX
#endif

/* verbosity level:
0: only errors (E)
1: major status messages (*)
2: minor status, progress (-)
3: debug messages (D)
4: more debug
default = 2
*/
extern int pyrit_verbosity;

inline void dbgmsg(const int vlevel, const char *format, ...)
{
	if (pyrit_verbosity >= vlevel)
	{
		va_list ap;
		va_start(ap, format);
		vprintf(format, ap);
		va_end(ap);
		fflush(stdout);
	}
}

#endif