32 #define DELIMITERS ";"
34 #define NULL_VALUE -99
35 #define NO_ELEVATION 0.0
37 #define NO_COLS_LINEVECTOR_DOUBLEMATRIX 8
59 if (lvertices->
nh<2) printf(
"Error:: line %s (%ld) cannot be created, there no vertices!!\n",number_strings,line_index);
60 for (j=lvertices->
nl;j<=2;j++){
61 if ((lvertices->element[j]>vertex_x_coord->
nh) || (lvertices->element[j]>vertex_y_coord->
nh)) {
62 printf (
"Error:: line %s (%ld) cannot be created, point %ld has no coordinates or no atributes!!\n",number_strings,line_index,j);
67 P1=
new_point(lvertices->element[j],vertex_x_coord->element[lvertices->element[j]],vertex_y_coord->element[lvertices->element[j]],
NO_ELEVATION);
70 P2=
new_point(lvertices->element[j],vertex_x_coord->element[lvertices->element[j]],vertex_y_coord->element[lvertices->element[j]],
NO_ELEVATION);
72 if (print==1) printf (
"The two vertices %ld (x=%lf,y=%lf) and %ld (x=%lf,y=%lf) of line %s (%ld) were succesfully created!!\n",P1->
index,P1->
x,P1->
y,P2->
index,P2->
x,P2->
y,number_strings,line_index);
113 for(l=lv->
nl;l<=lv->nh;l++){
114 lv->
element[l]=
get_line(vertex_x_coord,vertex_y_coord,l,line_strings->element[l]+1,print);
143 for (j=lve->
nl;j<=lve->nh;j++){
208 if ((centroid_x_coord->
nh!=centroid_y_coord->
nh) && (polygon_strings->
index->
nh!=centroid_y_coord->
nh) && (polygon_strings->
index->
nh!=centroid_x_coord->
nh)) printf (
"Error:: Polygons stringarray (STRINGBIN *) and centroid coordinete vectors have a different number of elements!!\n");
211 for(l=pv->
nl;l<=pv->nh;l++){
212 pv->
element[l]=
get_polygon(l,centroid_x_coord->element[l],centroid_y_coord->element[l],
NO_ELEVATION,polygon_strings->element[l]+1,all_lines,print);
237 fd=fopen(filename,
"w");
238 fprintf(fd,
"index{1}\n");
239 fprintf(fd,
"/*!* FILE CONTAINIG NECESSARY INFORMATION FOR LINES \n");
243 fprintf(fd,
"line_index ");
244 fprintf(fd,
"lenght2d ");
248 fprintf(fd,
"y_P2 \n ");
251 for (i=lines->
nl;i<=lines->nh;i++){
256 fprintf(fd,
"%lf ",xm);
257 fprintf(fd,
"%lf ",ym);
290 for (i=polygons->
nl;i<=polygons->nh;i++){
295 fd=fopen(filename,
"w");
297 fprintf(fd,
"index{%ld}\n",polygons->
nh);
298 fprintf(fd,
"/*!* FILE CONTAINIG NECESSARY INFORMATION FOR POLOYGONS \n");
299 fprintf(fd,
" each polygon is expressed as a double array coteining the following information \n");
303 fprintf(fd,
"polygon_index ");
304 fprintf(fd,
"area2d ");
305 for (l=nl;l<=nh;l++) {
306 fprintf(fd,
"L%ld ",l);
308 fprintf(fd,
" */ \n");
311 for (i=polygons->
nl;i<=polygons->nh;i++){
312 fprintf(fd,
"\n/*!* %ld block x ",i);
315 fprintf(fd,
"polygon_index ");
316 fprintf(fd,
"area2d ");
317 for (l=nl;l<=nh;l++) {
318 fprintf(fd,
"L%ld ",l);
320 fprintf(fd,
" */ \n");
321 fprintf(fd,
"%ld: double array {",i);
326 for (l=nl;l<=nh;l++){
329 fprintf(fd,
",%ld ",lval);
359 fd=fopen(filename,
"w");
363 fprintf(fd,
"line_index ");
364 fprintf(fd,
"lenght2d ");
371 for (i=lines->
nl;i<=lines->nh;i++){
376 fprintf(fd,
"%lf ",xm);
377 fprintf(fd,
"%lf ",ym);
409 for (i=polygons->
nl;i<=polygons->nh;i++){
414 fd=fopen(filename,
"w");
421 fprintf(fd,
"polygon_index ");
422 fprintf(fd,
"area2d ");
423 for (l=nl;l<=nh;l++) {
424 fprintf(fd,
"L%ld ",l);
427 for (i=polygons->
nl;i<=polygons->nh;i++){
433 for (l=nl;l<=nh;l++){
436 fprintf(fd,
"%ld ",lval);