~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Tina4/src/vision/edge/edge.h

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2 *
  3 * edge.h
  4 * structure definition of the edge primitive
  5 * and macros for edge type handling
  6 *
  7 */
  8 
  9 #ifndef EDGE_HEADS_DEFINED
 10 #define EDGE_HEADS_DEFINED
 11 
 12 typedef struct edgel
 13 {
 14     Ts_id ts_id;                /* Tina structure identifier */
 15     unsigned int type; /* includes information as to rectification status */
 16     unsigned int label;
 17     struct vec2 pos;
 18     float orient; /* these could go to props list perhaps NAT */
 19     float contrast;
 20     struct list *props;
 21 } Edgel;
 22 #define EDGEL_SWAP_STRING "uutffp"
 23 
 24 typedef struct edge_conn
 25 {
 26     Ts_id ts_id;                /* Tina structure identifier */
 27     unsigned short count;
 28     struct edgel *c1;
 29     struct edgel *c2;
 30     struct list *conns;
 31 } Edge_conn;
 32 #define EDGE_CONN_SWAP_STRING "kppp"
 33 
 34 typedef struct prop_def         /* this wants moving up */
 35 {
 36     Ts_id ts_id;                /* Tina structure identifier */
 37     int     type;
 38     void   *prop;
 39     void    (*free_func) ();
 40     Bool    dofree;
 41 }       Prop_def;
 42 
 43 /* ARGSUSED quieten lint *//* edge masks */
 44 
 45 #define EDGE_GET_CORR_MASK  0x00F00000
 46 #define EDGE_GET_MATCH_MASK 0x000F0000
 47 #define EDGE_GET_LOOP_MASK  0x0000F000
 48 #define EDGE_GET_RECT_MASK  0x00000F00
 49 #define EDGE_GET_CONN_MASK  0x000000F0
 50 #define EDGE_GET_TYPE_MASK  0x0000000F
 51 
 52 #define EDGE_SET_CORR_MASK  0xFF0FFFFF
 53 #define EDGE_SET_MATCH_MASK 0xFFF0FFFF
 54 #define EDGE_SET_LOOP_MASK  0xFFFF0FFF
 55 #define EDGE_SET_RECT_MASK  0xFFFFF0FF
 56 #define EDGE_SET_CONN_MASK  0xFFFFFF0F
 57 #define EDGE_SET_TYPE_MASK  0xFFFFFFF0
 58 
 59 /* edge types */
 60 
 61 #define EDGE_RAW           0x00000000
 62 
 63 #define EDGE_UNKNOWN       0x00000000
 64 #define EDGE_CANNY         0x00000001
 65 #define EDGE_SOBEL         0x00000002
 66 
 67 #define EDGE_NOLINK        0x00000000
 68 #define EDGE_TERMIN        0x00000010
 69 #define EDGE_CONN          0x00000020
 70 #define EDGE_JUNC          0x00000030
 71 #define EDGE_ISOLATED      0x00000040
 72 
 73 #define EDGE_NOT_RECTIFIED 0x00000000
 74 #define EDGE_RECTIFIED     0x00000100
 75 #define EDGE_CORRECTED     0x00100000
 76 #define EDGE_NOT_CORRECTED 0x00000000
 77 
 78 #define EDGE_NOT_LOOP      0x00001000
 79 #define EDGE_LOOP          0x00002000
 80 
 81 #define EDGE_NOT_MATCHED   0x00000000
 82 #define EDGE_MATCHED       0x00010000
 83 
 84 #endif /* EDGE_HEADS_DEFINED */
 85 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.