1 /***********************************************************************/ 2 /* Open Visualization Data Explorer */ 3 /* (C) Copyright IBM Corp. 1989,1999 */ 4 /* ALL RIGHTS RESERVED */ 5 /* This code licensed under the */ 6 /* "IBM PUBLIC LICENSE - Open Visualization Data Explorer" */ 7 /***********************************************************************/ 8 9 // 10 // $Header: /src/master/dx/src/exec/libdx/trisRI2DClass.X,v 1.3 2003/07/11 05:50:48 davidt Exp $ 11 // 12 13 14 typedef struct trisri2dinterpolator *TrisRI2DInterpolator; 15 16 INCLUDE fieldinterpClass.X 17 SUBCLASS TrisRI2DInterpolator OF FieldInterpolator 18 IMPLEMENTS PrimitiveInterpolate Delete Copy LocalizeInterpolator 19 20 #include "binSort.h" 21 22 TrisRI2DInterpolator _dxfNewTrisRI2DInterpolator(Field, 23 enum interp_init, double, Matrix *); 24 int _dxfRecognizeTrisRI2D(Field); 25 26 typedef struct triCoord TriCoord; 27 28 struct triCoord 29 { 30 float p, q, r; 31 }; 32 33 struct trisri2dinterpolator 34 { 35 struct fieldinterpolator fieldInterpolator; 36 37 Array pArray; 38 ArrayHandle pHandle; 39 int nPoints; 40 41 Array nArray; 42 Triangle *neighbors; 43 44 Array tArray; 45 Triangle *triangles; 46 int nTriangles; 47 48 Array dArray; 49 ArrayHandle dHandle; 50 int nElements; 51 52 /* 53 * Stuff for regular array of bins used to locate containing 54 * triangle quickly 55 */ 56 Grid grid; 57 58 int hint; /* last tet interpolated */ 59 }; 60 61 TrisRI2DInterpolator _dxf_NewTrisRI2DInterpolator(Field, 62 enum interp_init, float, Matrix *, 63 struct trisri2dinterpolator_class *); 64 65 TrisRI2DInterpolator _dxf_CopyTrisRI2DInterpolator(TrisRI2DInterpolator, 66 TrisRI2DInterpolator, enum _dxd_copy); 67 68