libmove3d  3.13.0
/home/slemaign/softs-local/BioMove3D-git/include/rs.h
00001 #ifndef _RS_DEF_H
00002 #define _RS_DEF_H
00003 
00004 /*#include "p3d_sys.h" */
00005 
00006 #define EPS1 0.1
00007 #define EPS2 0.01
00008 #define EPS3 0.001
00009 #define EPS4 0.0001
00010 #define EPS5 0.00001
00011 #define EPS6 0.000001
00012 
00013 #define EPSILON 1e-10
00014 
00015 #define infini 10000000.
00016 
00017 #define RS_ALL 0
00018 #define RS_NO_CUSP -1
00019 #define RS_WITH_CUSP -2
00020 #define RS_DUBINS -3
00021 
00022 
00023 /*******************************************************************/
00024 
00025 typedef struct Stconfig{
00026   double x;
00027   double y;
00028   double z;
00029   struct Stconfig *suiv;
00030 } Stconfig , *pStconfig;
00031 
00032 /*******************************************************************
00033   CETTE STRUCTURE SERT A DEFINIR LA COURBE MIN PAR REED&SHEPP
00034   QUI EST DU TYPE C C S C C ||. UN ELEMENT DU TYPE Stcourbe SERA
00035   SOIT UN C SOIT UN S.
00036   ON AURA DONC AU MAX UNE LISTE DE 5 element Stcourbe
00037 ******************************************************************/
00038 typedef struct Stcourbe{
00039   int type;               /* type = 1/2/3 pour droite/gauche/segment */
00040   Stconfig cd;            /* config init sur la courbe   */
00041   Stconfig cf;            /* config fin  sur la courbe   */
00042   double centre_x;        /* centre du cercle correspondant */
00043   double centre_y;        /* en x et y si c'est le cas (sinon 0) */
00044   double r;               /* rayon du disque */
00045   int sens;               /* sens = 1/-1 pour avant/arriere  */
00046   double val;             /* valeur de la portion de courbe */
00047   struct Stcourbe *suiv;  /* pointeur sur portion suivante  */
00048   struct Stcourbe *prec;  /* pointeur sur portion precedente */
00049   int  valid;             /* generalement TRUE quand pas de collision 
00050                              de la portion de trajectoire... NULL si 
00051                              la subdivision dans p2d_holo a ete stoppee pour
00052                              eviter un decoupage en portions minuscules */
00053 } Stcourbe , *pStcourbe;
00054 
00055 /* #include "rs_proto.h" */
00056 /* #include "../localpath/proto/rs_dist_proto.h" */
00057 /* #include "../localpath/proto/rs_curve_proto.h" */
00058 /* #include "rs_inter_proto.h" */
00059 /* #include "rs_interbm_proto.h" */
00060 /* #include "rs_holo_proto.h" */
00061 /* #include "rs_optim_proto.h" */
00062 /* #include "p2d_rs_proto.h" */
00063 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines