00001 00002 /* ///////////////////////////////////////////////////////////////////////// */ 00003 /* This file is a part of the BSTools package */ 00004 /* written by Przemyslaw Kiciak */ 00005 /* ///////////////////////////////////////////////////////////////////////// */ 00006 /* (C) Copyright by Przemyslaw Kiciak, 2005 */ 00007 /* this package is distributed under the terms of the */ 00008 /* Lesser GNU Public License, see the file COPYING.LIB */ 00009 /* ///////////////////////////////////////////////////////////////////////// */ 00010 00011 /* Header file for the FillG1Holed procedure, constructing biquintic */ 00012 /* Bezier patches filling a polygonal hole in a surface made of */ 00013 /* bicubic Bezier patches */ 00014 00015 #ifndef CONST_ /* a dirty trick to suppress many compiler warning messages */ 00016 #define CONST_ const 00017 #endif 00018 00019 #ifndef G1HOLED_H 00020 #define G1HOLED_H 00021 00022 #ifdef __cplusplus 00023 extern "C" { 00024 #endif 00025 00026 /* Output routines may be hooked here in order to snoop into */ 00027 /* the computation; in fact, the G1OutCentralPointd is allowed to */ 00028 /* modify the central point. If the routine pointers are NULL then */ 00029 /* no output is done during the computations. */ 00030 00031 extern void (*G1OutCentralPointd)( point3d *p ); 00032 extern void (*G1OutAuxCurvesd)( int ncurves, int degree, CONST_ point3d *accp, 00033 double t ); 00034 extern void (*G1OutStarCurvesd)( int ncurves, int degree, CONST_ point3d *sccp ); 00035 extern void (*G1OutAuxPatchesd)( int npatches, int degu, int degv, 00036 CONST_ point3d *apcp ); 00037 00038 boolean FillG1Holed ( int hole_k, point3d*(*GetBezp)(int i, int j), 00039 double beta1, double beta2, 00040 point3d *hpcp ); 00041 00042 #ifdef __cplusplus 00043 } 00044 #endif 00045 00046 #endif 00047