libmove3d  3.13.0
Classes | Typedefs | Functions
/home/slemaign/softs-local/BioMove3D-git/collision/p3d_col_env.c File Reference

Management of collisions in the environment. More...

#include "Util-pkg.h"
#include "P3d-pkg.h"
#include "Collision-pkg.h"

Classes

struct  col_env_robot_context
 Struture that store sevral context of collisions for one robot. More...
struct  col_env_context
 Struture that store sevral context of collisions for one robot. More...
struct  col_env_context_env
 Structure to store the data of each environment. More...

Typedefs

typedef struct
col_env_robot_context 
p3d_col_env_robot_context
 Struture that store sevral context of collisions for one robot.
typedef struct col_env_context p3d_col_env_context
 Struture that store sevral context of collisions for one robot.
typedef struct col_env_context_env p3d_col_env_context_env
 Structure to store the data of each environment.

Functions

int s_p3d_col_env_active_context (void)
 Return TRUE if it is possible to use the environment collision context.
void p3d_col_env_switch_env (p3d_type_col_env_context type)
 Select a new collision context.
void p3d_col_env_switch_robot (p3d_rob *robotPt, p3d_type_col_env_context type)
 Select a new collision context.
void p3d_col_env_restore (void)
 Restore a previous collision context.
void p3d_col_env_start (void)
 Initialize collision context to start a new environment.
void p3d_col_env_stop (void)
 Release the memory for collision context in all environment.
void p3d_col_activate_obj_obj (p3d_obj *obj1, p3d_obj *obj2)
 Function to activate the collision between a pair of objets.
void p3d_col_activate_obj_env (p3d_obj *obj)
 Function to activate the collision between one objet and the environment.
void p3d_col_activate_rob_obj (p3d_rob *rob, p3d_obj *obj)
void p3d_col_activate_rob_env (p3d_rob *robotPt)
 Function to activate the collision between one robot and the environment.
void p3d_col_activate_rob_rob (p3d_rob *rob1, p3d_rob *rob2)
 Function to activate the collision between two robots.
void p3d_col_activate_obj_rob (p3d_obj *obj, p3d_rob *rob)
 Function to activate the collision between a movable object and a robot.
void p3d_col_activate_rob_all_rob (p3d_rob *robotPt)
 Function to activate the collision between one robot and the other.
void p3d_col_activate_obj_all_rob (p3d_obj *obj)
 Function to activate the collision between one Movable object of the current robot and all the other robots.
void p3d_col_activate_rob (p3d_rob *rob)
 Function to activate the auto-collision for one robot.
void p3d_col_deactivate_all (void)
 Function to deactivate collision between all objects pair.
void p3d_col_activate_env (void)
 Function to activate all the collisions.
void p3d_col_activate_robots (void)
 Function to activate all the collisions.
void p3d_col_deactivate_obj_obj (p3d_obj *obj1, p3d_obj *obj2)
 Function to deactivate the collision between a pair of objets.
void p3d_col_deactivate_obj_env (p3d_obj *obj)
 Function to deactivate the collision between one objet and the environment.
void p3d_col_deactivate_rob_obj (p3d_rob *rob, p3d_obj *obj)
void p3d_col_deactivate_rob_env (p3d_rob *robotPt)
 Function to deactivate the collision between one robot and the environment.
void p3d_col_deactivate_rob_rob (p3d_rob *rob1, p3d_rob *rob2)
 Function to deactivate the collision between two robots.
void p3d_col_deactivate_obj_rob (p3d_obj *obj, p3d_rob *rob)
 Function to deactivate the collision between a movable object and a robot.
void p3d_col_deactivate_rob (p3d_rob *rob)
 Function to deactivate all the auto-collision for one robot.
void p3d_col_deactivate_obj_all_rob (p3d_obj *obj)
 Function to deactivate all the collision between a Movable object and the other robots.

Detailed Description

Management of collisions in the environment.

These functions allow the selection of collision tested. They could manage sevral context of collisions.


Function Documentation

void p3d_col_activate_obj_rob ( p3d_obj obj,
p3d_rob rob 
)

Function to activate the collision between a movable object and a robot.

Parameters:
obj,:The object
rob,:The robot
Note:
This function set the activate pair in all the context of the environment.
void p3d_col_activate_rob_rob ( p3d_rob rob1,
p3d_rob rob2 
)

Function to activate the collision between two robots.

Parameters:
rob1,:The first robot
rob2,:The second robot
Note:
This function set the activate pair in all the context of the environment.
void p3d_col_deactivate_obj_env ( p3d_obj obj)

Function to deactivate the collision between one objet and the environment.

Parameters:
obj,:The object
Note:
This function set the activate pair in all the context of the environment.
void p3d_col_deactivate_obj_obj ( p3d_obj obj1,
p3d_obj obj2 
)

Function to deactivate the collision between a pair of objets.

Parameters:
obj1,:The first object
obj2,:The second object
Note:
This function set the activate pair in all the context of the environment.
int s_p3d_col_env_active_context ( void  )

Return TRUE if it is possible to use the environment collision context.

Returns:
TRUE if it is possible to use the environment collision context, FALSE otherwise.
Note:
If the collision context is note create, create it.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines