![]() |
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) |