[GRASS-SVN] r45386 - in grass/trunk: . lib/display lib/gis
lib/raster lib/vector
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Feb 12 08:00:12 EST 2011
Author: martinl
Date: 2011-02-12 05:00:12 -0800 (Sat, 12 Feb 2011)
New Revision: 45386
Modified:
grass/trunk/grasslib.dox
grass/trunk/lib/display/displaylib.dox
grass/trunk/lib/gis/gislib.dox
grass/trunk/lib/raster/rasterlib.dox
grass/trunk/lib/vector/vectorlib.dox
Log:
update api manual (organize libs in groups)
Modified: grass/trunk/grasslib.dox
===================================================================
--- grass/trunk/grasslib.dox 2011-02-12 09:59:05 UTC (rev 45385)
+++ grass/trunk/grasslib.dox 2011-02-12 13:00:12 UTC (rev 45386)
@@ -72,45 +72,70 @@
(the name refers to the directory name in lib/ in the source code)
- - arraystats: Library of statistics for arrays of doubles - \ref arraystats (new, under development)
- - bitmap: Bitmap library for X Window Bitmaps - \ref bitmap
- - btree: Binary tree library - \ref btree
+\subsection displaylibs Display Libraries and Drivers
+
- cairodriver: \ref cairodriver
- - cdhc: Library for testing normality and exponentiality - \ref cdhc
- - cluster: \ref clusterlib (image processing)
- - datetime: DateTime library - \ref datetime
- - db: \ref dbmilib
- display: \ref displaylib
- %driver: Graphics monitor driver
- - dspf: DSPF libary - \ref dspf (obsolete?)
+ - pngdriver: \ref pngdriverlib
+ - psdriver: \ref psdriverlib
+
+\subsection statslibs Math and Statisctics Libraries
+
+ - arraystats: Library of statistics for arrays of doubles - \ref arraystats (new, under development)
+ - cdhc: Library for testing normality and exponentiality - \ref cdhc
+ - gmath: \ref gmathlib (generic mathematical functions and BLAS/LAPACK library wrapper)
+ - gpde: \ref gpdelib (partial differential equations library)
+
+\subsection rasteribs Raster Libraries
+
- edit: Raster edit library (cellhd, history, cats) - \ref edit
- - external: External libraries from other projects (such as shapelib) - \ref external
- - fonts: Hershey library - \ref fonts
- g3d: \ref g3dlib
- - gmath: \ref gmathlib (generic mathematical functions and BLAS/LAPACK library wrapper)
- - gpde: \ref gpdelib (partial differential equations library)
- - imagery: \ref imagerylib
- - init: \ref init (GRASS initialization code + scripts)
- - linkm: Linked list memory manager - \ref linkm (obsolete?)
- - manage: \ref managelib
- - ogsf: \ref ogsflib (OpenGL (R) ported gsurf library (required for NVIZ))
- - pngdriver: \ref pngdriverlib
- - proj: \ref projlib (wrapper to PROJ4 projection library)
- - psdriver: \ref psdriverlib
- - python: \ref pythonlib
- raster: \ref rasterlib
- rowio: \ref rowiolib
- - rst: Library for interpolation with regularized splines with tension - \ref rst
+ - rst: \ref rst - Library for interpolation with regularized splines with tension
- segment: \ref segmentlib (segment library for segmented raster reading)
+ - stats: Raster stats library - \ref stats
+
+\subsection imagerylibs Imagery Liraries (image processing)
+
+ - cluster: \ref clusterlib (image processing)
+ - imagery: \ref imagerylib
+
+\subsection vectoribs Vector Libraries
+
- sites: Old Sites library, now interfaced to \ref vectorlib - \ref sites
- - stats: Raster stats library - \ref stats
- - symbol: Drawing symbols for %point %vector data library - \ref symbol
- - vask: Cursor management library - \ref vask
- %vector: \ref vectorlib (GRASS Vector and Direct Graph Library)
- vedit: \ref veditlib - %vector editing
- neta: \ref netalib
+
+\subsection dblibs Database Management Libraries
+
+ - db: \ref dbmilib
+
+\subsection ogsflibs OpenGL Libraries and friends
+
+ - ogsf: \ref ogsflib (OpenGL (R) ported gsurf library (required for NVIZ))
- nviz: \ref nvizlib (used by wxGUI Nviz extension and CLI-based Nviz module)
+\subsection projlibs Projection Libraries
+
+ - proj: \ref projlib (wrapper to PROJ4 projection library)
+
+\subsection misclibs Misc Libraries
+
+ - bitmap: Bitmap library for X Window Bitmaps - \ref bitmap
+ - btree: Binary tree library - \ref btree
+ - datetime: DateTime library - \ref datetime
+ - dspf: DSPF libary - \ref dspf (obsolete?)
+ - external: External libraries from other projects (such as shapelib) - \ref external
+ - fonts: Hershey library - \ref fonts
+ - init: \ref init (GRASS initialization code + scripts)
+ - linkm: Linked list memory manager - \ref linkm (obsolete?)
+ - manage: \ref managelib
+ - symbol: Drawing symbols for %point %vector data library - \ref symbol
+ - vask: Cursor management library - \ref vask
+
\section interfaces Interfaces
- \ref pythonlib
@@ -180,11 +205,11 @@
machines with differing architectures). This chapter assumes that the
programmer is familiar with <tt>make</tt> and its accompanying
Makefile.
-
+<!--
\todo Explain ''auto-conf''
\todo Include contents of SUBMITTING and INSTALL files from source code
-
+-->
To compile enter following:
\verbatim
@@ -218,53 +243,47 @@
libraries:
- <i>GISLIB</i> - This names the <b>GIS Library</b>, which is the
-principal GRASS library. See \ref GIS_Library for details about this
+principal GRASS library. See \ref gislib for details about this
library, and \ref Loading_the_GIS_Library for a sample Makefile which
loads this library.
- <i>SEGMENTLIB</i> - This names the <b>Segment Library</b>, which
-manages large matrix data. See \ref Segment_Library for details about
-this library, and \ref Loading_the_Vask_Library for a sample
+manages large matrix data. See \ref segmentlib for details about this
+library, and \ref Loading_the_Segment_Library for a sample
<i>Makefile</i> which loads this library.
- - <i>RASTERLIB</i> - This names the <b>Raster Graphics Library</b>,
-which communicates with GRASS graphics drivers. See \ref
-Raster_Graphics_Library for details about this library, and \ref
-Loading_the_Raster_Graphics_Library for a sample <i>Makefile</i> which
-loads this library.
+ - <i>RASTERLIB</i> - This names the <b>Raster Library</b>, which is
+the principal GRASS library for raster data access. See \ref rasterlib
+for details about this library, and \ref Loading_the_Raster_Library
+for a sample <i>Makefile</i> which loads this library.
- - <i>DISPLAYLIB</i> - This names the <b>Display Graphics Library</b>,
-which provides a higher level graphics interface to
-<i>RASTERLIB</i>. See Display_Graphics_Library for details about this
-library, and Loading_the_Display_Graphics_Library for a sample
-<i>Makefile</i> which loads this library.
+ - <i>VECTORLIB</i> - This names the <b>Vector Library</b>, which is
+the principal GRASS library for vector data access. See \ref vectorlib
+for details about this library, and \ref Loading_the_Vector_Library
+for a sample <i>Makefile</i> which loads this library.
+ - <i>DISPLAYLIB</i> - This names the <b>Display Library</b>, which
+communicates with GRASS graphics drivers. See \ref displaylib for
+details about this library, and \ref
+Loading_the_Display_Library for a sample <i>Makefile</i>
+which loads this library.
+
<b>UNIX Libraries:</b> The following variables name some useful UNIX
system libraries:
- - <i>MATHLIB</i> This names the math library. It should be used
+ - <i>MATHLIB</i> - This names the math library. It should be used
instead of the -lm loader option.
- - <i>CURSES</i> This names both the curses and termcap libraries. It
-should be used instead of the -lcurses/-lncurses and
--ltermcap loader options. Do not use <tt>$CURSES</tt> if you use
-<tt>$VASK</tt>.
-
- - <i>TERMLIB</i> This names the termcap library. It should be used
--instead of the ltermcap or -ltermlib loader options. Do not use
--<tt>$TERMLIB</tt> if you use <tt>$VASK</tt> or <tt>$CURSES</tt>.
-
<b>Compiler and loader variables.</b> The following variables are
related to compiling and loading C programs:
- - <i>EXTRA\_CFLAGS</i> This variable can be used to add additional
+ - <i>EXTRA\_CFLAGS</i> - This variable can be used to add additional
options to <tt>$CFLAGS</tt>. It has no predefined values. It is
usually used to specify additional -I include directories, or -D
preprocessor defines.
\subsection Constructing_a_Makefile Constructing a Makefile
-
The complete syntax for a <i>Makefile</i> is discussed in the UNIX
documentation for <tt>make</tt> and will not be repeated here. The
essential idea is that a target (e.g. a GRASS module) is to be built
@@ -281,17 +300,18 @@
more actions
\endcode
-If the target does not exist, or if any of the dependencies have a newer
-date than the target (i.e., have changed), the actions will be executed to
-build the target. The actions must be indented using a TAB. <tt>make</tt> is
-picky about this. It does not like spaces in place of the TAB.
+If the target does not exist, or if any of the dependencies have a
+newer date than the target (i.e., have changed), the actions will be
+executed to build the target. The actions must be indented using a
+TAB. <tt>make</tt> is picky about this. It does not like spaces in
+place of the TAB.
\section Multiple_Architecture_Conventions Multiple-Architecture Conventions
+The following conventions allow for multiple architecture compilation
+on a machine that uses a common or networked GRASS source code
+directory tree.
-The following conventions allow for multiple architecture compilation on a
-machine that uses a common or networked GRASS source code directory tree.
-
Object files and library archives are compiled into subdirectories
that represent the architecture that they were compiled on. These
subdirectories are created in the $SRC directory as OBJ.<tt>arch</tt>
@@ -304,8 +324,9 @@
<tt>$SRC/LIB.686-pc-linux-gnu</tt> would contain library archives for
Linux architectures.
-Note that 'arch' is defined for a specific architecture during setup and
-compilation of GRASS, it is not limited to sun4 or any specific string.
+Note that 'arch' is defined for a specific architecture during setup
+and compilation of GRASS, it is not limited to sun4 or any specific
+string.
\section vectmodules Vector modules and their parameters/flags
@@ -313,13 +334,12 @@
\subsection vectmodules_oper Modules operation
-Each module which modifies and writes data must read from
-<b>input=</b> and write to <b>output=</b> so that data may not be
-lost. For example <tt>v.spag</tt> works on <b>map=</b> at in GRASS GIS
-5.0 but if program (system) crashes or threshold was specified
-incorrectly and vector was not backuped, data were lost. In this case
-</b>map=</b> option should be replaced by <b>input=</b> and
-<b>output=</b>.
+Each module which modifies and writes data must read from <b>input</b>
+and write to <b>output</b> so that data may not be lost. For example
+<tt>v.spag</tt> works on <b>map</b> at in GRASS GIS 5.0 but if program
+(system) crashes or threshold was specified incorrectly and vector was
+not backuped, data were lost. In this case </b>map</b> option should
+be replaced by <b>input</b> and <b>output</b>.
Topology is always built by default if the coor file was modified.
@@ -328,29 +348,32 @@
\subsection vectmodulesopt Modules parameters/flags
-<b>-b</b> do not build topo file; by default topo file is written
+Flags:
-<b>-t</b> create new table, default
+ - <b>-b</b> do not build topo file; by default topo file is written
-<b>-u</b> don't create new table
+ - <b>-t</b> create new table, default
-<b>-z</b> write 3D vector map (if input was 2D)
+ - <b>-u</b> don't create new table
+ - <b>-z</b> write 3D vector map (if input was 2D)
-<b>map=</b> input vector map for modules without output
+Parameters:
-<b>input=</b> input vector map
+ - <b>map</b> input vector map for modules without output
-<b>output=</b> output vector map
+ - <b>input</b> input vector map
-<b>type=</b> type of elements: point,line,boundary,centroid,area
+ - <b>output</b> output vector map
-<b>cat=</b> category or category list (example: 1,5,9-13,35)
+ - <b>type</b> type of elements: point,line,boundary,centroid,area
-<b>layer=</b> layer number
+ - <b>cat</b> category or category list (example: 1,5,9-13,35)
-<b>where=</b> condition of SQL statement for selection of records
+ - <b>layer</b> layer number or name
-<b>column=</b> column name (in external table)
+ - <b>where</b> condition of SQL statement for selection of records
+ - <b>column</b> column name (in external table)
+
*/
Modified: grass/trunk/lib/display/displaylib.dox
===================================================================
--- grass/trunk/lib/display/displaylib.dox 2011-02-12 09:59:05 UTC (rev 45385)
+++ grass/trunk/lib/display/displaylib.dox 2011-02-12 13:00:12 UTC (rev 45386)
@@ -20,6 +20,16 @@
conflicts, programmers should not create variables or routines in
their own modules which use this prefix.
+\section Loading_the_Display_Library Loading the Display Library
+
+The library is loaded by specifying
+
+\verbatim
+$(DISPLAYLIB)
+\endverbatim
+
+in the <tt>Makefile</tt>.
+
\section ListOfFns List of functions
The library functions are defined in <tt>display.h</tt> header.
Modified: grass/trunk/lib/gis/gislib.dox
===================================================================
--- grass/trunk/lib/gis/gislib.dox 2011-02-12 09:59:05 UTC (rev 45385)
+++ grass/trunk/lib/gis/gislib.dox 2011-02-12 13:00:12 UTC (rev 45386)
@@ -2299,10 +2299,10 @@
\section Loading_the_GIS_Library Loading the GIS Library
+The library is loaded by specifying $(GISLIB) in the Makefile. The
+following example is a complete Makefile which compiles code that uses
+this library:
-The library is loaded by specifying $(GISLIB) in the Makefile. The following
-example is a complete Makefile which compiles code that uses this library:
-
<b>Makefile for $(GISLIB)</b>
\verbatim
Modified: grass/trunk/lib/raster/rasterlib.dox
===================================================================
--- grass/trunk/lib/raster/rasterlib.dox 2011-02-12 09:59:05 UTC (rev 45385)
+++ grass/trunk/lib/raster/rasterlib.dox 2011-02-12 13:00:12 UTC (rev 45386)
@@ -1848,6 +1848,16 @@
Modules that use Rast_put_row(). Should use Rast_put_c_row()
instead.
+\section Loading_the_Raster_Library Loading the Raster Library
+
+The library is loaded by specifying
+
+\verbatim
+$(RASTERLIB)
+\endverbatim
+
+in the <tt>Makefile</tt>.
+
\section listOfFunctios List of functions
<b>TODO: Reorder functions</b>
Modified: grass/trunk/lib/vector/vectorlib.dox
===================================================================
--- grass/trunk/lib/vector/vectorlib.dox 2011-02-12 09:59:05 UTC (rev 45385)
+++ grass/trunk/lib/vector/vectorlib.dox 2011-02-12 13:00:12 UTC (rev 45386)
@@ -1628,6 +1628,16 @@
boundary and the centroid form an area with category number 2. All
vector feature mentioned above are located in layer 1.
+\section Loading_the_Vector_Library Loading the Vector Library
+
+The library is loaded by specifying
+
+\verbatim
+$(SEGMENTLIB)
+\endverbatim
+
+in the <tt>Makefile</tt>.
+
\section vlibFunc List of vector library functions
The vector library provides the GRASS programmer with routines to
More information about the grass-commit
mailing list