13 int magic, type, rdint;
18 fseek(fp, 0L, SEEK_SET);
19 rs = fread(&rdint, 4, 1, fp);
27 fseek(fp, 32L, SEEK_SET);
28 rs = fread(&rdint, 4, 1, fp);
34 fseek(fp, 100L, SEEK_SET);
35 rs = fread(&rdint, 4, 1, fp);
36 rs = fread(&rdint, 4, 1, fp);
39 rs = fread(&rdint, 4, 1, fp);
40 rs = fread(&rdint, 4, 1, fp);
44 if (shpidx==NULL)
return NULL;
47 fseek(fp, 100L, SEEK_SET);
48 for (i=0; i<count; i++) {
50 shpidx[i].
type = type;
52 rs = fread(&rdint, 4, 1, fp);
54 rs = fread(&rdint, 4, 1, fp);
64 int magic, type, rdint;
65 unsigned char rdbyte[8];
66 double xmin, ymin, zmin, xmax, ymax, zmax;
71 fseek(fp, 0L, SEEK_SET);
72 rs = fread(&rdint, 4, 1, fp);
80 fseek(fp, 32L, SEEK_SET);
81 rs = fread(&rdint, 4, 1, fp);
84 if (idx->
type!=type) {
95 fseek(fp, 36L, SEEK_SET);
96 rs = fread(rdbyte, 8, 1, fp);
98 rs = fread(rdbyte, 8, 1, fp);
100 rs = fread(rdbyte, 8, 1, fp);
102 rs = fread(rdbyte, 8, 1, fp);
104 rs = fread(rdbyte, 8, 1, fp);
106 rs = fread(rdbyte, 8, 1, fp);
112 memset(mp, 0,
sizeof(
BSGraph));
115 if (dd.
x<=0.0) dd.
x = 1.0;
116 if (dd.
y<=0.0) dd.
y = 1.0;
117 if (dd.
z<=0.0) dd.
z = 1.0;
118 int xsize = (int)((xmax - xmin)/dd.
x) + 1;
119 int ysize = (int)((ymax - ymin)/dd.
y) + 1;
120 int zsize = (int)((zmax - zmin)/dd.
z) + 1;
144 int kk = (int)(og.
z + 0.5);
145 if (kk<0 || kk>mp->
zs-1) kk = 0;
149 for (i=0; i<idx->
maxnum; i++) {
150 fseek(fp, sx->
offset*2+8, SEEK_SET);
151 rs = fread(&rdint, 4, 1, fp);
155 fseek(fp, 32L, SEEK_CUR);
156 rs = fread(&rdint, 4, 1, fp);
158 rs = fread(&rdint, 4, 1, fp);
161 for (j=0; j<parts; j++) {
162 fseek(fp, sx->
offset*2+52+j*4, SEEK_SET);
163 rs = fread(&rdint, 4, 1, fp);
165 int endidx = points - 1;
168 rs = fread(&rdint, 4, 1, fp);
172 double xx, yy, ox, oy;
174 fseek(fp, sx->
offset*2+52+parts*4+sttidx*16, SEEK_SET);
176 for (k=sttidx; k<=endidx; k++) {
177 rs = fread(&xx, 8, 1, fp);
178 rs = fread(&yy, 8, 1, fp);
183 int oi = (int)((ox-og.
x)/dd.
x + 0.5);
184 int oj = (int)((og.
y-oy)/dd.
y + 0.5);
185 int ii = (int)((xx-og.
x)/dd.
x + 0.5);
186 int jj = (int)((og.
y-yy)/dd.
y + 0.5);
187 bline3d(*mp, oi, oj, kk, ii, jj, kk, cc);
void bline3d(BSGraph gd, int x1, int y1, int z1, int x2, int y2, int z2, int cc)