vrecko
virtual reality framework
|
#include "precompiled.h"
#include <helpers/DynamicArray.h>
#include <helpers/Heaps.h>
#include <vrecko/World.h>
#include <vrecko/Scene.h>
#include "base/MTMatrixTransform.h"
#include <vreckoAP/SpacePartitioning/SNCH_Object.h>
#include <vrecko/EnvironmentObject.h>
#include <math.h>
Classes | |
struct | SNCH_THREAD_START_INFO |
Macros | |
#define | _USE_MATH_DEFINES |
#define | FACE(obj, x) ((SNCH_Object_Data::FaceSNCH*)obj->getFace(x)) |
#define | VERTEX(obj, x) ((SNCH_Object_Data::VertexSNCH*)obj->getVertex(x)) |
#define | VERTEX_REPRESENTANT(obj, x) (VERTEX(obj, VERTEX(obj, (x))->dwRepresentant)) |
#define | NODE(x) ((SNCH_Object_Data::STNodeSNCH*)(x)) |
#define | SMALL_NUM 0.00000001f |
#define | LOG_START_TIMING(blockName) {} |
#define | LOG_STOP_TIMING(blockName) {} |
#define | LOG_WRITECOUNTER(name, value) {} |
#define | USE_OUR_ALGORITHM |
#define | PRECISE_DISTANCE_CALC |
#define | LOCALSEARCH_USE_CACHE |
#define | LOCALSEARCH_CACHE_USE_HASH |
#define | USE_DISTANCE_LIMIT_FOR_PAIRS |
#define | LOCAL_SEARCH_INSIDE_GLOBAL |
#define | USE_MORE_SAFE_DEGEN_TEST |
#define | ASSURE_FACES_SIZE(minSize) |
#define | SURFACE_BREAK_TEST(r, dataX, p, m, n, instruction) |
#define | LS_EDGE_NO_EDGE -1 |
#define | LS_EDGE_ALL_EDGES -2 |
#define | TEST_PAIR_FLAGS_INTERSECTIONS_ONLY 0x00000001 |
#define | CALC_PAIR_FLAGS (bAct_IntersectionsOnly ? TEST_PAIR_FLAGS_INTERSECTIONS_ONLY : 0) |
#define | PAIR_EXISTS (pairs.dwNum) |
#define | INSERT_PAIR(x, y, tempVec, tempFloat, tempL, tempR, tempC) |
#define | RETRIEVE_PAIR { pairs.dwNum--; } |
#define | ACT_PAIR (pairs[pairs.dwNum]) |
#define | DELETE_ACT_PAIR |
#define | ASSURE_TEMPD { if (FLT_MAX == tempD) { tempD = (center2 - center1).length(); } } |
#define | ASSURE_RADIITOGETHER { if (FLT_MAX == radiiTogether) { radiiTogether = pSTNode1->radius * rad1mul + pSTNode2->radius * rad2mul; } } |
#define | ASSURE_MINSPHEREDIST { if (FLT_MAX == minSphereDist) { ASSURE_TEMPD; ASSURE_RADIITOGETHER; minSphereDist = tempD - radiiTogether; } } |
#define | TPPS_F_VALID 0x01 |
#define | TPPS_F_PROJ_BACKWARDS 0x02 |
#define | TPPS_F_PROJ_ZERO 0x04 |
#define | HALF_LINE_APPROXIMATION_NUMBER 100000.0f |
#define | p0Normal points0->planeNormal |
#define | p1Normal points1->planeNormal |
#define | IF_DIST__TEST_AND_SAVE(dist2, newCloseFeature0, newCloseFeature1, debugText) |
#define | IF_DIST_END |
#define | TMP_VE_PROJ_RES_0_EXCEEDED 0x1 |
#define | TMP_VE_PROJ_RES_1_EXCEEDED 0x2 |
#define | CALC_D(m, n, o, p) (((m).x() - (n).x()) * ((o).x() - (p).x()) + ((m).y() - (n).y()) * ((o).y() - (p).y()) + ((m).z() - (n).z()) * ((o).z() - (p).z())) |
#define | XX1 (actTri->v[i % 3].pos) |
#define | XX2 (actTri->v[(i + 1) % 3].pos) |
#define | XX3 (otherTri->v[j % 3].pos) |
#define | XX4 (otherTri->v[(j + 1) % 3].pos) |
#define _USE_MATH_DEFINES |
#define ACT_PAIR (pairs[pairs.dwNum]) |
#define ASSURE_FACES_SIZE | ( | minSize | ) |
#define ASSURE_MINSPHEREDIST { if (FLT_MAX == minSphereDist) { ASSURE_TEMPD; ASSURE_RADIITOGETHER; minSphereDist = tempD - radiiTogether; } } |
#define ASSURE_RADIITOGETHER { if (FLT_MAX == radiiTogether) { radiiTogether = pSTNode1->radius * rad1mul + pSTNode2->radius * rad2mul; } } |
#define ASSURE_TEMPD { if (FLT_MAX == tempD) { tempD = (center2 - center1).length(); } } |
#define CALC_D | ( | m, | |
n, | |||
o, | |||
p | |||
) | (((m).x() - (n).x()) * ((o).x() - (p).x()) + ((m).y() - (n).y()) * ((o).y() - (p).y()) + ((m).z() - (n).z()) * ((o).z() - (p).z())) |
#define CALC_PAIR_FLAGS (bAct_IntersectionsOnly ? TEST_PAIR_FLAGS_INTERSECTIONS_ONLY : 0) |
#define DELETE_ACT_PAIR |
#define FACE | ( | obj, | |
x | |||
) | ((SNCH_Object_Data::FaceSNCH*)obj->getFace(x)) |
#define HALF_LINE_APPROXIMATION_NUMBER 100000.0f |
#define IF_DIST__TEST_AND_SAVE | ( | dist2, | |
newCloseFeature0, | |||
newCloseFeature1, | |||
debugText | |||
) |
#define IF_DIST_END |
#define INSERT_PAIR | ( | x, | |
y, | |||
tempVec, | |||
tempFloat, | |||
tempL, | |||
tempR, | |||
tempC | |||
) |
#define LOCAL_SEARCH_INSIDE_GLOBAL |
#define LOCALSEARCH_CACHE_USE_HASH |
#define LOCALSEARCH_USE_CACHE |
#define LOG_START_TIMING | ( | blockName | ) | {} |
#define LOG_STOP_TIMING | ( | blockName | ) | {} |
#define LOG_WRITECOUNTER | ( | name, | |
value | |||
) | {} |
#define LS_EDGE_ALL_EDGES -2 |
#define LS_EDGE_NO_EDGE -1 |
#define NODE | ( | x | ) | ((SNCH_Object_Data::STNodeSNCH*)(x)) |
#define p0Normal points0->planeNormal |
#define p1Normal points1->planeNormal |
#define PAIR_EXISTS (pairs.dwNum) |
#define PRECISE_DISTANCE_CALC |
#define RETRIEVE_PAIR { pairs.dwNum--; } |
#define SMALL_NUM 0.00000001f |
#define SURFACE_BREAK_TEST | ( | r, | |
dataX, | |||
p, | |||
m, | |||
n, | |||
instruction | |||
) |
#define TEST_PAIR_FLAGS_INTERSECTIONS_ONLY 0x00000001 |
#define TMP_VE_PROJ_RES_0_EXCEEDED 0x1 |
#define TMP_VE_PROJ_RES_1_EXCEEDED 0x2 |
#define TPPS_F_PROJ_BACKWARDS 0x02 |
#define TPPS_F_PROJ_ZERO 0x04 |
#define TPPS_F_VALID 0x01 |
#define USE_DISTANCE_LIMIT_FOR_PAIRS |
#define USE_MORE_SAFE_DEGEN_TEST |
#define USE_OUR_ALGORITHM |
#define VERTEX | ( | obj, | |
x | |||
) | ((SNCH_Object_Data::VertexSNCH*)obj->getVertex(x)) |
#define XX1 (actTri->v[i % 3].pos) |
#define XX2 (actTri->v[(i + 1) % 3].pos) |
#define XX3 (otherTri->v[j % 3].pos) |
#define XX4 (otherTri->v[(j + 1) % 3].pos) |