[mapserver-commits] r8179 - trunk/docs/development/rfc

svn at osgeo.org svn at osgeo.org
Wed Dec 3 04:55:49 EST 2008


Author: tbonfort
Date: 2008-12-03 04:55:48 -0500 (Wed, 03 Dec 2008)
New Revision: 8179

Modified:
   trunk/docs/development/rfc/ms-rfc-48.txt
Log:
update with limitations and angle auto


Modified: trunk/docs/development/rfc/ms-rfc-48.txt
===================================================================
--- trunk/docs/development/rfc/ms-rfc-48.txt	2008-12-03 04:44:18 UTC (rev 8178)
+++ trunk/docs/development/rfc/ms-rfc-48.txt	2008-12-03 09:55:48 UTC (rev 8179)
@@ -52,21 +52,20 @@
 
 The GEOMETRYTRANSFORM keyword initially accepts these parameters :
 
-- *bbox(geom)* : render a shapeObj representing the bounding box of the 
-  underlying geometry
-- *buffer(geom,distance)* : render a shapeObj representing the buffered geometry.
+- *bbox([geom])* : render a shapeObj representing the bounding box of the 
+  underlying geometry. Not initially implemented.
+- *buffer([geom],distance)* : render a shapeObj representing the buffered geometry.
   "distance" specifies the buffer distance, in layer units. Not initially implemented.
-- *centroid(geom)* : render a pointObj at the location of the centroid of the
+- *centroid([geom])* : render a pointObj at the location of the centroid of the
   geometry
-- *convexhull(geom)* : not initially implemented
-- *start/end(the_geom)* : render a point symbol at the first/last vertex of the
+- *convexhull([geom])* : not initially implemented
+- *start/end([geom])* : render a point symbol at the first/last vertex of the
   underlying geometry. By default, the symbol is oriented to match the 
   orientation of the corresponding geometry segment. This would be used
   to add arrowheads/tails to linestrings.
-- *vertices(geom[,option]* : render a point symbol at each vertex of the geometry.
+- *vertices([geom])* : render a point symbol at each vertex of the geometry.
   The default orientation matches the half angle of the corresponding segments. 
-  The option keyword, specifies if the start and or end vertices should also be 
-  included in the transformation.
+  The start and end vertices are not included in the transformation.
 
 Implementation Details
 ------------------------------------------------------------------------------
@@ -75,14 +74,18 @@
 the modifications of this RFC only affect the high-level rendering functions
 in mapdraw.c .
 
-There are two main modifications:
+There are three main modifications:
 
+- AUTO is added to the ANGLE parser for the STYLE block. styleObj has an autoangle
+  member added accordingly.
+
 - inside msDrawVectorLayer, a copy of the shape before being clipped by the
   current extent must be kept, as the whole shape must be used for all but
   the VERTICES type. Then, when looping through the different styles that 
   can be applied, we switch off to the type-specific function if a GEOMETRYTRANSFORM 
   keyword is set.
-- inside mapdraw.c, the type-specific drawing function is added. Depending
+
+- inside mapgeomtransform.c, the type-specific drawing function is added. Depending
   on the current style type, it either computes a new shape from the
   original shape (types bbox, convexhull or buffer) and passes it to the
   msDrawShadeSymbol, or calls msDrawMarkerSymbol for points of the original
@@ -93,12 +96,24 @@
 ------------------------------------------------------------------------------
 
 - mapdraw.c
+
 - maplexer.c/.l
+
 - mapfile.c
+
 - mapserver.h
-- one or more files may be added for the parsing of the transform expression, and
-  the transformation itself.
 
+- mapgeometrytransform.c is added, for the parsing of the transform expression,
+  the transformation itself, and the calling of msDrawMarkerSymbol /
+  msDrawShadeSymbol functions
+
+Limitations
+------------------------------------------------------------------------------
+
+For line layers, the transformations do not fit in with the current cache
+mechanism that draws the first style of each class in a first pass for all
+shapes, and the remaining styles in a second pass. 
+
 MapScript implications
 ------------------------------------------------------------------------------
 



More information about the mapserver-commits mailing list