libmove3d  3.13.0
Public Attributes
pqp_collision_grid Struct Reference

#include <p3d_pqp.h>

List of all members.

Public Attributes

unsigned int nb_robots
unsigned int nb_obstacles
unsigned int nb_objs
unsigned int ** obj_obj
p3d_obj ** obj_from_pqpID
p3d_objcolliding_body1
p3d_objcolliding_body2

Detailed Description

This structure is used to know which object pairs must pass the collision test. Each p3d_obj variable has a pqpID field (see p3d.h). This field is an index in the obj_obj array. For instance, obj_obj[body1->pqpID][body2->pqpID]= 1 means that the collision between body1 and body2 will be tested while obj_obj[body1->pqpID][body2->pqpID]= 0 means that it will not be tested. There is one static pqp_collision_grid declared in p3d_pqp.c. It is initialized with the pqp_create_collision_pairs() function. If objects are deleted (robot bodies or environment obstacles), it must be cleaned and reinitialized. NB: obj_obj is symetric and should be kept symetric. colliding_body1 and colliding_body2 are the two bodies that were reported as colliding in the last collision test. NB: the PQP module uses the p3d_BB of Move3D as a quick pre-test (with the p3d_BB_overlap_ functions). They must be computed before starting PQP (it is done in p3d_col_start) and updated.


Member Data Documentation

pointer to the last two bodies that were found to be colliding

total number of bodies (environment obstacles plus robot bodies)

number of obstacles in the XYZ_ENV struct

number of robots in the XYZ_ENV struct

see pqp_collision_grid struct description

see pqp_collision_grid struct description


The documentation for this struct was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines