00001 /* 00002 Copyright (c) 1996-1997 Nicholas Yue 00003 00004 This software is copyrighted by Nicholas Yue. This code is base on the work of 00005 Paul D. Bourke CONREC.F routine 00006 00007 The authors hereby grant permission to use, copy, and distribute this 00008 software and its documentation for any purpose, provided that existing 00009 copyright notices are retained in all copies and that this notice is included 00010 verbatim in any distributions. Additionally, the authors grant permission to 00011 modify this software and its documentation for any purpose, provided that 00012 such modifications are not distributed without the explicit consent of the 00013 authors and that existing copyright notices are retained in all copies. Some 00014 of the algorithms implemented by this software are patented, observe all 00015 applicable patent law. 00016 00017 IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR 00018 DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT 00019 OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, 00020 EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00021 00022 THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, 00023 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 00024 PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN 00025 "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE 00026 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 00027 */ 00028 00029 //============================================================================= 00030 // 00031 // CONREC is a contouring subroutine for rectangularily spaced data. 00032 // 00033 // It emits calls to a line drawing subroutine supplied by the user 00034 // which draws a contour map corresponding to real*4data on a randomly 00035 // spaced rectangular grid. The coordinates emitted are in the same 00036 // units given in the x() and y() arrays. 00037 // 00038 // Any number of contour levels may be specified but they must be 00039 // in order of increasing value. 00040 // 00041 // As this code is ported from FORTRAN-77, please be very careful of the 00042 // various indices like ilb,iub,jlb and jub, remeber that C/C++ indices 00043 // starts from zero (0) 00044 // 00045 //============================================================================= 00046 00047 #ifndef _conrec_h 00048 #define _conrec_h 00049 00050 #include "ContourPlotter.h" 00051 00052 // Rysuje linię, funkcja pomocnicza dla CONRECa. 00053 void DrawPlotLine(wxDC& dc, double x1, double y1, double x2, double y2); 00054 00055 // Właściwa procedure CONREC. 00056 void conrec(double** d, 00057 int ilb, 00058 int iub, 00059 int jlb, 00060 int jub, 00061 double* x, 00062 double* y, 00063 int nc, 00064 double* z, 00065 ContourPlotter& rContour); 00066 00067 #endif // _conrec_h