浏览代码

update api manual (organize libs in groups)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@45386 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 14 年之前
父节点
当前提交
6bb657402e
共有 5 个文件被更改,包括 136 次插入83 次删除
  1. 103 80
      grasslib.dox
  2. 10 0
      lib/display/displaylib.dox
  3. 3 3
      lib/gis/gislib.dox
  4. 10 0
      lib/raster/rasterlib.dox
  5. 10 0
      lib/vector/vectorlib.dox

+ 103 - 80
grasslib.dox

@@ -72,45 +72,70 @@ undocumented.</i>
 
 
 (the name refers to the directory name in lib/ in the source code)
 (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
  - 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
  - display:	\ref displaylib
  - %driver:     Graphics monitor driver
  - %driver:     Graphics monitor driver
- - dspf:        DSPF libary - \ref dspf (obsolete?)
- - 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
  - pngdriver:   \ref pngdriverlib
- - proj:	\ref projlib (wrapper to PROJ4 projection library)
  - psdriver:    \ref psdriverlib
  - psdriver:    \ref psdriverlib
- - python:      \ref pythonlib
+
+\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
+ - g3d:	        \ref g3dlib
  - raster:	\ref rasterlib
  - raster:	\ref rasterlib
  - rowio:	\ref rowiolib
  - 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)
  - segment:	\ref segmentlib (segment library for segmented raster reading)
- - sites:	Old Sites library, now interfaced to \ref vectorlib - \ref sites
  - stats:       Raster stats library - \ref stats
  - stats:       Raster stats library - \ref stats
- - symbol:	Drawing symbols for %point %vector data library - \ref symbol
- - vask:	Cursor management library - \ref vask
+
+\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
  - %vector:	\ref vectorlib (GRASS Vector and Direct Graph Library)
  - %vector:	\ref vectorlib (GRASS Vector and Direct Graph Library)
   - vedit:      \ref veditlib - %vector editing
   - vedit:      \ref veditlib - %vector editing
   - neta:       \ref netalib
   - 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)
  - 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
 \section interfaces Interfaces
 
 
  - \ref pythonlib
  - \ref pythonlib
@@ -180,11 +205,11 @@ code (for instance, if the source code is NFS mounted to various
 machines with differing architectures). This chapter assumes that the
 machines with differing architectures). This chapter assumes that the
 programmer is familiar with <tt>make</tt> and its accompanying
 programmer is familiar with <tt>make</tt> and its accompanying
 Makefile.
 Makefile.
-
+<!--
 \todo Explain ''auto-conf''
 \todo Explain ''auto-conf''
 
 
 \todo Include contents of SUBMITTING and INSTALL files from source code
 \todo Include contents of SUBMITTING and INSTALL files from source code
-
+-->
 To compile enter following:
 To compile enter following:
 
 
 \verbatim
 \verbatim
@@ -218,53 +243,47 @@ compilation process and requirements are discussed in more detail now.
 libraries:
 libraries:
 
 
  - <i>GISLIB</i> - This names the <b>GIS Library</b>, which is the
  - <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
 library, and \ref Loading_the_GIS_Library for a sample Makefile which
 loads this library.
 loads this library.
 
 
  - <i>SEGMENTLIB</i> - This names the <b>Segment Library</b>, which
  - <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>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 
 <b>UNIX Libraries:</b> The following variables name some useful UNIX 
 system libraries:
 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.
 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
 <b>Compiler and loader variables.</b> The following variables are
 related to compiling and loading C programs:
 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
 options to <tt>$CFLAGS</tt>. It has no predefined values. It is
 usually used to specify additional -I include directories, or -D
 usually used to specify additional -I include directories, or -D
 preprocessor defines.
 preprocessor defines.
 
 
 \subsection Constructing_a_Makefile Constructing a Makefile
 \subsection Constructing_a_Makefile Constructing a Makefile
 
 
-
 The complete syntax for a <i>Makefile</i> is discussed in the UNIX
 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
 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
 essential idea is that a target (e.g. a GRASS module) is to be built
@@ -281,16 +300,17 @@ actions
 more actions
 more actions
 \endcode
 \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
 \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
 Object files and library archives are compiled into subdirectories
 that represent the architecture that they were compiled on. These
 that represent the architecture that they were compiled on. These
@@ -304,8 +324,9 @@ would contain the object files for Linux architectures, and
 <tt>$SRC/LIB.686-pc-linux-gnu</tt> would contain library archives for
 <tt>$SRC/LIB.686-pc-linux-gnu</tt> would contain library archives for
 Linux architectures.
 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
 \section vectmodules Vector modules and their parameters/flags
 
 
@@ -313,13 +334,12 @@ A module is a GRASS command invoked by the user.
 
 
 \subsection vectmodules_oper Modules operation
 \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.
 Topology is always built by default if the coor file was modified.
 
 
@@ -328,29 +348,32 @@ as 3D. There are a few modules which change the dimension on purpose.
 
 
 \subsection vectmodulesopt Modules parameters/flags
 \subsection vectmodulesopt Modules parameters/flags
 
 
-<b>-b</b> do not build topo file; by default topo file is written
+Flags:
+
+ - <b>-b</b> do not build topo file; by default topo file is written
 
 
-<b>-t</b> create new table, default
+ - <b>-t</b> create new table, default
 
 
-<b>-u</b> don't create new table
+ - <b>-u</b> don't create new table
 
 
-<b>-z</b> write 3D vector map (if input was 2D)
+ - <b>-z</b> write 3D vector map (if input was 2D)
 
 
+Parameters:
 
 
-<b>map=</b> input vector map for modules without output
+ - <b>map</b> input vector map for modules without output
 
 
-<b>input=</b> input vector map
+ - <b>input</b> input vector map
 
 
-<b>output=</b> output vector map
+ - <b>output</b> output vector map
 
 
-<b>type=</b>  type of elements:  point,line,boundary,centroid,area
+ - <b>type</b> type of elements: point,line,boundary,centroid,area
 
 
-<b>cat=</b> category or category list (example: 1,5,9-13,35)
+ - <b>cat</b> category or category list (example: 1,5,9-13,35)
 
 
-<b>layer=</b> layer number
+ - <b>layer</b> layer number or name
 
 
-<b>where=</b> condition of SQL statement for selection of records
+ - <b>where</b> condition of SQL statement for selection of records
 
 
-<b>column=</b> column name (in external table)
+ - <b>column</b> column name (in external table)
 
 
 */
 */

+ 10 - 0
lib/display/displaylib.dox

@@ -20,6 +20,16 @@ undocumented, start with the prefix <b>D_</b>. To avoid name
 conflicts, programmers should not create variables or routines in
 conflicts, programmers should not create variables or routines in
 their own modules which use this prefix.
 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
 \section ListOfFns List of functions
 
 
 The library functions are defined in <tt>display.h</tt> header.
 The library functions are defined in <tt>display.h</tt> header.

+ 3 - 3
lib/gis/gislib.dox

@@ -2299,9 +2299,9 @@ this structure.
 
 
 \section Loading_the_GIS_Library Loading the GIS Library
 \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>
 <b>Makefile for $(GISLIB)</b>
 
 

+ 10 - 0
lib/raster/rasterlib.dox

@@ -1848,6 +1848,16 @@ Rast_get_c_row() instead.
 Modules that use Rast_put_row(). Should use Rast_put_c_row()
 Modules that use Rast_put_row(). Should use Rast_put_c_row()
 instead.
 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
 \section listOfFunctios List of functions
 
 
 <b>TODO: Reorder functions</b>
 <b>TODO: Reorder functions</b>

+ 10 - 0
lib/vector/vectorlib.dox

@@ -1628,6 +1628,16 @@ points. The third feature is a centroid with category number 2. The
 boundary and the centroid form an area with category number 2. All
 boundary and the centroid form an area with category number 2. All
 vector feature mentioned above are located in layer 1.
 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
 \section vlibFunc List of vector library functions
 
 
 The vector library provides the GRASS programmer with routines to
 The vector library provides the GRASS programmer with routines to