vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SNCH_Object.cpp File Reference

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)
 

Macro Definition Documentation

#define _USE_MATH_DEFINES
#define ACT_PAIR   (pairs[pairs.dwNum])
#define ASSURE_FACES_SIZE (   minSize)
Value:
{ \
if ((minSize) > (int)faces.dwNum) { \
faces.PrepareNext((minSize) - (int)faces.dwNum); \
faces.dwNum = (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,
 
)    (((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,
 
)    ((SNCH_Object_Data::FaceSNCH*)obj->getFace(x))
#define HALF_LINE_APPROXIMATION_NUMBER   100000.0f
#define IF_DIST__TEST_AND_SAVE (   dist2,
  newCloseFeature0,
  newCloseFeature1,
  debugText 
)
Value:
{ \
if ((dist2) < minDist2) { \
minDist2 = (dist2); \
*closeFeature0 = (newCloseFeature0); \
*closeFeature1 = (newCloseFeature1); \
if (outPoint1Trans) {
#define IF_DIST_END
Value:
} \
} \
}
#define INSERT_PAIR (   x,
  y,
  tempVec,
  tempFloat,
  tempL,
  tempR,
  tempC 
)
Value:
{ \
pairs.PrepareNext(1); \
pairs[pairs.dwNum].dwFlags = CALC_PAIR_FLAGS; \
pairs[pairs.dwNum].node1 = x; \
pairs[pairs.dwNum].node2 = y; \
pairs.dwNum++; \
}
#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,
 
)    ((SNCH_Object_Data::VertexSNCH*)obj->getVertex(x))
#define VERTEX_REPRESENTANT (   obj,
 
)    (VERTEX(obj, VERTEX(obj, (x))->dwRepresentant))
#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)