| /* -*-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 |