bookg1holef.h

Go to the documentation of this file.
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 FillG1Holef 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 G1HOLEF_H
00020 #define G1HOLEF_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 G1OutCentralPointf 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 (*G1OutCentralPointf)( point3f *p );
00032 extern void (*G1OutAuxCurvesf)( int ncurves, int degree, CONST_ point3f *accp,
00033                                 float t );
00034 extern void (*G1OutStarCurvesf)( int ncurves, int degree, CONST_ point3f *sccp );
00035 extern void (*G1OutAuxPatchesf)( int npatches, int degu, int degv,
00036                                  CONST_ point3f *apcp );
00037 
00038 boolean FillG1Holef ( int hole_k, point3f*(*GetBezp)(int i, int j),
00039                       float beta1, float beta2,
00040                       point3f *hpcp );
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 
00046 #endif
00047