[GRASS-SVN] r31323 - grass/trunk/lib/ogsf

svn_grass at osgeo.org svn_grass at osgeo.org
Mon May 12 11:56:30 EDT 2008


Author: martinl
Date: 2008-05-12 11:56:30 -0400 (Mon, 12 May 2008)
New Revision: 31323

Modified:
   grass/trunk/lib/ogsf/GS2.c
   grass/trunk/lib/ogsf/GSX.c
   grass/trunk/lib/ogsf/Gp3.c
   grass/trunk/lib/ogsf/Gs3.c
   grass/trunk/lib/ogsf/Gv3.c
   grass/trunk/lib/ogsf/Gvl3.c
   grass/trunk/lib/ogsf/gk.c
   grass/trunk/lib/ogsf/gsd_legend.c
   grass/trunk/lib/ogsf/gvl_file.c
Log:
ogsflib: doxygenization in progress
better error-handling
[sync'ed with devbr6]


Modified: grass/trunk/lib/ogsf/GS2.c
===================================================================
--- grass/trunk/lib/ogsf/GS2.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/GS2.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1613,8 +1613,9 @@
     mapset = G_find_cell2(filename, "");
     if (mapset == NULL) {
 	/* Check for valid filename */
-	G_fatal_error ("Raster map <%s> not found",
-		       G_fully_qualified_name(filename, mapset));
+	G_warning ("Raster map <%s> not found",
+		   filename);
+	return -1;
     }
     filename = G_fully_qualified_name(filename, mapset);
 

Modified: grass/trunk/lib/ogsf/GSX.c
===================================================================
--- grass/trunk/lib/ogsf/GSX.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/GSX.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -22,6 +22,11 @@
 
 static int Cxl = 0;
 
+/*!
+  \brief Check cancel
+
+  \return code
+*/
 int GS_check_cancel(void)
 {
     Cxl_func();
@@ -29,6 +34,9 @@
     return (Cxl);
 }
 
+/*!
+  \brief Set cancel
+*/
 void GS_set_cancel(int c)
 {
     Cxl = c;
@@ -36,6 +44,11 @@
     return;
 }
 
+/*!
+  \brief Set cxl function
+
+  \param pointer to function
+*/
 void GS_set_cxl_func(void (*f) (void))
 {
     Cxl_func = f;
@@ -43,7 +56,11 @@
     return;
 }
 
+/*!
+  \brief Set swap function
 
+  \param pointer to function
+*/
 void GS_set_swap_func(void (*f) (void))
 {
     Swap_func = f;

Modified: grass/trunk/lib/ogsf/Gp3.c
===================================================================
--- grass/trunk/lib/ogsf/Gp3.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/Gp3.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1,7 +1,7 @@
 /*!
   \file Gp3.c
  
-  \brief OGSF library - loading and manipulating point sets
+  \brief OGSF library - loading point sets (lower level functions)
  
   GRASS OpenGL gsurf OGSF Library 
  
@@ -13,18 +13,31 @@
   for details.
   
   \author Bill Brown USACERL, GMSL/University of Illinois (January 1994)
+  \author Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)
 */
 
 #include <stdlib.h>
+
 #include <grass/gis.h>
 #include <grass/site.h>
 #include <grass/Vect.h>
-
+#include <grass/glocale.h>
 #include <grass/gstypes.h>
 
-/* used when site attribute mode is ST_ATT_COLOR */
-/* Gets color structure for grass file, goes through points and
-   uses fattr as CAT, putting rgb color in iattr. */
+/*!
+  \brief Set color for point set
+
+  used when site attribute mode is ST_ATT_COLOR
+  
+  Gets color structure for grass file, goes through points and
+  uses fattr as CAT, putting rgb color in iattr.
+
+  \param grassname raster map name
+  \param gp pointer to geopoint struct
+
+  \return 1 on success
+  \return 0 on failure
+*/
 int Gp_set_color(char *grassname, geopoint * gp)
 {
     char *col_map;
@@ -36,16 +49,14 @@
     /* TODO: handle error messages */
 
     if (grassname) {
-	col_map = G_find_file2("cell", grassname, "");
-
-	if (col_map == NULL) {
-	    fprintf(stderr, "Could not find file '%s'", grassname);
-	    return (0);
+	col_map = G_find_cell2(grassname, "");
+	if (!col_map) {
+	    G_warning (_("Raster map <%s> not found"), grassname);
+	    return 0;
 	}
-	else {
-	    G_read_colors(grassname, col_map, &sc);
-	}
 
+	G_read_colors(grassname, col_map, &sc);
+
 	for (tp = gp; tp; tp = tp->next) {
 	    cat = (int) tp->fattr;
 	    color = NULL_COLOR;
@@ -63,9 +74,19 @@
     return (0);
 }
 
-/*##############################################################*/
-/* This loads to memory.  
-The other alternative may be to load to a tmp file. */
+/*!
+  \brief Load to points to memory
+
+  The other alternative may be to load to a tmp file.
+  
+  \param grassname vector point map 
+  \param nsites
+  \param has_z 2D or 3D points?
+  \param has_att attributes included
+ 
+  \return pointer to geopoint struct
+  \return NULL on failure
+*/
 geopoint *Gp_load_sites(char *grassname, int *nsites, int *has_z,
 			int *has_att)
 {
@@ -77,22 +98,30 @@
     struct Cell_head wind;
     RASTER_MAP_TYPE rtype;
     int ndim;
+    char *mapset;
 
-
-    /* TODO: handle error messages */
-
     np = 0;
     eof = 0;
     *has_z = *has_att = 0;
 
+    mapset = G_find_vector2((const char *) grassname, "");
+    if (!mapset) {
+	G_warning (_("Vector map <%s> not found"),
+		   grassname);
+	return NULL;
+    }
+
     Vect_set_open_level (2);
-    Vect_open_old (&map, grassname, "");
+    if (Vect_open_old (&map, grassname, "") == -1) {
+	G_fatal_error (_("Unable to open vector map <%s>"),
+		       grassname);
+    }
 
     Points = Vect_new_line_struct ();
     Cats = Vect_new_cats_struct ();
 
-    if (NULL == (top = gpt = (geopoint *) malloc(sizeof(geopoint)))) {
-	fprintf(stderr, "Can't malloc.\n");
+    top = gpt = (geopoint *) G_malloc(sizeof(geopoint));
+    if (!top) {
 	return (NULL);
     }
 
@@ -112,75 +141,77 @@
 	ltype =  Vect_read_next_line (&map, Points, Cats);
 	switch (ltype)
 	{
-		case -1:
-		{
-			fprintf(stderr, "Can't read vector file");
-			return (NULL);
-		}
-		case -2: /* EOF */
-		{
-			eof = 1;
-			continue;
-		}
+	case -1:
+	{
+	    G_warning(_("Unable to read vector map <%s>"),
+		      grassname);
+	    return (NULL);
 	}
+	case -2: /* EOF */
+	{
+	    eof = 1;
+	    continue;
+	}
+	}
 	if ( (ltype & GV_POINTS))
 	{
-		np++;
-		gpt->p3[X] = Points->x[0]; 
-		gpt->p3[Y] = Points->y[0];
-
-		if (ndim > 2) {
-			*has_z = 1;
+	    np++;
+	    gpt->p3[X] = Points->x[0]; 
+	    gpt->p3[Y] = Points->y[0];
+	    
+	    if (ndim > 2) {
+		*has_z = 1;
 			gpt->dims = 3;
 			gpt->p3[Z] = Points->z[0];
-		} else {
-			gpt->dims = 2;
-			*has_z = 0;
-		}
-
-		if (Cats->n_cats > 0) {
-			*has_att = 1;
-			gpt->fattr = Cats->field[0]; /* Is this correct? */
-			/* gpt->cat = ; ??***/
-			gpt->highlight_color = gpt->highlight_size = gpt->highlight_marker = FALSE;	
-		} else {
-			gpt->fattr = 0;
+	    } else {
+		gpt->dims = 2;
+		*has_z = 0;
+	    }
+	    
+	    if (Cats->n_cats > 0) {
+		*has_att = 1;
+		gpt->fattr = Cats->field[0]; /* Is this correct? */
+		/* gpt->cat = ; ??***/
+		gpt->highlight_color = gpt->highlight_size = gpt->highlight_marker = FALSE;	
+	    } else {
+		gpt->fattr = 0;
 			*has_att = 0;
-		}
-
-		gpt->iattr = gpt->fattr;
-		gpt->cattr = NULL;
-
-		G_debug(3, "loading vector point %d %f %f -- %d", 
-			np, Points->x[0], Points->y[0], Cats->n_cats);
-		if (NULL == 
-			(gpt->next = (geopoint *) malloc(sizeof(geopoint)))) {
-                		fprintf(stderr, "Can't malloc.\n");/*CLEAN UP*/
-                		return (NULL);
-            	}
-
-		prev = gpt;
-		gpt = gpt->next;
+	    }
+	    
+	    gpt->iattr = gpt->fattr;
+	    gpt->cattr = NULL;
+	    
+	    G_debug(3, "loading vector point %d %f %f -- %d", 
+		    np, Points->x[0], Points->y[0], Cats->n_cats);
+	    
+	    gpt->next = (geopoint *) G_malloc(sizeof(geopoint));/* G_fatal_error */
+	    if (!gpt->next) {
+		return (NULL);
+	    }
+	    
+	    prev = gpt;
+	    gpt = gpt->next;
 	}
-
+	
     }
     if (np > 0)
     {
 	prev->next = NULL;
-	free(gpt);
+	G_free(gpt);
     }
-
+    
     Vect_close (&map);
-
+    
     if (!np) {
-	    fprintf(stderr, "Error: No points from %s fall within current region\n", grassname);
-	    return(NULL);
+	G_warning (_("No points from %s fall within current region"),
+		   grassname);
+	return(NULL);
     } else {
-            fprintf(stderr, "Vector file %s loaded with %d points.\n",
-		grassname, np);
+	G_verbose_message(_("Vector file <%s> loaded with %d points"),
+			  grassname, np);
     }
-
+    
     *nsites = np;
-
+    
     return (top);
 }

Modified: grass/trunk/lib/ogsf/Gs3.c
===================================================================
--- grass/trunk/lib/ogsf/Gs3.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/Gs3.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1,7 +1,7 @@
 /*!
   \file Gs3.c
  
-  \brief OGSF library - loading and manipulating surfaces
+  \brief OGSF library - loading surfaces (lower level functions)
  
   GRASS OpenGL gsurf OGSF Library 
  
@@ -121,7 +121,8 @@
   \param[out] nullmap null map buffer
   \param[out] has_null indicates if raster map contains null-data
 
-  \return 1
+  \return 1 on success
+  \return 0 on failure
 */
 int Gs_loadmap_as_float(struct Cell_head *wind, char *map_name, float *buff,
 			struct BM *nullmap, int *has_null)
@@ -132,9 +133,11 @@
 
     G_debug(3, "Gs_loadmap_as_float");
 
-    map_set = G_find_file2("cell", map_name, "");
+    map_set = G_find_cell2(map_name, "");
     if (!map_set) {
-	G_fatal_error(_("Raster map <%s> not found"), map_name);
+	G_warning(_("Raster map <%s> not found"),
+		  map_name);
+	return 0;
     }
     *has_null = 0;
 
@@ -191,7 +194,8 @@
   \param[out] nullmap null map buffer
   \param[out] has_null indicates if raster map contains null-data
 
-  \return 1
+  \return 1 on success
+  \return 0 on failure
 */
 int Gs_loadmap_as_int(struct Cell_head *wind, char *map_name, int *buff,
 		      struct BM *nullmap, int *has_null)
@@ -202,9 +206,11 @@
 
     G_debug(3, "Gs_loadmap_as_int");
 
-    map_set = G_find_file2("cell", map_name, "");
+    map_set = G_find_cell2(map_name, "");
     if (!map_set) {
-	G_fatal_error(_("Raster map <%s> not found"), map_name);
+	G_warning(_("Raster map <%s> not found"),
+		  map_name);
+	return 0;
     }
     *has_null = 0;
 
@@ -284,9 +290,11 @@
 	first = 0;
     }
 
-    mapset = G_find_file2("cell", filename, "");
+    mapset = G_find_cell2(filename, "");
     if (!mapset) {
-	G_fatal_error(_("Raster map <%s> not found"), filename);
+	G_warning(_("Raster map <%s> not found"),
+		  filename);
+	return -1;
     }
 
     if (G_raster_map_is_fp(filename, mapset)) {
@@ -355,9 +363,11 @@
 
     max_short -= 1;
 
-    map_set = G_find_file2("cell", map_name, "");
+    map_set = G_find_cell2(map_name, "");
     if (!map_set) {
-	G_fatal_error(_("Raster map <%s> not found"), map_name);
+	G_warning(_("Raster map <%s> not found"),
+		  map_name);
+	return -1;
     }
     *has_null = 0;
 
@@ -467,9 +477,11 @@
 
     max_char -= 1;
 
-    map_set = G_find_file2("cell", map_name, "");
+    map_set = G_find_cell2(map_name, "");
     if (!map_set) {
-	G_fatal_error(_("Raster map <%s> not found"), map_name);
+	G_warning(_("Raster map <%s> not found"),
+		  map_name);
+	return -1;
     }
     *has_null = 0;
 
@@ -560,9 +572,11 @@
 
     G_debug(3, "Gs_loadmap_as_bitmap");
 
-    map_set = G_find_file2("cell", map_name, "");
+    map_set = G_find_cell2(map_name, "");
     if (!map_set) {
-	G_fatal_error(_("Raster map <%s> not found"), map_name);
+	G_warning(_("Raster map <%s> not found"),
+		  map_name);
+	return -1;
     }
 
     if ((cellfile = G_open_cell_old(map_name, map_set)) == -1) {
@@ -612,7 +626,8 @@
   \param filename raster map name
   \param[out] buff data buffer
 
-  \return 1
+  \return 1 on success
+  \return 0 on failure
 */
 int Gs_build_256lookup(char *filename, int *buff)
 {
@@ -624,9 +639,11 @@
 
     G_debug(3, "building color table");
 
-    map = G_find_file2("cell", filename, "");
+    map = G_find_cell2(filename, "");
     if (!map) {
-	G_fatal_error(_("Raster map <%s> not found"), filename);
+	G_warning(_("Raster map <%s> not found"),
+		  filename);
+	return 0;
     }
 
     G_read_colors(filename, map, &colrules);
@@ -679,9 +696,11 @@
     unsigned char *r, *g, *b, *set;
     int *cur, i, j;
 
-    map = G_find_file2("cell", filename, "");
+    map = G_find_cell2(filename, "");
     if (!map) {
-	G_fatal_error(_("Raster map <%s> not found"), filename);
+	G_warning(_("Raster map <%s> not found"),
+		  filename);
+	return;
     }
 
     r = (unsigned char *) G_malloc(cols);
@@ -747,9 +766,11 @@
     int i, j, *icur;
     FCELL *fcur;
 
-    map = G_find_file2("cell", filename, "");
+    map = G_find_cell2(filename, "");
     if (!map) {
-	G_fatal_error(_("Raster map <%s> not found"), filename);
+	G_warning(_("Raster map <%s> not found"),
+		  filename);
+	return;
     }
 
     r = (unsigned char *) G_malloc(cols);
@@ -803,7 +824,8 @@
   \param dcol
   \param catstr category string
 
-  \return 1
+  \return 1 on success
+  \return 0 on failure
 */
 int Gs_get_cat_label(char *filename, int drow, int dcol, char *catstr)
 {
@@ -814,8 +836,10 @@
     RASTER_MAP_TYPE map_type;
     int fd;
 
-    if ((mapset = G_find_cell(filename, "")) == NULL) {
-	G_fatal_error(_("Raster map <%s> not found"), filename);
+    if ((mapset = G_find_cell2(filename, "")) == NULL) {
+	G_warning(_("Raster map <%s> not found"),
+		  filename);
+	return 0;
     }
 
     if (-1 != G_read_cats(filename, mapset, &cats)) {

Modified: grass/trunk/lib/ogsf/Gv3.c
===================================================================
--- grass/trunk/lib/ogsf/Gv3.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/Gv3.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1,7 +1,7 @@
 /*!
   \file Gv3.c
  
-  \brief OGSF library - loading and manipulating vector sets
+  \brief OGSF library - loading vector sets (lower level functions)
  
   GRASS OpenGL gsurf OGSF Library 
  
@@ -13,12 +13,13 @@
   for details.
   
   \author Bill Brown USACERL (December 1993)
+  \author Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)
 */
 
 #include <stdlib.h>
 #include <grass/gis.h>
 #include <grass/Vect.h>
-
+#include <grass/glocale.h>
 #include <grass/gstypes.h>
 
 #define TRAK_MEM
@@ -27,8 +28,17 @@
 static int Tot_mem = 0;
 #endif
 
-/* This loads to memory.  
-The other alternative may be to load to a tmp file. */
+/*!
+  \brief Load vector map to memory
+
+  The other alternative may be to load to a tmp file
+
+  \param grassname vector map name
+  \param[out] number of loaded features
+
+  \return pointer to geoline struct
+  \return NULL on failure
+*/
 geoline *Gv_load_vect(char *grassname, int *nlines)
 {
     struct Map_info map;
@@ -37,28 +47,39 @@
     int np, i, n, nareas, nl=0, area, type, is3d;
     struct Cell_head  wind;
     float vect[2][3];
+    char *mapset;
 
-    /* TODO: handle error messages */
-
+    mapset = G_find_vector2((const char *) grassname, "");
+    if (!mapset) {
+	G_warning(_("Vector map <%s> not found"),
+		  grassname);
+	return NULL;
+    }
+    
     Vect_set_open_level (2); 
-    Vect_open_old (&map, grassname, "");
+    if (Vect_open_old (&map, grassname, "") == -1) {
+	G_warning (_("Unable to open vector map <%s>"),
+		   grassname);
+	return NULL;
+    }
     
-    if (NULL == (top=gln=(geoline *)malloc(sizeof(geoline)))) {
-	fprintf(stderr,"Can't malloc.\n");
-	return(NULL);
+    top = gln = (geoline *) G_malloc(sizeof(geoline)); /* G_fatal_error */
+    if (!top) {
+	return NULL;
     }
+    
     prev = top;
     
-    #ifdef TRAK_MEM
-    	Tot_mem+=sizeof(geoline);
-    #endif
-
+#ifdef TRAK_MEM
+    Tot_mem+=sizeof(geoline);
+#endif
+    
     points = Vect_new_line_struct ();
-
+    
     G_get_set_window (&wind) ;
     Vect_set_constraint_region(&map,wind.north,wind.south,wind.east,wind.west,
 	                       PORT_DOUBLE_MAX, -PORT_DOUBLE_MAX);
-
+    
     is3d = Vect_is_3d ( &map );
     
     /* Read areas */
@@ -67,33 +88,33 @@
     G_debug(3, "Reading vector areas (nareas = %d)", n);
     for ( area = 1; area <= n ; area++ ) {
 	G_debug(3, " area %d", area);
-
+	
 	Vect_get_area_points ( &map, area, points ); 
 	if ( points->n_points < 3 ) continue;
 	gln->type = OGSF_POLYGON;
 	gln->npts = np = points->n_points;
         G_debug(3, "  np = %d", np);
-		
+	
 	if ( is3d ) { 
 	    gln->dims = 3; 
-	    if (NULL == (gln->p3=(Point3 *)calloc(np, sizeof(Point3)))) {
-		fprintf(stderr,"Can't calloc.\n"); /* CLEAN UP */
+	    gln->p3 = (Point3 *) G_calloc(np, sizeof(Point3)); /* G_fatal_error */
+	    if (!gln->p3) {
 		return(NULL);
 	    }
-	    #ifdef TRAK_MEM
-		Tot_mem+=(np*sizeof(Point3));
-	    #endif
+#ifdef TRAK_MEM
+	    Tot_mem+=(np*sizeof(Point3));
+#endif
 	} else {
 	    gln->dims = 2;
-	    if (NULL == (gln->p2=(Point2 *)calloc(np, sizeof(Point2)))) {
-		fprintf(stderr,"Can't calloc.\n"); /* CLEAN UP */
+	    gln->p2=(Point2 *) G_calloc(np, sizeof(Point2)); /* G_fatal_error */
+	    if (!gln->p2) {
 		return(NULL);
 	    }
-	    #ifdef TRAK_MEM
-		Tot_mem+=(np*sizeof(Point2));
-	    #endif
+#ifdef TRAK_MEM
+	    Tot_mem+=(np*sizeof(Point2));
+#endif
 	}
-    
+	
 	for (i=0; i < np; i++) {
 	    if ( is3d ) {
 		gln->p3[i][X] = points->x[i];
@@ -116,21 +137,21 @@
 	    
 	}
     
-	if (NULL == (gln->next=(geoline *)malloc (sizeof(geoline)))) {
-	    fprintf(stderr,"Can't malloc.\n"); /* CLEAN UP */
+	gln->next = (geoline *) G_malloc (sizeof(geoline)); /* G_fatal_error */
+	if (!gln->next) {
 	    return(NULL);
 	}
 
-	#ifdef TRAK_MEM
-	    Tot_mem+=sizeof(geoline);
-	#endif
-    
+#ifdef TRAK_MEM
+	Tot_mem+=sizeof(geoline);
+#endif
+	
 	prev = gln;
 	gln = gln->next;
 	nareas++;
     }
     G_debug(3, "%d areas loaded", nareas);
-
+    
     /* Read all lines */
     G_debug(3, "Reading vector lines ...");
     while (-1 < (type = Vect_read_next_line(&map, points, NULL))) {
@@ -143,31 +164,30 @@
 		gln->type = OGSF_POLYGON;
                 /* Vect_append_point ( points, points->x[0], points->y[0], points->z[0] ); */
 	    }
-
+	    
 	    gln->npts = np = points->n_points;
             G_debug(3, "  np = %d", np);
-		
+	    
 	    if ( is3d ) { 
 		gln->dims = 3; 
-		if (NULL == (gln->p3=(Point3 *)calloc(np, sizeof(Point3)))) {
-		    fprintf(stderr,"Can't calloc.\n"); /* CLEAN UP */
+		gln->p3=(Point3 *) G_calloc(np, sizeof(Point3)); /* G_fatal_error */
+		if (!gln->p3) {
 		    return(NULL);
 		}
-		#ifdef TRAK_MEM
-		    Tot_mem+=(np*sizeof(Point3));
-		#endif
+#ifdef TRAK_MEM
+		Tot_mem+=(np*sizeof(Point3));
+#endif
 	    } else {
 		gln->dims = 2;
-		if (NULL == (gln->p2=(Point2 *)calloc(np, sizeof(Point2)))) {
-		    fprintf(stderr,"Can't calloc.\n"); /* CLEAN UP */
+		gln->p2 = (Point2 *) G_calloc(np, sizeof(Point2)); /* G_fatal_error */
+		if (!gln->p2) {
 		    return(NULL);
 		}
-		#ifdef TRAK_MEM
-		    Tot_mem+=(np*sizeof(Point2));
-		#endif
+#ifdef TRAK_MEM
+		Tot_mem+=(np*sizeof(Point2));
+#endif
 	    }
-
-	
+	    
 	    for (i=0; i < np; i++) {
 		if ( is3d ) {
 		    gln->p3[i][X] = points->x[i];
@@ -189,16 +209,15 @@
 		GS_v3cross( vect[1], vect[0], gln->norm );
                 G_debug ( 3, "norm %f %f %f", gln->norm[0], gln->norm[1], gln->norm[2] );
 	    }
-	
-	    if (NULL == (gln->next=(geoline *)malloc (sizeof(geoline)))) {
-		fprintf(stderr,"Can't malloc.\n"); /* CLEAN UP */
+	    
+	    gln->next = (geoline *) G_malloc (sizeof(geoline)); /* G_fatal_error */
+	    if (!gln->next) {
 		return(NULL);
 	    }
-
-	    #ifdef TRAK_MEM
-		Tot_mem+=sizeof(geoline);
-	    #endif
-	
+#ifdef TRAK_MEM
+	    Tot_mem+=sizeof(geoline);
+#endif
+	    
 	    prev = gln;
 	    gln = gln->next;
 	    nl++;
@@ -209,59 +228,74 @@
     nl += nareas;
     
     prev->next = NULL;
-    free(gln);
+    G_free(gln);
     
-    #ifdef TRAK_MEM
-    	Tot_mem-=sizeof(geoline);
-    #endif
+#ifdef TRAK_MEM
+    Tot_mem-=sizeof(geoline);
+#endif
     
     Vect_close (&map);
-
-    fprintf(stderr,"Vector file %s loaded.\n",grassname);
+   
     if (!nl) {
-	    fprintf(stderr, "Error: No lines from %s fall within current region\n", grassname);
-	    return (NULL);
+	G_warning (_("No features from vector map <%s> fall within current region"),
+		   grassname);
+	return (NULL);
     }
+    
+    G_verbose_message (_("Vector map <%s> loaded (%d features)"),
+		       grassname, nl);
+    
     *nlines = nl;
-
-    #ifdef TRAK_MEM
-    	fprintf(stderr,"Total vect memory = %d Kbytes\n", Tot_mem/1000);
-    #endif
-
+    
+#ifdef TRAK_MEM
+    G_debug (3, "Total vect memory = %d Kbytes", Tot_mem/1000);
+#endif
+    
     return(top);
 }
 
+/*!
+  \brief Tracking memory
+
+  \param plus plus number
+*/
 void add_Vectmem(int plus)
 {
-    #ifdef TRAK_MEM
+#ifdef TRAK_MEM
     {
     	Tot_mem+=plus;
     }
-    #endif
+#endif
     
     return;
 }
 
+/*!
+  \brief Tracking memory
+
+  \param minus mimus number
+*/
 void sub_Vectmem(int minus)
 {
-    #ifdef TRAK_MEM
+#ifdef TRAK_MEM
     {
     	Tot_mem-=minus;
     }
-    #endif
+#endif
     
     return;
 }
 
+/*!
+  \brief Tracking memory (print)
+*/
 void show_Vectmem(void)
 {
-    #ifdef TRAK_MEM
+#ifdef TRAK_MEM
     {
-    	fprintf(stderr,"Total vect memory = %d Kbytes\n", Tot_mem/1000);
+    	G_message("Total vect memory = %d Kbytes", Tot_mem/1000);
     }
-    #endif
+#endif
     
     return;
 }
-
-

Modified: grass/trunk/lib/ogsf/Gvl3.c
===================================================================
--- grass/trunk/lib/ogsf/Gvl3.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/Gvl3.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1,7 +1,7 @@
 /*!
   \file Gvl3.c
  
-  \brief OGSF library - loading and manipulating volumes
+  \brief OGSF library - loading volumes (lower level functions)
  
   GRASS OpenGL gsurf OGSF Library 
  
@@ -13,19 +13,30 @@
   for details.
   
   \author Tomas Paudits (December 2003)
+  \author Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)
 */
 
 #include <grass/gis.h>
 #include <grass/G3d.h>
 #include <grass/gstypes.h>
+#include <grass/glocale.h>
 
-/***********************************************************************/
+/*!
+  \brief Load color table
+
+  \param[out] color_data color data buffer
+  \param name 3D raster map name
+
+  \return -1 on failure
+  \return 1 on success
+*/
 int Gvl_load_colors_data(void **color_data, char *name)
 {
     char *mapset;
     struct Colors *colors;
 
     if (NULL == (mapset = G_find_grid3(name,""))) {
+	G_warning(_("3D raster map <%s> not found"), name);
         return (-1);
     }
 
@@ -42,7 +53,14 @@
     return (1);
 }
 
-/***********************************************************************/
+/*!
+  \brief Unload color table
+
+  \param color_data color data buffer
+
+  \return -1 on failure
+  \return 1 on success
+*/
 int Gvl_unload_colors_data(void *color_data)
 {
     if (!G_free_colors(color_data))
@@ -53,7 +71,14 @@
     return (1);
 }
 
-/***********************************************************************/
+/*!
+  \brief Get color for value
+
+  \param color_data color data value
+  \param value data value
+
+  \return color value
+*/
 int Gvl_get_color_for_value(void *color_data, float *value)
 {
     int r, g, b;

Modified: grass/trunk/lib/ogsf/gk.c
===================================================================
--- grass/trunk/lib/ogsf/gk.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/gk.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -1,7 +1,7 @@
 /*!
   \file gk.c
  
-  \brief OGSF library - setting and manipulating keyframes animation
+  \brief OGSF library - setting and manipulating keyframes animation (lower level functions)
  
   GRASS OpenGL gsurf OGSF Library 
  
@@ -13,6 +13,7 @@
   for details.
   
   \author Bill Brown USACERL, GMSL/University of Illinois
+  \author Doxygenized by Martin Landa <landa.martin gmail.com> (May 2008)
 */
 
 #include <stdlib.h>
@@ -35,13 +36,20 @@
 	     (double) tension * rderiv * (x3 - x2)));
 }
 
+/*!
+  \brief Copy keyframes
+
+  \param k source keyframes
+
+  \return pointer to Keylist struct (target)
+*/
 Keylist *gk_copy_key(Keylist * k)
 {
     Keylist *newk;
     int i;
 
-    if (NULL == (newk = (Keylist *) malloc(sizeof(Keylist)))) {
-	fprintf(stderr, "Out of memory\n");
+    newk = (Keylist *) G_malloc(sizeof(Keylist)); /* G_fatal_error */
+    if (!newk) {
 	return (NULL);
     }
 
@@ -57,8 +65,18 @@
     return (newk);
 }
 
-/* get begin & end pos, AND all masks in keys <= pos */
-/* time must be between 0.0 & 1.0 */
+/*!
+  \brief Get mask value
+
+  Get begin & end pos, AND all masks in keys <= pos
+
+  Time must be between 0.0 & 1.0
+
+  \param time timestamp
+  \param keys list of keyframes
+
+  \return mask value
+*/
 unsigned long gk_get_mask_sofar(float time, Keylist * keys)
 {
     Keylist *k;
@@ -83,6 +101,15 @@
     return (mask);
 }
 
+/*!
+  \brief ADD
+
+  \param mask mask value
+  \param keys list of keyframes
+  \param[out] keyret output list of keyframes
+
+  \return number of output keyframes
+*/
 int gk_viable_keys_for_mask(unsigned long mask, Keylist * keys,
 			    Keylist ** keyret)
 {
@@ -98,8 +125,20 @@
     return (cnt);
 }
 
-/* checks key masks because if they're masked up until the current position,
-   pre-existing (or current) field should be used. */
+/*!
+  \brief Checks key masks
+
+  Because if they're masked up until the current position,
+  pre-existing (or current) field should be used.
+
+  \param view pointer to Viewmode struct
+  \param numsteps number of steps
+  \param keys list of keyframes
+  \param step step value
+  \param onestep
+  \param render
+  \param mode
+*/
 void gk_follow_frames(Viewnode * view, int numsteps, Keylist * keys, int step,
 		      int onestep, int render, unsigned long mode)
 {
@@ -132,17 +171,15 @@
 
 	GS_moveto(tmp);
 
-#ifdef KDEBUG
-	{
-	    GS_get_from(tmp);
-	    fprintf(stderr, "MASK: %x\n", mask);
-	    fprintf(stderr, "FROM: %f %f %f\n", tmp[X], tmp[Y], tmp[Z]);
-	}
-#endif
-/* ACS 1 line: was 	GS_get_focus(tmp);
- 	with this kanimator works also for flythrough navigation
-	also changed in GK2.c
-*/
+	GS_get_from(tmp);
+	G_debug(3, "gk_follow_frames():");
+	G_debug(3, "  MASK: %x", mask);
+	G_debug(3, "  FROM: %f %f %f", tmp[X], tmp[Y], tmp[Z]);
+
+	/* ACS 1 line: was 	GS_get_focus(tmp);
+	   with this kanimator works also for flythrough navigation
+	   also changed in GK2.c
+	*/
 	GS_get_viewdir(tmp);
 	if ((mask & KF_DIRX_MASK)) {
 	    tmp[X] = v->fields[KF_DIRX];
@@ -153,20 +190,16 @@
 	if ((mask & KF_DIRZ_MASK)) {
 	    tmp[Z] = v->fields[KF_DIRZ];
 	}
-/* ACS 1 line: was 	GS_set_focus(tmp);
- 	with this kanimator works also for flythrough navigation
-	also changed in GK2.c
-*/
+	/* ACS 1 line: was 	GS_set_focus(tmp);
+	   with this kanimator works also for flythrough navigation
+	   also changed in GK2.c
+	*/
 	GS_set_viewdir(tmp);
 
+	G_debug(3, "gk_follow_frames():");
+	GS_get_viewdir(tmp);
+	G_debug(3, "  DIR: %f %f %f\n", tmp[X], tmp[Y], tmp[Z]);
 
-#ifdef KDEBUG
-	{
-	    GS_get_viewdir(tmp);
-	    fprintf(stderr, "DIR: %f %f %f\n", tmp[X], tmp[Y], tmp[Z]);
-	}
-#endif
-
 	if ((mask & KF_TWIST_MASK)) {
 	    GS_set_twist((int) v->fields[KF_TWIST]);
 	}
@@ -231,6 +264,11 @@
     return;
 }
 
+/*!
+  \brief Free keyframe list
+
+  \param ok pointer to Keylist struct
+*/
 void gk_free_key(Keylist * ok)
 {
     Keylist *k, *prev;
@@ -240,14 +278,27 @@
 	while (k) {
 	    prev = k;
 	    k = k->next;
-	    free(prev);
+	    G_free(prev);
 	}
     }
 
     return;
 }
 
-/* here we use a cardinal cubic spline */
+/*!
+  \brief Generate viewnode from keyframes
+  
+  Here we use a cardinal cubic spline
+
+  \param keys list of keyframes
+  \param keysteps keyframe step
+  \param newsteps new step value
+  \param loop loop indicator
+  \param t
+
+  \return pointer to Viewnode
+  \return NULL on failure
+*/
 Viewnode *gk_make_framesfromkeys(Keylist * keys, int keysteps, int newsteps,
 				 int loop, float t)
 {
@@ -258,8 +309,8 @@
     double dt1, dt2, x, x2, x3, range, time, time_step, len, rderiv, lderiv;
 
     /* allocate tmp keys to hold valid keys for fields */
-    if (NULL == (tkeys = (Keylist **) malloc(keysteps * sizeof(Keylist *)))) {
-	fprintf(stderr, "Unable to allocate memory\n");
+    tkeys = (Keylist **) G_malloc(keysteps * sizeof(Keylist *)); /* G_fatal_error */
+    if (!tkeys) {
 	return (NULL);
     }
 
@@ -267,8 +318,8 @@
 
     if (keys && keysteps) {
 	if (keysteps < 3) {
-	    fprintf(stderr, "Need at least 3 keyframes for spline\n");
-	    free(tkeys);
+	    G_warning (_("Need at least 3 keyframes for spline"));
+	    G_free(tkeys);
 	    return (NULL);
 	}
 
@@ -280,10 +331,9 @@
 	range = endpos - startpos;
 	time_step = range / (newsteps - 1);
 
-	if (NULL ==
-	    (newview = (Viewnode *) malloc(newsteps * sizeof(Viewnode)))) {
-	    fprintf(stderr, "Out of memory\n");
-	    free(tkeys);
+	newview = (Viewnode *) G_malloc(newsteps * sizeof(Viewnode)); /* G_fatal_error */
+	if(!newview) { /* not used */
+	    G_free(tkeys);
 	    return (NULL);
 	}
 
@@ -310,9 +360,9 @@
 					    loop, tkeys, &k, &kp1, &kp2, &km1,
 					    &dt1, &dt2);
 		}
-
+		
 /* ACS 1 line: was	if (len == 0.0) {
- 	when disabling a channel no calculation must be made at all (otherwise core dump)
+   when disabling a channel no calculation must be made at all (otherwise core dump)
 */
 		if (len == 0.0 || nvk == 0) {
 		    if (!k) {
@@ -368,23 +418,40 @@
 	    }
 	}
 
-	free(tkeys);
+	G_free(tkeys);
 	return (newview);
     }
     else {
-	free(tkeys);
+	G_free(tkeys);
 	return (NULL);
     }
 }
 
-/* finds interval containing time, putting left (or equal) key
-   at km1, right at kp1, 2nd to right at kp2, and second to left at km2.
-   dt1 is given the length of the current + left intervals
-   dt2 is given the length of the current + right intervals
-   returns the length of the current interval (0 on error)
+/*!
+  \brief Find interval containing time
+  
+  Changed June 94 to handle masks - now need to have called get_viable_keys
+  for appropriate mask first to build the ARRAY of viable keyframes.
+  
+  Putting left (or equal) key
+  at km1, right at kp1, 2nd to right at kp2, and second to left at km2.
+  dt1 is given the length of the current + left intervals
+  dt2 is given the length of the current + right intervals
+  
+  \param nvk
+  \param time
+  \param range
+  \param loop
+  \param karray
+  \param km1
+  \param kp1
+  \param kp2
+  \param km2
+  \param dt1
+  \param dt2
 
-   Changed June 94 to handle masks - now need to have called get_viable_keys
-   for appropriate mask first to build the ARRAY of viable keyframes.
+  \return the length of the current interval
+  \return 0 on error
 */
 double get_key_neighbors(int nvk, double time, double range, int loop,
 			 Keylist * karray[], Keylist ** km1, Keylist ** kp1,
@@ -461,13 +528,33 @@
     return (len);
 }
 
+/*!
+  \brief Linear interpolation
+  
+  \param dt coeficient
+  \param val2 value 2
+  \param val1 value 1
+
+  \return val1 + dt * (val2 - val1)
+*/
 double lin_interp(float dt, float val1, float val2)
 {
     return ((double) (val1 + dt * (val2 - val1)));
 }
 
-/* finds interval containing time, putting left (or equal) key
-   at km1, right at kp1
+/*!
+  \brief Finds interval containing time, putting left (or equal) key
+  at km1, right at kp1
+
+  \param nvk
+  \param time
+  \param range
+  \param loop
+  \param karray
+  \param km1
+  \param km2
+
+  \return interval value
 */
 double get_2key_neighbors(int nvk, float time, float range, int loop,
 			  Keylist * karray[], Keylist ** km1, Keylist ** kp1)
@@ -501,8 +588,20 @@
     return (len);
 }
 
-/* Here we use linear interpolation. Loop variable isn't used, but left  */
-/* in for use in possible "linear interp with smoothing" version.        */
+/*!
+  \brief Generate viewnode from keyframe list (linear interpolation)
+
+  Here we use linear interpolation. Loop variable isn't used, but left
+  in for use in possible "linear interp with smoothing" version.
+
+  \param kesy keyframe list
+  \param keysteps step value
+  \param newsteps new step value
+  \param loop loop indicator
+
+  \param pointer to viewnode struct
+  \param NULL on failure
+*/
 Viewnode *gk_make_linear_framesfromkeys(Keylist * keys, int keysteps,
 					int newsteps, int loop)
 {
@@ -512,8 +611,8 @@
     float startpos, endpos, dt, range, time, time_step, len;
 
     /* allocate tmp keys to hold valid keys for fields */
-    if (NULL == (tkeys = (Keylist **) malloc(keysteps * sizeof(Keylist *)))) {
-	fprintf(stderr, "Unable to allocate memory\n");
+    tkeys = (Keylist **) G_malloc(keysteps * sizeof(Keylist *)); /* G_fatal_error */
+    if(!tkeys) {
 	return (NULL);
     }
 
@@ -521,8 +620,8 @@
 
     if (keys && keysteps) {
 	if (keysteps < 2) {
-	    fprintf(stderr, "Need at least 2 keyframes for interpolation\n");
-	    free(tkeys);
+	    G_warning (_("Need at least 2 keyframes for interpolation"));
+	    G_free(tkeys);
 	    return (NULL);
 	}
 
@@ -534,10 +633,9 @@
 	range = endpos - startpos;
 	time_step = range / (newsteps - 1);
 
-	if (NULL ==
-	    (newview = (Viewnode *) malloc(newsteps * sizeof(Viewnode)))) {
-	    fprintf(stderr, "Out of memory\n");
-	    free(tkeys);
+	newview = (Viewnode *) G_malloc(newsteps * sizeof(Viewnode)); /* G_fatal_error */
+	if(!newview) { /* not used */
+	    G_free(tkeys);
 	    return (NULL);
 	}
 
@@ -564,7 +662,7 @@
 		}
 
 /* ACS 1 line: was	if (len == 0.0) {
- 	when disabling a channel no calculation must be made at all (otherwise core dump)
+   when disabling a channel no calculation must be made at all (otherwise core dump)
 */
 		if (len == 0.0 || nvk == 0) {
 		    if (!k1) {
@@ -583,19 +681,23 @@
 						  k1->fields[field],
 						  k2->fields[field]);
 		}
-
 	    }
 	}
 
-	free(tkeys);
+	G_free(tkeys);
 	return (newview);
     }
     else {
-	free(tkeys);
+	G_free(tkeys);
 	return (NULL);
     }
 }
 
+/*!
+  \brief Correct twist value
+
+  \param k keyframe list
+*/
 void correct_twist(Keylist * k)
 {
     Keylist *c, *p, *t;
@@ -624,6 +726,16 @@
     return;
 }
 
+/*!
+  \brief Draw path
+
+  \param views Viewnode struct
+  \param steps step value
+  \param keys keyframe list
+
+  \return 0 on failure
+  \return 1 on success
+*/
 int gk_draw_path(Viewnode * views, int steps, Keylist * keys)
 {
     Viewnode *v;

Modified: grass/trunk/lib/ogsf/gsd_legend.c
===================================================================
--- grass/trunk/lib/ogsf/gsd_legend.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/gsd_legend.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -201,9 +201,10 @@
     if (flags[2])
 	do_invert = 1;
 
-    mapset = G_find_cell(name, "");
+    mapset = G_find_cell2(name, "");
     if (mapset == NULL) {
-	fprintf(stderr, "Unable to locate raster %s\n", name);
+	G_warning (_("Raster map <%s> not found"),
+		   name);
 	return (-1);
     }
 

Modified: grass/trunk/lib/ogsf/gvl_file.c
===================================================================
--- grass/trunk/lib/ogsf/gvl_file.c	2008-05-12 15:52:14 UTC (rev 31322)
+++ grass/trunk/lib/ogsf/gvl_file.c	2008-05-12 15:56:30 UTC (rev 31323)
@@ -20,6 +20,7 @@
 #include <grass/gstypes.h>
 #include <grass/gsurf.h>
 #include <grass/G3d.h>
+#include <grass/glocale.h>
 
 #define LUCKY                 33
 
@@ -335,9 +336,8 @@
 
     /* search for g3d file a return his mapset */
     if (NULL == (mapset = G_find_grid3(filename,""))) {
-#ifdef DEBUG_MSG
-        fprintf(stderr, "can't find grid3 file : %s\n", filename);
-#endif
+	G_warning (_("3D raster map <%s> not found"),
+		   filename);
         return (NULL);
     }
 



More information about the grass-commit mailing list