/* -*-C-*- ******************************************************************************** * * File: makechop.h (Formerly makechop.h) * Description: * Author: Mark Seaman, SW Productivity * Created: Fri Oct 16 14:37:00 1987 * Modified: Mon Jul 29 13:33:23 1991 (Mark Seaman) marks@hpgrlt * Language: C * Package: N/A * Status: Reusable Software Component * * (c) Copyright 1987, Hewlett-Packard Company. ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** http://www.apache.org/licenses/LICENSE-2.0 ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. * *********************************************************************************/ #ifndef MAKECHOP_H #define MAKECHOP_H /*---------------------------------------------------------------------- I n c l u d e s ----------------------------------------------------------------------*/ #include "chop.h" #include "olutil.h" /*---------------------------------------------------------------------- M a c r o s ---------------------------------------------------------------------*/ /********************************************************************** * is_split_outline * * Check to see if both sides of the split fall within the bounding * box of this outline. **********************************************************************/ #define is_split_outline(outline,split) \ (point_in_outline (split->point1, outline) && \ point_in_outline (split->point2, outline)) \ /*---------------------------------------------------------------------- Public Function Prototypes ----------------------------------------------------------------------*/ void apply_seam(TBLOB *blob, TBLOB *other_blob, SEAM *seam); void divide_blobs(TBLOB *blob, TBLOB *other_blob, inT32 location); void form_two_blobs(TBLOB *blob, TBLOB *other_blob, inT32 location); void make_double_split(TBLOB *blob, TBLOB *other_blob, SEAM *seam); void make_single_split(TESSLINE *outlines, SPLIT *split); void make_split_blobs(TBLOB *blob, TBLOB *other_blob, SEAM *seam); void make_triple_split(TBLOB *blob, TBLOB *other_blob, SEAM *seam); void undo_seam(TBLOB *blob, TBLOB *other_blob, SEAM *seam); void undo_single_split(TBLOB *blob, SPLIT *split); #endif