Main Page | Class List | File List | Class Members | File Members

chain_provisional.h

00001 #ifndef ADD_RINGWIDTHS_H
00002 #define ADD_RINGWIDTHS_H 1
00003 #include "mosaic.h"
00004 #include "chain.h"
00005 #include "trees_widthvec.h"
00006 #include "trees_profile.h"
00007 #include "boundary.h"
00008 #include "project_utilities.h"
00009 
00010 BEGIN_C_DECLARATIONS
00011 
00012 /* A value that will never be a valid LIST_NODE ring_id. */
00013 #define INVALID_ID INT_MIN
00014 
00015 void provisionalrings_destruct (void *data);
00016 
00017 void scale_boundary (BOUNDER * bound, double scale);
00018 
00019 LIST_NODE * make_chain (BOUNDER * bound);
00020 
00021 void chain_extrapolate (IMAGE_BYTE * mimage, MOSAIC_INDEX * mindex,
00022                         double scale, double x, double y,
00023                         double orig_x, double orig_y, double orig_phi,
00024                         LIST_NODE * guide, BOUNDBOX_LIST box,
00025                         double *width, PROFILE_LIST * prof,
00026                         LIST_NODE ** extrapolated,
00027                         LIST_NODE ** small_extrapolated);
00028 
00029 void chain_interpolate (IMAGE_BYTE * mimage, MOSAIC_INDEX * mindex,
00030                         double scale, double x, double y,
00031                         LIST_NODE * inner, LIST_NODE * outer,
00032                         BOUNDBOX_LIST box, double *w_before,
00033                         PROFILE_LIST * prof_before, double *w_after,
00034                         PROFILE_LIST * prof_after, LIST_NODE ** interpolated,
00035                         LIST_NODE ** small_interpolated);
00036 
00037 void chain_collapse (IMAGE_BYTE * mimage, MOSAIC_INDEX * mindex,
00038                      LIST_NODE * inner, LIST_NODE * outer, double *width,
00039                      PROFILE_LIST * prof);
00040 
00041 int provisional_point_in_roi (MOSAIC_INDEX * mindex, double x, double y);
00042 
00043 double provisional_point_distance (double x, double y, LIST_NODE * boundary);
00044 
00045 int provisional_insert (char *doc, int provbnum, IMAGE_BYTE * mimage,
00046                         MOSAIC_INDEX * mindex, double scale,
00047                         double x, double y,
00048                         LIST_NODE * inner, LIST_NODE * outer);
00049 
00050 int provisional_extend (char *doc, int provbnum, IMAGE_BYTE * mimage,
00051                         MOSAIC_INDEX * mindex, double scale,
00052                         double x, double y,
00053                         LIST_NODE * initial, LIST_NODE * final);
00054 
00055 int provisional_delete (char *doc, int provbnum, IMAGE_BYTE * mimage,
00056                         MOSAIC_INDEX * mindex, LIST_NODE * inner,
00057                         LIST_NODE * deleted, LIST_NODE * outer,
00058                         LIST_NODE * small);
00059 
00060 int provisional_missing (char *doc, int provbnum, IMAGE_BYTE * mimage,
00061                          MOSAIC_INDEX * mindex, BOUNDBOX_LIST bbox,
00062                          LIST_NODE * guide, LIST_NODE * small);
00063 
00064 int provisional_check (double x, double y,
00065                        LIST_NODE * inner, LIST_NODE * outer);
00066 
00067 int have_provisional_changes (char * doc, char * pname);
00068 
00069 LIST_NODE * get_provisional_full_chain (char * doc, char * pname);
00070 
00071 LIST_NODE * get_provisional_small_chain (char * doc, char * pname);
00072 
00073 int get_provisional_insert_point (char * doc, char * pname);
00074 
00075 int find_provisional_widths (char * doc, char * pname, double * * widthhandle);
00076 
00077 int find_provisional_profiles (char * doc, char * pname,
00078                                PROFILE_LIST * * profhandle);
00079 
00080 int find_provisional_diff_profiles (char * doc, char * pname,
00081                                     PROFILE_LIST * * diffprofhandle);
00082 
00083 int find_provisional_earlywidths (char * doc, char * pname,
00084                                   double * * earlywidthhandle);
00085 
00086 int find_provisional_latewidths (char * doc, char * pname,
00087                                  double * * latewidthhandle);
00088 
00089 int find_provisional_boundbox (char * doc, char * pname,
00090                                BOUNDBOX_LIST * boundboxhandle);
00091 
00092 END_C_DECLARATIONS
00093 
00094 #endif /* !ADD_RINGWIDTHS_H */

Generated on Sat Dec 4 17:12:10 2004 for trees by  doxygen 1.3.9.1