00001
00020 #ifndef FINDSEAM_H
00021 #define FINDSEAM_H
00022
00023
00024
00025
00026 #include "seam.h"
00027 #include "oldheap.h"
00028 #include "chop.h"
00029
00034 typedef HEAP *SEAM_QUEUE;
00039 typedef ARRAY SEAM_PILE;
00040
00041
00042
00043 void junk_worst_seam(SEAM_QUEUE seams, SEAM *new_seam, float new_priority);
00044
00045 void choose_best_seam(SEAM_QUEUE seam_queue,
00046 SEAM_PILE *seam_pile,
00047 SPLIT *split,
00048 PRIORITY priority,
00049 SEAM **seam_result,
00050 TBLOB *blob);
00051
00052 void combine_seam(SEAM_QUEUE seam_queue, SEAM_PILE seam_pile, SEAM *seam);
00053
00054 INT16 constrained_split(SPLIT *split, TBLOB *blob);
00055
00056 void delete_seam_pile(SEAM_PILE seam_pile);
00057
00058 SEAM *pick_good_seam(TBLOB *blob);
00059
00060 PRIORITY seam_priority(SEAM *seam, INT16 xmin, INT16 xmax);
00061
00062 void try_point_pairs (EDGEPT * points[MAX_NUM_POINTS],
00063 INT16 num_points,
00064 SEAM_QUEUE seam_queue,
00065 SEAM_PILE * seam_pile, SEAM ** seam, TBLOB * blob);
00066
00067 void try_vertical_splits (EDGEPT * points[MAX_NUM_POINTS],
00068 INT16 num_points,
00069 SEAM_QUEUE seam_queue,
00070 SEAM_PILE * seam_pile, SEAM ** seam, TBLOB * blob);
00071 #endif