cop.h
00001 /*
00002  * 3D Shape Analysis Library.
00003  * Copyright (C) 2008 AQSENSE, S.L.
00004  */
00005 #if !defined (AQSENSE_SAL3D_COP_H)
00006 #define AQSENSE_SAL3D_COP_H
00007 
00008 #if defined (_MSC_VER) && (_MSC_VER >= 1020)
00009 #pragma once
00010 #endif /* _MSC_VER && _MSC_VER >= 1020 */
00011 
00012 #include "sal3d_def.h"
00013 #include "metricconfig.h"
00014 #include "rangemap.h"
00015 #include "lensdistortion.h"
00016 
00017 /*
00018  * Type definition.
00019  * --------------------------------
00020  */
00021 
00023 typedef struct sal3d_movement_3d
00024 {
00025     /* matrix [row] [column] */
00026     float m[4][4];
00027 } sal3d_movement_3d;
00028 
00029 /* A 3D to 2D transformation matrix */
00030 typedef struct sal3d_projection_2d
00031 {
00032     /* matrix [row] [column] */
00033     float m[3][4];
00034 } sal3d_projection_2d;
00035 
00036 /* A 2D rectangle */
00037 typedef struct sal3d_axes_aligned_rectangle
00038 {
00039     /* Axes Aligned Rectangle in 2D */
00040     float top, bottom, left, right;
00041 } sal3d_axes_aligned_rectangle;
00042 
00043 /* Cloud Of Points public declaration. */
00044 typedef struct sal3d_cop
00045 {
00046     void *p;
00047 } sal3d_cop;
00048 
00049 #include "zmap.h" //needs sal3d_movement_3d
00050 
00051 /*
00052  * Functions.
00053  * --------------------------------
00054  */
00055 
00056 #include "cop_fun.h"
00057 
00058 
00059 #endif /* AQSENSE_SAL3D_COP_H */