[fusion-commits] r2778 - in sandbox/redline_advanced_stylization/widgets/Redline: classes templates

svn_fusion at osgeo.org svn_fusion at osgeo.org
Wed Sep 11 23:07:50 PDT 2013


Author: jng
Date: 2013-09-11 23:07:50 -0700 (Wed, 11 Sep 2013)
New Revision: 2778

Modified:
   sandbox/redline_advanced_stylization/widgets/Redline/classes/markupmanager.php
   sandbox/redline_advanced_stylization/widgets/Redline/templates/markuplayerdefinition_advanced.xml
Log:
#595: More redline changes for Advanced Stylization. 
 - Re-order some of the SymbolInstance elements to ensure labels were shown
 - Implement empty stub functions in MarkupManager
This gives us drawn redlines which approximate the desired look equivalent to the basic stylization one with the current default style settings.

Modified: sandbox/redline_advanced_stylization/widgets/Redline/classes/markupmanager.php
===================================================================
--- sandbox/redline_advanced_stylization/widgets/Redline/classes/markupmanager.php	2013-09-11 08:01:44 UTC (rev 2777)
+++ sandbox/redline_advanced_stylization/widgets/Redline/classes/markupmanager.php	2013-09-12 06:07:50 UTC (rev 2778)
@@ -169,7 +169,8 @@
         $resourceService = $this->site->CreateService(MgServiceType::ResourceService);
         $br = $resourceService->GetResourceContent($resId);
 
-        $doc = DOMDocument::LoadXML($br->ToString());
+        $doc = new DOMDocument();
+        $doc->loadXML($br->ToString());
         $vsr = $doc->getElementsByTagName("VectorScaleRange")->item(0);
 
         $pts = $vsr->getElementsByTagName("PointTypeStyle");
@@ -368,16 +369,47 @@
     
     static function GetMarkerSize($markerSize, $markerUnits)
     {
-        return 1.0;
+        return MarkupManager::GetLineThickness($markerSize, $markerUnits);
     }
     
     static function GetLinePatternGeometry($pattern)
     {
+        if (strcmp($pattern, "Solid") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_solid.templ");
+        } else if (strcmp($pattern, "Border") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_border.templ");
+        } else if (strcmp($pattern, "Dash") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_dash.templ");
+        } else if (strcmp($pattern, "DashDot") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_dashdot.templ");
+        } else if (strcmp($pattern, "DashDotDot") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_dashdotdot.templ");
+        } else if (strcmp($pattern, "Divide") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_divide.templ");
+        } else if (strcmp($pattern, "Fenceline1") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_fenceline1.templ");
+        } else if (strcmp($pattern, "Rail") == 0) {
+            return file_get_contents(dirname(__FILE__)."/../templates/line_rail.templ");
+        } else {
+            throw new Exception("Unsupported or unrecognized line pattern: $pattern");
+        }
     }
     
     static function GetLineThickness($thickness, $units)
     {
-        return 1.0;
+        if (strcmp($units, "Points") == 0) {
+            return floatval($thickness) * 0.352777778;
+        } else if (strcmp($units, "Inches") == 0) {
+            return floatval($thickness) * 25.4;
+        } else if (strcmp($units, "Millimeters") == 0) {
+            return floatval($thickness);
+        } else if (strcmp($units, "Centimeters") == 0) {
+            return floatval($thickness) * 10;
+        } else if (strcmp($units, "Meters") == 0) {
+            return floatval($thickness) * 1000;
+        } else {
+            throw new Exception("Unsupported or unrecognized unit: $units");
+        }
     }
     
     static function GetFillPatternTemplate($pattern)
@@ -411,7 +443,7 @@
         } else if (strcmp($pattern, "Steel") == 0) {
             return file_get_contents(dirname(__FILE__)."/../templates/area_steel.templ");
         } else {
-            throw new Exception("Unsupported or unrecognized pattern: $pattern");
+            throw new Exception("Unsupported or unrecognized fill pattern: $pattern");
         }
     }
     
@@ -711,7 +743,8 @@
         $extension = $this->GetFileExtension($markupLayerResId->ToString());
         if (strcmp($extension, ".zip") == 0) {
             $dataList = $resourceService->EnumerateResourceData($markupFsId);
-            $doc = DOMDocument::LoadXML($dataList->ToString());
+            $doc = new DOMDocument();
+            $doc->loadXML($dataList->ToString());
             $dataItems = $doc->getElementsByTagName("Name");
             $tmpFiles = array();
             //Copy out all data files to a temp location

Modified: sandbox/redline_advanced_stylization/widgets/Redline/templates/markuplayerdefinition_advanced.xml
===================================================================
--- sandbox/redline_advanced_stylization/widgets/Redline/templates/markuplayerdefinition_advanced.xml	2013-09-11 08:01:44 UTC (rev 2777)
+++ sandbox/redline_advanced_stylization/widgets/Redline/templates/markuplayerdefinition_advanced.xml	2013-09-12 06:07:50 UTC (rev 2778)
@@ -10,12 +10,150 @@
     </PropertyMapping>
     <Geometry>Geometry</Geometry>
     <VectorScaleRange>
+      <!-- Point Style -->
       <CompositeTypeStyle>
         <CompositeRule>
           <LegendLabel />
           <CompositeSymbolization>
+            <!-- Point symbol -->
             <SymbolInstance>
               <SimpleSymbolDefinition>
+                <Name>Square</Name>
+                <Description>Default Point Symbol</Description>
+                <Graphics>
+                  <Path>
+                    <!-- 
+                    Square:     M -1.0,-1.0 L 1.0,-1.0 L 1.0,1.0 L -1.0,1.0 L -1.0,-1.0
+                    Circle:     M -1,0 A 1,1 0 1 1 1,0 A 1,1 0 1 1 -1,0
+                    Triangle:   M -1.0,-1.0 h 2.0 l -1.0,2.0 z
+                    Star:       M -0.618033988749895,-0.951056516295154 L 0,-0.502028539715568 L 0.618033988749895,-0.951056516295154 L 0.381966011250105,-0.273457471994639 L 1,0.175570504584946 L 0.23606797749979,0.175570504584946 L 0,0.951056516295154 L -0.23606797749979,0.175570504584946 L -1,0.175570504584946 L -0.381966011250105,-0.273457471994639 L -0.618033988749895,-0.951056516295154
+                    Cross:      M -0.190983005625053,-1 L 0.190983005625053,-1 L 0.190983005625053,-0.190983005625053 L 1,-0.190983005625053 L 1,0.190983005625053 L 0.190983005625053,0.190983005625053 L 0.190983005625053,1 L -0.190983005625053,1 L -0.190983005625053,0.190983005625053 L -1,0.190983005625053 L -1,-0.190983005625053 L -0.190983005625053,-0.190983005625053 L -0.190983005625053,-1
+                    X:          M -0.459818486524547,-1 L 0,-0.540181513475453 L 0.459818486524547,-1 L 1,-0.459818486524547 L 0.540181513475453,0 L 1,0.459818486524547 L 0.459818486524547,1 L 0,0.540181513475453 L -0.459818486524547,1 L -1,0.459818486524547 L -0.540181513475453,0 L -1,-0.459818486524547 L -0.459818486524547,-1
+                    Star-Old:   M -0.707106781186548,0.707106781186548 L 0.707106781186548,-0.707106781186548 M -0.707106781186548,-0.707106781186548 L 0.707106781186548,0.707106781186548 M -1,0 L 1,0 M 0,-1 L 0,1
+                    Cross-Old:  M -1,0 L 1,0 M 0,-1 L 0,1
+                    X-Old:      M -0.707106781186548,0.707106781186548 L 0.707106781186548,-0.707106781186548 M -0.707106781186548,-0.707106781186548 L 0.707106781186548,0.707106781186548
+                    -->
+                    <Geometry>#{MARKER_GEOMETRY}</Geometry>
+                    <ScaleX>%SCALEX%</ScaleX>
+                    <ScaleY>%SCALEY%</ScaleY>
+                    <FillColor>%FILLCOLOR%</FillColor>
+                    <LineColor>%LINECOLOR%</LineColor>
+                    <LineWeight>%LINEWEIGHT%</LineWeight>
+                    <LineCap>%LINECAP%</LineCap>
+                    <LineJoin>%LINEJOIN%</LineJoin>
+                  </Path>
+                </Graphics>
+                <PointUsage>
+                  <Angle>%ROTATION%</Angle>
+                </PointUsage>
+                <ParameterDefinition>
+                  <Parameter>
+                    <Identifier>FILLCOLOR</Identifier>
+                    <DefaultValue>0xffffffff</DefaultValue>
+                    <DisplayName>&Fill Color</DisplayName>
+                    <Description>Fill Color</Description>
+                    <DataType>FillColor</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>LINECOLOR</Identifier>
+                    <DefaultValue>0xff000000</DefaultValue>
+                    <DisplayName>Line &Color</DisplayName>
+                    <Description>Line Color</Description>
+                    <DataType>LineColor</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>LINEWEIGHT</Identifier>
+                    <DefaultValue>0.0</DefaultValue>
+                    <DisplayName>Line &Thickness</DisplayName>
+                    <Description>Line Thickness</Description>
+                    <DataType>LineWeight</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>ROTATION</Identifier>
+                    <DefaultValue>0.0</DefaultValue>
+                    <DisplayName>&Rotation</DisplayName>
+                    <Description>Rotation</Description>
+                    <DataType>Angle</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>SCALEX</Identifier>
+                    <DefaultValue>1.0</DefaultValue>
+                    <DisplayName>Path ScaleX</DisplayName>
+                    <Description>Path ScaleX</Description>
+                    <DataType>Real</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>SCALEY</Identifier>
+                    <DefaultValue>1.0</DefaultValue>
+                    <DisplayName>Path ScaleY</DisplayName>
+                    <Description>Path ScaleY</Description>
+                    <DataType>Real</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>LINECAP</Identifier>
+                    <DefaultValue>'Round'</DefaultValue>
+                    <DisplayName>Line Cap</DisplayName>
+                    <Description>The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.</Description>
+                    <DataType>String</DataType>
+                  </Parameter>
+                  <Parameter>
+                    <Identifier>LINEJOIN</Identifier>
+                    <DefaultValue>'Round'</DefaultValue>
+                    <DisplayName>Line Join</DisplayName>
+                    <Description>The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</Description>
+                    <DataType>String</DataType>
+                  </Parameter>
+                </ParameterDefinition>
+              </SimpleSymbolDefinition>
+              <ParameterOverrides>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>SCALEX</ParameterIdentifier>
+                  <ParameterValue>#{MARKER_SIZE_X}</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>SCALEY</ParameterIdentifier>
+                  <ParameterValue>#{MARKER_SIZE_Y}</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>FILLCOLOR</ParameterIdentifier>
+                  <ParameterValue>0x#{MARKER_COLOR}</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>LINECOLOR</ParameterIdentifier>
+                  <ParameterValue>0x#{MARKER_COLOR}</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>LINEWEIGHT</ParameterIdentifier>
+                  <ParameterValue>0.0</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>ROTATION</ParameterIdentifier>
+                  <ParameterValue>0.0</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>LINECAP</ParameterIdentifier>
+                  <ParameterValue>'Round'</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>Square</SymbolName>
+                  <ParameterIdentifier>LINEJOIN</ParameterIdentifier>
+                  <ParameterValue>'Round'</ParameterValue>
+                </Override>
+              </ParameterOverrides>
+              <AddToExclusionRegion>true</AddToExclusionRegion>
+              <UsageContext>Point</UsageContext>
+              <GeometryContext>Point</GeometryContext>
+            </SymbolInstance>
+            <!-- Point label -->
+            <SymbolInstance>
+              <SimpleSymbolDefinition>
                 <Name>MTEXT</Name>
                 <Description>Default MTEXT Symbol</Description>
                 <Graphics>
@@ -269,152 +407,21 @@
                 </Override>
               </ParameterOverrides>
               <DrawLast>true</DrawLast>
+              <CheckExclusionRegion>true</CheckExclusionRegion>
+              <AddToExclusionRegion>true</AddToExclusionRegion>
               <PositioningAlgorithm>'EightSurrounding'</PositioningAlgorithm>
               <UsageContext>Point</UsageContext>
               <GeometryContext>Point</GeometryContext>
             </SymbolInstance>
-            <SymbolInstance>
-              <SimpleSymbolDefinition>
-                <Name>Square</Name>
-                <Description>Default Point Symbol</Description>
-                <Graphics>
-                  <Path>
-                    <!-- 
-                    Square:     M -1.0,-1.0 L 1.0,-1.0 L 1.0,1.0 L -1.0,1.0 L -1.0,-1.0
-                    Circle:     M -1,0 A 1,1 0 1 1 1,0 A 1,1 0 1 1 -1,0
-                    Triangle:   M -1.0,-1.0 h 2.0 l -1.0,2.0 z
-                    Star:       M -0.618033988749895,-0.951056516295154 L 0,-0.502028539715568 L 0.618033988749895,-0.951056516295154 L 0.381966011250105,-0.273457471994639 L 1,0.175570504584946 L 0.23606797749979,0.175570504584946 L 0,0.951056516295154 L -0.23606797749979,0.175570504584946 L -1,0.175570504584946 L -0.381966011250105,-0.273457471994639 L -0.618033988749895,-0.951056516295154
-                    Cross:      M -0.190983005625053,-1 L 0.190983005625053,-1 L 0.190983005625053,-0.190983005625053 L 1,-0.190983005625053 L 1,0.190983005625053 L 0.190983005625053,0.190983005625053 L 0.190983005625053,1 L -0.190983005625053,1 L -0.190983005625053,0.190983005625053 L -1,0.190983005625053 L -1,-0.190983005625053 L -0.190983005625053,-0.190983005625053 L -0.190983005625053,-1
-                    X:          M -0.459818486524547,-1 L 0,-0.540181513475453 L 0.459818486524547,-1 L 1,-0.459818486524547 L 0.540181513475453,0 L 1,0.459818486524547 L 0.459818486524547,1 L 0,0.540181513475453 L -0.459818486524547,1 L -1,0.459818486524547 L -0.540181513475453,0 L -1,-0.459818486524547 L -0.459818486524547,-1
-                    Star-Old:   M -0.707106781186548,0.707106781186548 L 0.707106781186548,-0.707106781186548 M -0.707106781186548,-0.707106781186548 L 0.707106781186548,0.707106781186548 M -1,0 L 1,0 M 0,-1 L 0,1
-                    Cross-Old:  M -1,0 L 1,0 M 0,-1 L 0,1
-                    X-Old:      M -0.707106781186548,0.707106781186548 L 0.707106781186548,-0.707106781186548 M -0.707106781186548,-0.707106781186548 L 0.707106781186548,0.707106781186548
-                    -->
-                    <Geometry>#{MARKER_GEOMETRY}</Geometry>
-                    <ScaleX>%SCALEX%</ScaleX>
-                    <ScaleY>%SCALEY%</ScaleY>
-                    <FillColor>%FILLCOLOR%</FillColor>
-                    <LineColor>%LINECOLOR%</LineColor>
-                    <LineWeight>%LINEWEIGHT%</LineWeight>
-                    <LineCap>%LINECAP%</LineCap>
-                    <LineJoin>%LINEJOIN%</LineJoin>
-                  </Path>
-                </Graphics>
-                <PointUsage>
-                  <Angle>%ROTATION%</Angle>
-                </PointUsage>
-                <ParameterDefinition>
-                  <Parameter>
-                    <Identifier>FILLCOLOR</Identifier>
-                    <DefaultValue>0xffffffff</DefaultValue>
-                    <DisplayName>&Fill Color</DisplayName>
-                    <Description>Fill Color</Description>
-                    <DataType>FillColor</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINECOLOR</Identifier>
-                    <DefaultValue>0xff000000</DefaultValue>
-                    <DisplayName>Line &Color</DisplayName>
-                    <Description>Line Color</Description>
-                    <DataType>LineColor</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINEWEIGHT</Identifier>
-                    <DefaultValue>0.0</DefaultValue>
-                    <DisplayName>Line &Thickness</DisplayName>
-                    <Description>Line Thickness</Description>
-                    <DataType>LineWeight</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>ROTATION</Identifier>
-                    <DefaultValue>0.0</DefaultValue>
-                    <DisplayName>&Rotation</DisplayName>
-                    <Description>Rotation</Description>
-                    <DataType>Angle</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>SCALEX</Identifier>
-                    <DefaultValue>1.0</DefaultValue>
-                    <DisplayName>Path ScaleX</DisplayName>
-                    <Description>Path ScaleX</Description>
-                    <DataType>Real</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>SCALEY</Identifier>
-                    <DefaultValue>1.0</DefaultValue>
-                    <DisplayName>Path ScaleY</DisplayName>
-                    <Description>Path ScaleY</Description>
-                    <DataType>Real</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINECAP</Identifier>
-                    <DefaultValue>'Round'</DefaultValue>
-                    <DisplayName>Line Cap</DisplayName>
-                    <Description>The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.</Description>
-                    <DataType>String</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINEJOIN</Identifier>
-                    <DefaultValue>'Round'</DefaultValue>
-                    <DisplayName>Line Join</DisplayName>
-                    <Description>The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</Description>
-                    <DataType>String</DataType>
-                  </Parameter>
-                </ParameterDefinition>
-              </SimpleSymbolDefinition>
-              <ParameterOverrides>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>SCALEX</ParameterIdentifier>
-                  <ParameterValue>#{MARKER_SIZE_X}</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>SCALEY</ParameterIdentifier>
-                  <ParameterValue>#{MARKER_SIZE_Y}</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>FILLCOLOR</ParameterIdentifier>
-                  <ParameterValue>0x${MARKER_COLOR}</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>LINECOLOR</ParameterIdentifier>
-                  <ParameterValue>0x${MARKER_COLOR}</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>LINEWEIGHT</ParameterIdentifier>
-                  <ParameterValue>0.0</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>ROTATION</ParameterIdentifier>
-                  <ParameterValue>0.0</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>LINECAP</ParameterIdentifier>
-                  <ParameterValue>'Round'</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>Square</SymbolName>
-                  <ParameterIdentifier>LINEJOIN</ParameterIdentifier>
-                  <ParameterValue>'Round'</ParameterValue>
-                </Override>
-              </ParameterOverrides>
-              <AddToExclusionRegion>true</AddToExclusionRegion>
-              <UsageContext>Point</UsageContext>
-              <GeometryContext>Point</GeometryContext>
-            </SymbolInstance>
           </CompositeSymbolization>
         </CompositeRule>
       </CompositeTypeStyle>
+      <!-- Line style -->
       <CompositeTypeStyle>
         <CompositeRule>
           <LegendLabel />
           <CompositeSymbolization>
+            <!-- Line Label -->
             <SymbolInstance>
               <SimpleSymbolDefinition>
                 <Name>MTEXT</Name>
@@ -683,98 +690,37 @@
               <UsageContext>Line</UsageContext>
               <GeometryContext>LineString</GeometryContext>
             </SymbolInstance>
+            <!-- Line pattern symbol -->
             <SymbolInstance>
-              <SimpleSymbolDefinition>
-                <Name>Solid Line</Name>
-                <Description>Default Line Symbol</Description>
-                <Graphics>
-                  <Path>
-                    <Geometry>#{LINE_PATTERN_GEOMETRY}</Geometry>
-                    <ScaleX>%SCALEX%</ScaleX>
-                    <ScaleY>%SCALEY%</ScaleY>
-                    <LineColor>%LINECOLOR%</LineColor>
-                    <LineWeight>%LINEWEIGHT%</LineWeight>
-                    <LineWeightScalable>false</LineWeightScalable>
-                    <LineCap>%LINECAP%</LineCap>
-                    <LineJoin>%LINEJOIN%</LineJoin>
-                  </Path>
-                </Graphics>
-                <LineUsage>
-                  <Repeat>1.0</Repeat>
-                </LineUsage>
-                <ParameterDefinition>
-                  <Parameter>
-                    <Identifier>LINECOLOR</Identifier>
-                    <DefaultValue>0xff000000</DefaultValue>
-                    <DisplayName>Line &Color</DisplayName>
-                    <Description>Line Color</Description>
-                    <DataType>LineColor</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINEWEIGHT</Identifier>
-                    <DefaultValue>0.0</DefaultValue>
-                    <DisplayName>Line &Thickness</DisplayName>
-                    <Description>Line Thickness</Description>
-                    <DataType>LineWeight</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>SCALEX</Identifier>
-                    <DefaultValue>1.0</DefaultValue>
-                    <DisplayName>Path ScaleX</DisplayName>
-                    <Description>Path ScaleX</Description>
-                    <DataType>Real</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>SCALEY</Identifier>
-                    <DefaultValue>1.0</DefaultValue>
-                    <DisplayName>Path ScaleY</DisplayName>
-                    <Description>Path ScaleY</Description>
-                    <DataType>Real</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINECAP</Identifier>
-                    <DefaultValue>'Round'</DefaultValue>
-                    <DisplayName>Line Cap</DisplayName>
-                    <Description>The cap type to use at the ends of each segment in the path outline.  This must evaluate to one of: None, Round (default), Triangle, or Square.</Description>
-                    <DataType>String</DataType>
-                  </Parameter>
-                  <Parameter>
-                    <Identifier>LINEJOIN</Identifier>
-                    <DefaultValue>'Round'</DefaultValue>
-                    <DisplayName>Line Join</DisplayName>
-                    <Description>The join type to use at each vertex in the path outline.  This must evaluate to one of: None, Bevel, Round (default), or Miter.</Description>
-                    <DataType>String</DataType>
-                  </Parameter>
-                </ParameterDefinition>
-              </SimpleSymbolDefinition>
+              #{LINE_PATTERN_GEOMETRY}
               <ParameterOverrides>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>LINEWEIGHT</ParameterIdentifier>
                   <ParameterValue>#{LINE_THICKNESS}</ParameterValue>
                 </Override>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>LINECOLOR</ParameterIdentifier>
                   <ParameterValue>0x#{LINE_COLOR}</ParameterValue>
                 </Override>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>SCALEX</ParameterIdentifier>
                   <ParameterValue>1.0</ParameterValue>
                 </Override>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>SCALEY</ParameterIdentifier>
                   <ParameterValue>1.0</ParameterValue>
                 </Override>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>LINECAP</ParameterIdentifier>
                   <ParameterValue>'Round'</ParameterValue>
                 </Override>
                 <Override>
-                  <SymbolName>Solid Line</SymbolName>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
                   <ParameterIdentifier>LINEJOIN</ParameterIdentifier>
                   <ParameterValue>'Round'</ParameterValue>
                 </Override>
@@ -785,10 +731,12 @@
           </CompositeSymbolization>
         </CompositeRule>
       </CompositeTypeStyle>
+      <!-- Polygon Style -->
       <CompositeTypeStyle>
         <CompositeRule>
           <LegendLabel />
           <CompositeSymbolization>
+            <!-- Fill Pattern Symbol -->
             <SymbolInstance>
               #{FILL_PATTERN_TEMPLATE}
               <ParameterOverrides>
@@ -800,6 +748,7 @@
               </ParameterOverrides>
               <GeometryContext>Polygon</GeometryContext>
             </SymbolInstance>
+            <!-- Foreground Fill -->
             <SymbolInstance>
               <SimpleSymbolDefinition>
                 <Name>AREA_SOLID</Name>
@@ -863,7 +812,26 @@
                 </Override>
               </ParameterOverrides>
             </SymbolInstance>
+            <!-- Polygon border -->
             <SymbolInstance>
+              #{BORDER_PATTERN_TEMPLATE}
+              <ParameterOverrides>
+                <Override>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
+                  <ParameterIdentifier>LINEWEIGHT</ParameterIdentifier>
+                  <ParameterValue>#{BORDER_THICKNESS}</ParameterValue>
+                </Override>
+                <Override>
+                  <SymbolName>LINE_SYMBOL</SymbolName>
+                  <ParameterIdentifier>LINECOLOR</ParameterIdentifier>
+                  <ParameterValue>0x#{BORDER_COLOR}</ParameterValue>
+                </Override>
+              </ParameterOverrides>
+              <UsageContext>Line</UsageContext>
+              <GeometryContext>Polygon</GeometryContext>
+            </SymbolInstance>
+            <!-- Polygon Label -->
+            <SymbolInstance>
               <SimpleSymbolDefinition>
                 <Name>MTEXT</Name>
                 <Description>Default MTEXT Symbol</Description>
@@ -1127,25 +1095,9 @@
                 </Override>
               </ParameterOverrides>
               <DrawLast>true</DrawLast>
+              <CheckExclusionRegion>true</CheckExclusionRegion>
+              <AddToExclusionRegion>true</AddToExclusionRegion>
               <PositioningAlgorithm>'Default'</PositioningAlgorithm>
-              <UsageContext>Line</UsageContext>
-              <GeometryContext>LineString</GeometryContext>
-            </SymbolInstance>
-            <SymbolInstance>
-              #{BORDER_PATTERN_TEMPLATE}
-              <ParameterOverrides>
-                <Override>
-                  <SymbolName>LINE_SYMBOL</SymbolName>
-                  <ParameterIdentifier>LINEWEIGHT</ParameterIdentifier>
-                  <ParameterValue>#{BORDER_THICKNESS}</ParameterValue>
-                </Override>
-                <Override>
-                  <SymbolName>LINE_SYMBOL</SymbolName>
-                  <ParameterIdentifier>LINECOLOR</ParameterIdentifier>
-                  <ParameterValue>0x#{BORDER_COLOR}</ParameterValue>
-                </Override>
-              </ParameterOverrides>
-              <UsageContext>Line</UsageContext>
               <GeometryContext>Polygon</GeometryContext>
             </SymbolInstance>
           </CompositeSymbolization>



More information about the fusion-commits mailing list