[GRASS-SVN] r42629 - in grass/trunk: . gui/wxpython include/Make lib swig

svn_grass at osgeo.org svn_grass at osgeo.org
Tue Jun 22 06:28:54 EDT 2010


Author: martinl
Date: 2010-06-22 10:28:54 +0000 (Tue, 22 Jun 2010)
New Revision: 42629

Added:
   grass/trunk/grass7_arch.png
   grass/trunk/grasslib.dox
Removed:
   grass/trunk/lib/grass7_arch.png
   grass/trunk/lib/grasslib.dox
Modified:
   grass/trunk/
   grass/trunk/Makefile
   grass/trunk/gui/wxpython/wxpythonlib.dox
   grass/trunk/include/Make/Doxyfile_arch_html.in
   grass/trunk/include/Make/Doxyfile_arch_latex.in
   grass/trunk/lib/
   grass/trunk/lib/Makefile
   grass/trunk/swig/swiglib.dox
Log:
grasslib.dox moved from lib to .



Property changes on: grass/trunk
___________________________________________________________________
Modified: svn:ignore
   - autom4te.cache
dist.*
bin.*
config.log
Makefile-grass_trunk.mk
error.log
grass.pc
config.status*

   + autom4te.cache
dist.*
bin.*
config.log
Makefile-grass_trunk.mk
error.log
grass.pc
config.status*
latex
html


Modified: grass/trunk/Makefile
===================================================================
--- grass/trunk/Makefile	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/Makefile	2010-06-22 10:28:54 UTC (rev 42629)
@@ -124,8 +124,11 @@
 	-rm -f include/Make/Platform.make include/Make/Doxyfile_arch_html include/Make/Doxyfile_arch_latex 2>/dev/null
 	-rm -f swig/perl/Makefile.PL swig/perl2/make.pl 2>/dev/null
 
+DOXNAME=grass
+
 include $(MODULE_TOPDIR)/include/Make/Install.make
 include $(MODULE_TOPDIR)/include/Make/Docs.make
+include $(MODULE_TOPDIR)/include/Make/Doxygen.make
 
 .PHONY: default libs
 .PHONY: cleandistdirs cleanscriptstrings clean libsclean distclean

Copied: grass/trunk/grass7_arch.png (from rev 42621, grass/trunk/lib/grass7_arch.png)
===================================================================
(Binary files differ)

Copied: grass/trunk/grasslib.dox (from rev 42628, grass/trunk/lib/grasslib.dox)
===================================================================
--- grass/trunk/grasslib.dox	                        (rev 0)
+++ grass/trunk/grasslib.dox	2010-06-22 10:28:54 UTC (rev 42629)
@@ -0,0 +1,357 @@
+/*! \mainpage GRASS 7 Programmer's Manual
+<!-- * doxygenized from "GRASS 5 Programmer's Manual"
+       by M. Neteler 2/2004
+     * updated 8/2005, 2006, 2007, 2008
+  -->
+
+<a href="http://grass.osgeo.org">GRASS GIS</a> (<b>Geographic
+Resources Analysis Support System</b>) is an open source, Free
+Software <em>Geographical Information System</em> (GIS) with raster,
+topological %vector, image processing, and graphics production
+functionality that operates on various platforms through a graphical
+user interface (GUI) or command line interface (CLI). It is released
+under GNU General Public License (GPL).
+
+This manual introduces the reader to the <i>Geographic Resources
+Analysis Support System</i> from the programming perspective. Design
+theory, system support libraries, system maintenance, and system
+enhancement are all presented. Standard GRASS 4.x conventions are
+still used in much of the code. This work is part of ongoing research
+being performed by the <a
+href="http://grass.osgeo.org/community/team.php">GRASS Development
+Team</a>, an international team of programmers, GRASS module authors
+are cited within their module's source code and the contributed manual
+pages.
+
+&copy; 2000-2009 GRASS Development Team<br> Published
+under GNU Free Documentation License (GFDL)
+http://www.fsf.org/copyleft/fdl.html
+
+This manual comes with ABSOLUTELY NO WARRANTY. The development of
+GRASS software and this manual is kindly supported by the <a
+href="http://www.osgeo.org">Open Source Geospatial Foundation</a>, who
+provides the GRASS main infrastructure.
+
+Main web site: <a
+href="http://grass.osgeo.org">http://grass.osgeo.org</a>
+
+<b>Table of contents</b>
+
+- \subpage corelibs
+- \subpage libs
+- \subpage interfaces
+- \subpage gui
+- \subpage location
+- \subpage Compiling_and_Installing_GRASS_Modules
+ - \subpage Makefile_Variables
+ - \subpage Constructing_a_Makefile
+ - \subpage Multiple_Architecture_Conventions
+- \subpage vectmodules
+ - \subpage vectmodules_oper
+
+<i>Missing entries below are either not yet uploaded to SVN (need to
+be migrated from GRASS 5 Programmer's manual) or are simply
+undocumented.</i>
+
+<!-- original:
+  http://trac.osgeo.org/grass/browser/grass-web/trunk/images/grass7_arch.odp
+-->
+\image html "grass7_arch.png" "GRASS 7 Architecture"
+
+<p>
+<b>PLEASE UPDATE FOR GRASS 7</b>
+
+\section corelibs Principal library
+
+(the name refers to the directory name in lib/ in the source code)
+
+ - gis: \ref gislib
+ - raster: \ref rasterlib
+ - vector: \ref vectorlib
+
+\section libs Further libraries
+
+(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
+ - 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?)
+ - 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?)
+ - ogsf:	\ref ogsflib (OpenGL (R) ported gsurf library (required for NVIZ))
+ - pngdriver:   PNG display driver library - \ref pngdriver
+ - proj:	\ref projlib (wrapper to PROJ4 projection library)
+ - psdriver:    PostScript display driver library - \ref psdriver
+ - python:      \ref pythonlib
+ - raster:	\ref rasterlib
+ - rowio:	\ref rowiolib
+ - rst:	Library for interpolation with regularized splines with tension - \ref rst
+ - 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
+ - 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
+ - nviz:        \ref nvizlib (used by wxGUI Nviz extension and CLI-based Nviz module)
+
+\section interfaces Interfaces
+
+ - \ref swiglib
+ - \ref pythonlib
+
+\section gui GUI
+
+ - \ref wxpythonlib
+
+\section location File structure of GRASS Location
+
+A GRASS <b>raster map</b> consists of several files in several subdirectories in a mapset,
+organized as follows:
+
+ - <b>cellhd/</b>:
+  map header including projection code, coordinates representing
+  the spatial extent of the raster map, number of rows and columns, resolution, 
+  and information about map compression;</li>
+ - <b>cell/, fcell/ or grid3/</b>:
+  generic matrix of values in a compressed, portable
+  format which depends on the raster data type (integer, floating %point or 3D grid);</li>
+ - <b>hist/</b>:
+  history file which contains metadata such as the data source,
+  the command that was used to generate the raster map, or
+  other information provided by the user;</li>
+ - <b>cats/</b>: 
+  optional category file which contains text or numeric labels assigned
+  to the raster map categories;</li>
+ - <b>colr/</b>: 
+  optional color table;</li>
+ - <b>cell_misc/</b>: 
+  optional timestamp, range of values, quantization rules (for floating %point maps)
+  and null (no-data) files; </li>
+
+A GRASS <b>%vector maps</b> are stored in several separate files in a
+single directory (see \ref vectorlib). While the
+attributes are stored in either a DBF file, a SQLite file or in an
+external DBMS (PostgreSQL, MySQL, ODBC), the geometric data are saved
+as follows:
+
+ - <b>head</b>: %vector map ASCII header with information about the map creation
+  (date and name), its scale and threshold;</li>
+ - <b>coor</b>: binary geometry file which includes the coordinates of graphic
+  elements (primitives) that define the %vector feature;</li>
+ - <b>topo</b>: binary topology file describes the spatial relationships between the
+  map's graphic elements;</li>
+ - <b>hist</b>: history ASCII file with complete commands that were used to
+  create the %vector map, as well as the name and date/time of the map
+  creation;</li>
+ - <b>cidx</b>: binary category index file which is used to %link the %vector
+  object IDs to the attribute table rows;</li>
+ - <b>dbln</b>: ASCII file which contains definition(s) of %link to attribute
+  storage in database (DBMS).</li>
+
+<!-- original: 
+  http://trac.osgeo.org/grass/browser/grass-web/trunk/images/loc_struct.odg
+-->
+\image html "loc_struct.png" "Diagram of GRASS file structure"
+
+\section Compiling_and_Installing_GRASS_Modules Compiling and Installing GRASS Modules
+
+GRASS modules are compiled and installed using the UNIX <tt>make</tt>
+command, which reads a file named <tt>Makefile</tt> (see \ref
+Multiple_Architecture_Conventions for more information) and then runs
+the compiler. The GRASS compilation process allows for
+multiple-architecture compilation from a single copy of the source
+code (for instance, if the source code is NFS mounted to various
+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
+./configure
+make
+make install
+\endverbatim
+
+Then the code will be compiled into "/usr/local/grass-7.x.y" directory. The start
+script "grass7x" will be placed into "/usr/local/bin/".
+
+Optionally other target directories can be specified while "configuring":
+
+\verbatim
+./configure --prefix=/opt/grass-7.x.y --with-bindir=/usr/bin
+make
+make install
+\endverbatim
+
+This will store the GRASS binaries into the directory
+"/opt/grass-7.x.y" and the script mentioned above into "/usr/bin".
+
+The script "make" is required to compile single modules. The
+compilation process and requirements are discussed in more detail now.
+
+\subsection Makefile_Variables Makefile Variables
+
+\todo Update the list.
+
+<b>GRASS Libraries</b>. The following variables name the various GRASS 
+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
+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
+<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>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.
+
+<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
+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
+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
+from a list of dependencies (e.g. object files, libraries, etc.). The
+relationship between the target, its dependencies, and the rules for
+constructing the target is expressed according to the following
+syntax:
+
+\code
+target: dependencies
+
+actions
+
+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.
+
+\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.
+
+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>
+and LIB.<tt>arch</tt>, where <tt>arch</tt> represents the architecture
+of the compiling machine. Thus, for example, $SRC/OBJ.sun4 would
+contain the object files for Sun/4 and SPARC architectures, and
+<tt>$SRC/LIB.686-pc-linux-gnu</tt> would contain library archives for
+Linux architectures. Likewise, <tt>$SRC/OBJ.686-pc-linux-gnu</tt>
+would contain the object files for Linux architectures, and
+<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.
+
+\section vectmodules Vector modules and their parameters/flags
+
+A module is a GRASS command invoked by the user.
+
+\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>.
+
+Topology is always built by default if the coor file was modified.
+
+Dimensionality is generally kept. Input 2D vector is written as 2D, 3D
+as 3D. There are a few modules which change the dimension on purpose.
+
+\subsection vectmodulesopt Modules parameters/flags
+
+<b>-b</b> do not build topo file; by default topo file is written
+
+<b>-t</b> create new table, default
+
+<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
+
+<b>input=</b> input vector map
+
+<b>output=</b> output vector map
+
+<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>layer=</b> layer number
+
+<b>where=</b> condition of SQL statement for selection of records
+
+<b>column=</b> column name (in external table)
+
+*/

Modified: grass/trunk/gui/wxpython/wxpythonlib.dox
===================================================================
--- grass/trunk/gui/wxpython/wxpythonlib.dox	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/gui/wxpython/wxpythonlib.dox	2010-06-22 10:28:54 UTC (rev 42629)
@@ -1,4 +1,4 @@
-/*! \mainpage WXGRASS_PYTHON GRASS wxpython based graphical user interface
+/*! \page wxpythonlib GRASS WxPython based graphical user interface
 
 <h2>GRASS wxpython based graphical user interface</h2>
 

Modified: grass/trunk/include/Make/Doxyfile_arch_html.in
===================================================================
--- grass/trunk/include/Make/Doxyfile_arch_html.in	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/include/Make/Doxyfile_arch_html.in	2010-06-22 10:28:54 UTC (rev 42629)
@@ -448,7 +448,33 @@
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = 
+EXCLUDE                = bin.* \
+		         db \
+			 debian \
+			 demolocation \
+			 display \
+			 dist.* \
+			 doc \
+			 general \
+		         gui/wxpython/vdigit \
+			 gui/wxpython/nviz \
+			 imagery \
+                         lib/python/ctypes \
+			 locale \
+			 macosx \
+			 man \
+			 misc \
+			 mswindows \
+			 ps \
+			 raster \
+			 raster3d \
+			 rpm \
+			 scripts \
+			 sites \
+			 testsuite \
+			 tools \
+			 vector \
+			 visualization
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
 # that are symbolic links (a Unix filesystem feature) are excluded from the input.

Modified: grass/trunk/include/Make/Doxyfile_arch_latex.in
===================================================================
--- grass/trunk/include/Make/Doxyfile_arch_latex.in	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/include/Make/Doxyfile_arch_latex.in	2010-06-22 10:28:54 UTC (rev 42629)
@@ -448,7 +448,33 @@
 # excluded from the INPUT source files. This way you can easily exclude a 
 # subdirectory from a directory tree whose root is specified with the INPUT tag.
 
-EXCLUDE                = 
+EXCLUDE                = bin.* \
+		         db \
+			 debian \
+			 demolocation \
+			 display \
+			 dist.* \
+			 doc \
+			 general \
+		         gui/wxpython/vdigit \
+			 gui/wxpython/nviz \
+			 imagery \
+                         lib/python/ctypes \
+			 locale \
+			 macosx \
+			 man \
+			 misc \
+			 mswindows \
+			 ps \
+			 raster \
+			 raster3d \
+			 rpm \
+			 scripts \
+			 sites \
+			 testsuite \
+			 tools \
+			 vector \
+			 visualization
 
 # The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories 
 # that are symbolic links (a Unix filesystem feature) are excluded from the input.


Property changes on: grass/trunk/lib
___________________________________________________________________
Deleted: svn:ignore
   - html
latex


Modified: grass/trunk/lib/Makefile
===================================================================
--- grass/trunk/lib/Makefile	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/lib/Makefile	2010-06-22 10:28:54 UTC (rev 42629)
@@ -46,11 +46,7 @@
 	iostream \
 	manage
 
-#doxygen:
-DOXNAME=grass
-
 include $(MODULE_TOPDIR)/include/Make/Dir.make
-include $(MODULE_TOPDIR)/include/Make/Doxygen.make
 
 default: subdirs
 

Deleted: grass/trunk/lib/grass7_arch.png
===================================================================
(Binary files differ)

Deleted: grass/trunk/lib/grasslib.dox
===================================================================
--- grass/trunk/lib/grasslib.dox	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/lib/grasslib.dox	2010-06-22 10:28:54 UTC (rev 42629)
@@ -1,360 +0,0 @@
-/*! \mainpage GRASS 7 Programmer's Manual
-<!-- * doxygenized from "GRASS 5 Programmer's Manual"
-       by M. Neteler 2/2004
-     * updated 8/2005, 2006, 2007, 2008
-  -->
-
-<a href="http://grass.osgeo.org">GRASS GIS</a> (<b>Geographic
-Resources Analysis Support System</b>) is an open source, Free
-Software <em>Geographical Information System</em> (GIS) with raster,
-topological %vector, image processing, and graphics production
-functionality that operates on various platforms through a graphical
-user interface (GUI) or command line interface (CLI). It is released
-under GNU General Public License (GPL).
-
-This manual introduces the reader to the <i>Geographic Resources
-Analysis Support System</i> from the programming perspective. Design
-theory, system support libraries, system maintenance, and system
-enhancement are all presented. Standard GRASS 4.x conventions are
-still used in much of the code. This work is part of ongoing research
-being performed by the <a
-href="http://grass.osgeo.org/community/team.php">GRASS Development
-Team</a>, an international team of programmers, GRASS module authors
-are cited within their module's source code and the contributed manual
-pages.
-
-&copy; 2000-2009 GRASS Development Team<br> Published
-under GNU Free Documentation License (GFDL)
-http://www.fsf.org/copyleft/fdl.html
-
-This manual comes with ABSOLUTELY NO WARRANTY. The development of
-GRASS software and this manual is kindly supported by the <a
-href="http://www.osgeo.org">Open Source Geospatial Foundation</a>, who
-provides the GRASS main infrastructure.
-
-Main web site: <a
-href="http://grass.osgeo.org">http://grass.osgeo.org</a>
-
-<b>Table of contents</b>
-
-- \subpage corelibs
-- \subpage libs
-- \subpage interfaces
-- \subpage gui
-- \subpage location
-- \subpage Compiling_and_Installing_GRASS_Modules
- - \subpage Makefile_Variables
- - \subpage Constructing_a_Makefile
- - \subpage Multiple_Architecture_Conventions
-- \subpage vectmodules
- - \subpage vectmodules_oper
-
-<i>Missing entries below are either not yet uploaded to SVN (need to
-be migrated from GRASS 5 Programmer's manual) or are simply
-undocumented.</i>
-
-<!-- original:
-  http://trac.osgeo.org/grass/browser/grass-web/trunk/images/grass7_arch.odp
--->
-\image html "grass7_arch.png" "GRASS 7 Architecture"
-
-<p>
-<b>PLEASE UPDATE FOR GRASS 7</b>
-
-\section corelibs Principal library
-
-(the name refers to the directory name in lib/ in the source code)
-
- - gis: \ref gislib
- - raster: \ref rasterlib
- - vector: \ref vectorlib
-
-\section libs Further libraries
-
-(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
- - 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?)
- - 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?)
- - ogsf:	\ref ogsflib (OpenGL (R) ported gsurf library (required for NVIZ))
- - pngdriver:   PNG display driver library - \ref pngdriver
- - proj:	\ref projlib (wrapper to PROJ4 projection library)
- - psdriver:    PostScript display driver library - \ref psdriver
- - python:      \ref pythonlib
- - raster:	\ref rasterlib
- - rowio:	\ref rowiolib
- - rst:	Library for interpolation with regularized splines with tension - \ref rst
- - 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
- - 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
- - nviz:        \ref nvizlib (used by wxGUI Nviz extension and CLI-based Nviz module)
-<!--<li>image3:	extra imagery library (mainly still unused) - \ref image3lib-->
-<!--<li>D:		display library - \ref d_displaylib-->
-<!--<li>front.end:	interface for interactive modules library - \ref frontend-->
-
-\section interfaces Interfaces
-
- - GRASS <a href="http://download.osgeo.org/grass/grass7_progman/swig/">SWIG interface</a>
- - \ref pythonlib
-
-\section gui GUI
-
- - <a href="http://download.osgeo.org/grass/grass7_progman/gui/wxpython/">wxGUI</a></li>
-
-\section location File structure of GRASS Location
-
-A GRASS <b>raster map</b> consists of several files in several subdirectories in a mapset,
-organized as follows:
-
- - <b>cellhd/</b>:
-  map header including projection code, coordinates representing
-  the spatial extent of the raster map, number of rows and columns, resolution, 
-  and information about map compression;</li>
- - <b>cell/, fcell/ or grid3/</b>:
-  generic matrix of values in a compressed, portable
-  format which depends on the raster data type (integer, floating %point or 3D grid);</li>
- - <b>hist/</b>:
-  history file which contains metadata such as the data source,
-  the command that was used to generate the raster map, or
-  other information provided by the user;</li>
- - <b>cats/</b>: 
-  optional category file which contains text or numeric labels assigned
-  to the raster map categories;</li>
- - <b>colr/</b>: 
-  optional color table;</li>
- - <b>cell_misc/</b>: 
-  optional timestamp, range of values, quantization rules (for floating %point maps)
-  and null (no-data) files; </li>
-
-A GRASS <b>%vector maps</b> are stored in several separate files in a
-single directory (see \ref vectorlib). While the
-attributes are stored in either a DBF file, a SQLite file or in an
-external DBMS (PostgreSQL, MySQL, ODBC), the geometric data are saved
-as follows:
-
- - <b>head</b>: %vector map ASCII header with information about the map creation
-  (date and name), its scale and threshold;</li>
- - <b>coor</b>: binary geometry file which includes the coordinates of graphic
-  elements (primitives) that define the %vector feature;</li>
- - <b>topo</b>: binary topology file describes the spatial relationships between the
-  map's graphic elements;</li>
- - <b>hist</b>: history ASCII file with complete commands that were used to
-  create the %vector map, as well as the name and date/time of the map
-  creation;</li>
- - <b>cidx</b>: binary category index file which is used to %link the %vector
-  object IDs to the attribute table rows;</li>
- - <b>dbln</b>: ASCII file which contains definition(s) of %link to attribute
-  storage in database (DBMS).</li>
-
-<!-- original: 
-  http://trac.osgeo.org/grass/browser/grass-web/trunk/images/loc_struct.odg
--->
-\image html "loc_struct.png" "Diagram of GRASS file structure"
-
-\section Compiling_and_Installing_GRASS_Modules Compiling and Installing GRASS Modules
-
-GRASS modules are compiled and installed using the UNIX <tt>make</tt>
-command, which reads a file named <tt>Makefile</tt> (see \ref
-Multiple_Architecture_Conventions for more information) and then runs
-the compiler. The GRASS compilation process allows for
-multiple-architecture compilation from a single copy of the source
-code (for instance, if the source code is NFS mounted to various
-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
-./configure
-make
-make install
-\endverbatim
-
-Then the code will be compiled into "/usr/local/grass-7.x.y" directory. The start
-script "grass7x" will be placed into "/usr/local/bin/".
-
-Optionally other target directories can be specified while "configuring":
-
-\verbatim
-./configure --prefix=/opt/grass-7.x.y --with-bindir=/usr/bin
-make
-make install
-\endverbatim
-
-This will store the GRASS binaries into the directory
-"/opt/grass-7.x.y" and the script mentioned above into "/usr/bin".
-
-The script "make" is required to compile single modules. The
-compilation process and requirements are discussed in more detail now.
-
-\subsection Makefile_Variables Makefile Variables
-
-\todo Update the list.
-
-<b>GRASS Libraries</b>. The following variables name the various GRASS 
-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
-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
-<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>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.
-
-<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
-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
-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
-from a list of dependencies (e.g. object files, libraries, etc.). The
-relationship between the target, its dependencies, and the rules for
-constructing the target is expressed according to the following
-syntax:
-
-\code
-target: dependencies
-
-actions
-
-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.
-
-\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.
-
-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>
-and LIB.<tt>arch</tt>, where <tt>arch</tt> represents the architecture
-of the compiling machine. Thus, for example, $SRC/OBJ.sun4 would
-contain the object files for Sun/4 and SPARC architectures, and
-<tt>$SRC/LIB.686-pc-linux-gnu</tt> would contain library archives for
-Linux architectures. Likewise, <tt>$SRC/OBJ.686-pc-linux-gnu</tt>
-would contain the object files for Linux architectures, and
-<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.
-
-\section vectmodules Vector modules and their parameters/flags
-
-A module is a GRASS command invoked by the user.
-
-\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>.
-
-Topology is always built by default if the coor file was modified.
-
-Dimensionality is generally kept. Input 2D vector is written as 2D, 3D
-as 3D. There are a few modules which change the dimension on purpose.
-
-\subsection vectmodulesopt Modules parameters/flags
-
-<b>-b</b> do not build topo file; by default topo file is written
-
-<b>-t</b> create new table, default
-
-<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
-
-<b>input=</b> input vector map
-
-<b>output=</b> output vector map
-
-<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>layer=</b> layer number
-
-<b>where=</b> condition of SQL statement for selection of records
-
-<b>column=</b> column name (in external table)
-
-*/

Modified: grass/trunk/swig/swiglib.dox
===================================================================
--- grass/trunk/swig/swiglib.dox	2010-06-21 23:12:55 UTC (rev 42628)
+++ grass/trunk/swig/swiglib.dox	2010-06-22 10:28:54 UTC (rev 42629)
@@ -1,4 +1,4 @@
-/*! \mainpage GRASS_SWIG_interface GRASS SWIG interface
+/*! \page swiglib GRASS SWIG interface
 
 <a href="http://grass.osgeo.org">GRASS GIS</a> (Geographic Resources
 Analysis Support System) is an open source, Free Software



More information about the grass-commit mailing list