home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula
/
nebula.bin
/
SourceCode
/
Classes
/
ContourView
/
contour.h
< prev
next >
Wrap
Text File
|
1992-12-02
|
1KB
|
42 lines
/* contour.h */
#import <appkit/color.h>
#define epsilon .0002
/* Each contour path found is stored in this structure */
typedef struct contour_path {
struct contour_path *next; /* pointer to next contour path */
float *x; /* X coordinate array */
float *y; /* Y coordinate array */
float level; /* contour's level */
int num_pts; /* # of points in this path */
int closed; /* non-zero if contour is closed */
int levelindex; /* levelindex-th contour level */
int hi_inside; /* non-zero if inside contour is going up */
} ContourPath;
/* User specified attribute for each contour level */
typedef struct contour_attribute {
float level; /* value of contour level */
float linewidth; /* line width */
int dash; /* dash type */
int anotate; /* non-zero if this contour should be annotated */
NXColor linecolor; /* color of contour line */
NXColor fillcolor_hi; /* color of fill when inside is higher */
NXColor fillcolor_lo; /* color of fill when inside is lower */
} CntrAttribute;
int computeContour(id vObj, int nx, int ny, float *x, float *y, float *f,
int ncont, CntrAttribute *cAttr);
void sort_contourList(ContourPath *cntrList, float xxmin, float xxmax, float yymin, float yymax,
int nContours, ContourPath **SCntrPtr);
int non_zero_winding(float xp, float yp, float *x, float *y, int n_path);