Go to the source code of this file.
|
namespace | vrecko |
| Second level of space paritioning queries - detailed searching inside object.
|
|
#define COLL_VRECKO_EXPORT __declspec(dllimport) |
#define COLLISION_FLAGS_ALLOW_INTERSECTIONS 0x00000010 |
The processing function is allowed to return some of the points in different form: Instead of calculating a single contact point for a triangle-triangle (or another) collision, it may return the intersection line. These lines then form intersection polyline.
#define COLLISION_FLAGS_ALLOW_NEGATIVE_DISTANCES 0x00000100 |
The processing function is allowed to return some of the points in different form: If some parts of objects are found to be intersecting, the function may return negative distance, which means the largest intersecting distance found. Additional details may depend on the exact function.
#define COLLISION_FLAGS_NO_CALCULATIONS 0x00000200 |
Perform no collision calculations - only get the collisions that are already calculated (if any). This is possible only in a case when some other component is requesting collision calculations and is doing that on the background, so the thread with the results is ready at all times. WARNING: When using this flag, the running threads are searched only APPROXIMATELY... the selected thread might have slightly different parameters from those that were requested. (i.e. different distance cut-off, (dis)allowing intersections, etc.)
#define COLLISION_FLAGS_NO_OLD_COLLISION_DELETION 0x00000800 |
Do not delete the old collision pairs in COLLISIONS_INFO_VECTOR.
Prepared set of flags that are used in comparison (are two set of parameters the same? - Can we reuse the results?)
#define COLLISION_FLAGS_NO_OLD_COLLISION_DELETION 0x00000800 |
Do not delete the old collision pairs in COLLISIONS_INFO_VECTOR.
Prepared set of flags that are used in comparison (are two set of parameters the same? - Can we reuse the results?)
#define COLLISION_FLAGS_NOCONTACTS 0x00000002 |
Contact points are not required. Use to speed up the tests.
#define COLLISION_FLAGS_ONLY_INTERSECTIONS 0x00000020 |
No collisions will be calculated, but only intersections.
#define COLLISION_FLAGS_ONLYSCENETESTS 0x00000008 |
The precise object-object collision test (through SP_ObjectInterface) will not be executed. Only possible candidates selected by SP_SceneInterface are returned. NOTE: This also means that collision points won't be calculated.
#define COLLISION_FLAGS_PREFER_NO_CALCULATIONS 0x00000400 |
Similar to COLLISION_FLAGS_NO_CALCULATIONS, but if no thread performing the calculations is found, then the new calculations are made.
#define COLLISION_FLAGS_RAYCASTING 0x00000001 |
Do not test collisions between objects, but between a ray and objects.
#define COLLISION_FLAGS_RUN_IN_BACKGROUND 0x00000040 |
It is expected that the same collision test will be requested in a very near future many times (for example with the haptic collision detection). Therefore, if possible, start background thread(s) that search(es) the scene for potential collision and use the "local update" threads that try to maintain partially correct results.
#define COLLISION_FLAGS_SINGLECONTACT 0x00000004 |
Only one contact point is required (for each object-object collision) Use to speed up the tests.
#define COLLISION_FLAGS_USE_MTMATRIXTRANSFORM 0x00000080 |
FOR THE FIRST OBJECT ("LEFT" parameter) use position stored in MTMatrixTransform ability. Therefore it will be able to change the transformation many times per frame, without any possible collisions with the rendering thread.
#define COLPOINT_FLAGS_INTERSECTION_LINE 0x00000002 |
The points don't form a close collision pair, but are a part of the intersection polyline (form a sub-line) This can be only present if the processing function was called with COLLISION_FLAGS_ALLOW_INTERSECTIONS specified.
#define COLPOINT_FLAGS_INVALID 0x00000001 |
This flag marks the current point as INVALID (You should respect this flag everywhere!!!) For performance reasons, it is not deleted, but only marked using this flag.
#define COLPOINT_FLAGS_NEG_DIST_PRESENT 0x00000004 |
The [vecTriMaxNegativeDistance] variable contains a valid value.
#define COLPOINT_FLAGS_NORMALIZED 0x00000008 |
The point was transformed from collision space (i.e. voxel space or another) into a normalized space (max. collision = length 0, min. col. = length 1).
#define COLPOINT_FLAGS_REPRESENTANTS__MASK 0x00000FF0 |
#define COLPOINT_FLAGS_REPRESENTANTS__SHIFT 4 |
#define PARTITIONING_INTERFACE_DEFAULT -1 |
Default object/scene partitioning interface.