Merge remote-tracking branch 'origin/master' into mark-rounding-inference

This commit is contained in:
Nick Klose committed 2014-02-12 18:36:22 +01:00
commit b520ac4213
53 files changed
+1008 -269

No files matched your search

@@ -153,6 +153,10 @@ img.openColumn {
text-decoration: none;
}
.competitorInfo-Canvas {
pointer-events: none;
}
.gwt-DialogBox {
z-index: 20;
}
@@ -1,71 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.racemap;
import java.util.HashMap;
import java.util.Map;
import com.google.gwt.core.client.GWT;
/**
* A resolver utility for finding a boat image for a given boat class
* @author C5163874
*/
public class BoatClassImageDataResolver {
private static Map<String, BoatClassImageData> boatImagesMap;
private static Map<String, BoatClassImageData> compatibleBoatImagesMap;
private static BoatClassImageData defaultBoatImages;
private static BoatImageResources boatImageResources = GWT.create(BoatImageResources.class);
static {
boatImagesMap = new HashMap<String, BoatClassImageData>();
compatibleBoatImagesMap = new HashMap<String, BoatClassImageData>();
BoatClassImageData _470er = new BoatClassImageData("470er", 4.70, 44, 72, 42, "470");
_470er.setDownWindPortIcons(boatImageResources.class470er_DownWindPortIcon(), boatImageResources.class470er_DownWindPortIconSelected());
_470er.setDownWindStarboardIcons(boatImageResources.class470er_DownWindStarboardIcon(), boatImageResources.class470er_DownWindStarboardIconSelected());
_470er.setUpWindPortIcons(boatImageResources.class470er_UpWindPortIcon(), boatImageResources.class470er_UpWindPortIconSelected());
_470er.setUpWindStarboardIcons(boatImageResources.class470er_UpWindStarboardIcon(), boatImageResources.class470er_UpWindStarboardIconSelected());
_470er.setReachingPortIcons(boatImageResources.class470er_ReachingPortIcon(), boatImageResources.class470er_ReachingPortIconSelected());
_470er.setReachingStarboardIcons(boatImageResources.class470er_ReachingStarboardIcon(), boatImageResources.class470er_ReachingStarboardIconSelected());
BoatClassImageData _49er = new BoatClassImageData("49er", 4.90, 42, 67, 31, "49erFX", "49FX");
_49er.setDownWindPortIcons(boatImageResources.class49er_DownWindPortIcon(), boatImageResources.class49er_DownWindPortIconSelected());
_49er.setDownWindStarboardIcons(boatImageResources.class49er_DownWindStarboardIcon(), boatImageResources.class49er_DownWindStarboardIconSelected());
_49er.setUpWindPortIcons(boatImageResources.class49er_UpWindPortIcon(), boatImageResources.class49er_UpWindPortIconSelected());
_49er.setUpWindStarboardIcons(boatImageResources.class49er_UpWindStarboardIcon(), boatImageResources.class49er_UpWindStarboardIconSelected());
_49er.setReachingPortIcons(boatImageResources.class49er_ReachingPortIcon(), boatImageResources.class49er_ReachingPortIconSelected());
_49er.setReachingStarboardIcons(boatImageResources.class49er_ReachingStarboardIcon(), boatImageResources.class49er_ReachingStarboardIconSelected());
BoatClassImageData extreme40 = new BoatClassImageData("Extreme40", 12.2, 120, 153, 97);
extreme40.setDownWindPortIcons(boatImageResources.Extreme40_DownWindPortIcon(), boatImageResources.Extreme40_DownWindPortIconSelected());
extreme40.setDownWindStarboardIcons(boatImageResources.Extreme40_DownWindStarboardIcon(), boatImageResources.Extreme40_DownWindStarboardIconSelected());
extreme40.setUpWindPortIcons(boatImageResources.Extreme40_UpWindPortIcon(), boatImageResources.Extreme40_UpWindPortIconSelected());
extreme40.setUpWindStarboardIcons(boatImageResources.Extreme40_UpWindStarboardIcon(), boatImageResources.Extreme40_UpWindStarboardIconSelected());
extreme40.setReachingPortIcons(boatImageResources.Extreme40_ReachingPortIcon(), boatImageResources.Extreme40_ReachingPortIconSelected());
extreme40.setReachingStarboardIcons(boatImageResources.Extreme40_ReachingStarboardIcon(), boatImageResources.Extreme40_ReachingStarboardIconSelected());
defaultBoatImages = _470er;
boatImagesMap.put(_470er.getMainBoatClassName(), _470er);
boatImagesMap.put(_49er.getMainBoatClassName(), _49er);
boatImagesMap.put(extreme40.getMainBoatClassName(), extreme40);
}
public static BoatClassImageData resolveBoatClassImages(String boatClassName) {
BoatClassImageData result = defaultBoatImages;
if(boatImagesMap.containsKey(boatClassName)) {
result = boatImagesMap.get(boatClassName);
} else if (compatibleBoatImagesMap.containsKey(boatClassName)) {
result = compatibleBoatImagesMap.get(boatClassName);
} else {
// now try to find compatible boat class images
for(BoatClassImageData boatClassImageData: boatImagesMap.values()) {
if(boatClassImageData.isBoatClassNameCompatible(boatClassName)) {
result = boatClassImageData;
compatibleBoatImagesMap.put(boatClassName, boatClassImageData);
break;
}
}
}
return result;
}
}
@@ -1,120 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.racemap;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.ImageResource;
public interface BoatImageResources extends ClientBundle {
// 49er boats
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_DW_Port.png")
ImageResource class49er_DownWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_DW_Port_Selected.png")
ImageResource class49er_DownWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_UW_Port.png")
ImageResource class49er_UpWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_UW_Port_Selected.png")
ImageResource class49er_UpWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_DW_Starboard.png")
ImageResource class49er_DownWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_DW_Starboard_Selected.png")
ImageResource class49er_DownWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_UW_Starboard.png")
ImageResource class49er_UpWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_UW_Starboard_Selected.png")
ImageResource class49er_UpWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_Reach_Port.png")
ImageResource class49er_ReachingPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_Reach_Port_Selected.png")
ImageResource class49er_ReachingPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_Reach_Starboard.png")
ImageResource class49er_ReachingStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_49er/49er_Reach_Starboard_Selected.png")
ImageResource class49er_ReachingStarboardIconSelected();
// 470er boats
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_DW_Port.png")
ImageResource class470er_DownWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_DW_Port_Selected.png")
ImageResource class470er_DownWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_UW_Port.png")
ImageResource class470er_UpWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_UW_Port_Selected.png")
ImageResource class470er_UpWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_DW_Starboard.png")
ImageResource class470er_DownWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_DW_Starboard_Selected.png")
ImageResource class470er_DownWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_UW_Starboard.png")
ImageResource class470er_UpWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_UW_Starboard_Selected.png")
ImageResource class470er_UpWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_Reach_Port.png")
ImageResource class470er_ReachingPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_Reach_Port_Selected.png")
ImageResource class470er_ReachingPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_Reach_Starboard.png")
ImageResource class470er_ReachingStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_470er/470er_Reach_Starboard_Selected.png")
ImageResource class470er_ReachingStarboardIconSelected();
// Extreme 40 boats
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_DW_Port.png")
ImageResource Extreme40_DownWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_DW_Port_Selected.png")
ImageResource Extreme40_DownWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_UW_Port.png")
ImageResource Extreme40_UpWindPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_UW_Port_Selected.png")
ImageResource Extreme40_UpWindPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_DW_Starboard.png")
ImageResource Extreme40_DownWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_DW_Starboard_Selected.png")
ImageResource Extreme40_DownWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_UW_Starboard.png")
ImageResource Extreme40_UpWindStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_UW_Starboard_Selected.png")
ImageResource Extreme40_UpWindStarboardIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_Reach_Port.png")
ImageResource Extreme40_ReachingPortIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_Reach_Port_Selected.png")
ImageResource Extreme40_ReachingPortIconSelected();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_Reach_Starboard.png")
ImageResource Extreme40_ReachingStarboardIcon();
@Source("com/sap/sailing/gwt/ui/client/images/boats/class_extreme40/Extreme40_Reach_Starboard_Selected.png")
ImageResource Extreme40_ReachingStarboardIconSelected();
}
@@ -96,20 +96,25 @@ public class BoatOverlay extends CanvasOverlayV3 {
}
public Pair<Double, Size> getBoatScaleAndSize(BoatClassDTO boatClass) {
double minBoatLength = 25;
// the minimum boat length is related to the hull of the boat, not the overall length
double minBoatHullLengthInPx = 25;
Size boatSizeInPixel = calculateBoundingBox(mapProjection,
Size boatSizeHullInPixel = calculateBoundingBox(mapProjection,
LatLng.newInstance(boatFix.position.latDeg, boatFix.position.lngDeg),
boatVectorGraphics.getBoatLengthInMeters(), boatVectorGraphics.getBoatBeamInMeters());
boatVectorGraphics.getBoatHullLengthInMeters(), boatVectorGraphics.getBoatBeamInMeters());
double boatLengthInPixel = boatSizeInPixel.getWidth();
if(boatLengthInPixel < minBoatLength)
boatLengthInPixel = minBoatLength;
double boatHullLengthInPixel = boatSizeHullInPixel.getWidth();
if(boatHullLengthInPixel < minBoatHullLengthInPx) {
boatHullLengthInPixel = minBoatHullLengthInPx;
}
// The coordinates of the canvas drawing methods are based on the 'centimeter' unit (1px = 1cm).
// To calculate the display real boat size the scale factor from canvas units to the real
double boatSizeScaleFactor = boatLengthInPixel / (boatVectorGraphics.getBoatLengthInMeters() * 100);
double boatSizeScaleFactor = boatHullLengthInPixel / (boatVectorGraphics.getBoatHullLengthInMeters() * 100);
return new Pair<Double, Size>(boatSizeScaleFactor, Size.newInstance(boatLengthInPixel + boatLengthInPixel / 2.0, boatLengthInPixel + boatLengthInPixel / 2.0));
// as the canvas contains the whole boat the canvas size relates to the overall length, not the hull length
double scaledCanvasSize = (boatVectorGraphics.getBoatOverallLengthInMeters() * 100) * boatSizeScaleFactor;
return new Pair<Double, Size>(boatSizeScaleFactor, Size.newInstance(scaledCanvasSize + scaledCanvasSize / 2.0, scaledCanvasSize + scaledCanvasSize / 2.0));
}
}
@@ -41,6 +41,7 @@ public class CompetitorInfoOverlay extends CanvasOverlayV3 {
canvasHeight = 100;
setCanvasSize(canvasWidth, canvasHeight);
canvas.addStyleName("competitorInfo-Canvas");
}
@Override
@@ -18,9 +18,10 @@ import com.sap.sailing.domain.common.Tack;
*
*/
public abstract class BoatClassVectorGraphics {
protected double boatLengthInMeters;
protected double boatOverallLengthInMeters;
protected double boatHullLengthInMeters;
protected double boatBeamInMeters;
protected double boatCenterAlongLengthInMeters;
// protected double boatCenterAlongLengthInMeters;
private final String mainBoatClassName;
private final List<String> compatibleBoatClassNames;
@@ -28,17 +29,17 @@ public abstract class BoatClassVectorGraphics {
protected final String SAIL_FILLCOLOR = "#555555";
protected final String SAIL_STROKECOLOR = "#000000";
BoatClassVectorGraphics(String mainBoatClassName, double boatLengthInMeters, double boatBeamInMeters, double boatCenterAlongLengthInMeters) {
BoatClassVectorGraphics(String mainBoatClassName, double boatOverallLengthInMeters, double boatBeamInMeters, double boatHullLengthInMeters) {
this.mainBoatClassName = mainBoatClassName;
this.boatLengthInMeters = boatLengthInMeters;
this.boatOverallLengthInMeters = boatOverallLengthInMeters;
this.boatBeamInMeters = boatBeamInMeters;
this.boatCenterAlongLengthInMeters = boatCenterAlongLengthInMeters;
this.boatHullLengthInMeters = boatHullLengthInMeters;
this.compatibleBoatClassNames = new ArrayList<String>();
}
BoatClassVectorGraphics(String mainBoatClassName, double boatLengthInMeters, double boatBeamInMeters, double boatCenterAlongLengthInMeters,
BoatClassVectorGraphics(String mainBoatClassName, double boatOverallLengthInMeters, double boatBeamInMeters, double boatHullLengthInMeters,
String...compatibleBoatClassNames) {
this(mainBoatClassName, boatLengthInMeters, boatBeamInMeters, boatCenterAlongLengthInMeters);
this(mainBoatClassName, boatOverallLengthInMeters, boatBeamInMeters, boatHullLengthInMeters);
for(String compatibleBoatClass: compatibleBoatClassNames) {
this.compatibleBoatClassNames.add(compatibleBoatClass);
}
@@ -112,7 +113,7 @@ public abstract class BoatClassVectorGraphics {
ctx.translate(width / 2.0, height / 2.0);
ctx.rotate(angleInRadians);
ctx.scale(scaleFactor, scaleFactor);
ctx.translate(-boatCenterAlongLengthInMeters * 100,- boatBeamInMeters * 100 / 2.0);
ctx.translate(-boatHullLengthInMeters * 100 / 2.0,- boatBeamInMeters * 100 / 2.0);
drawBoat(ctx, isSelected, color);
drawSails(ctx, legType, tack);
@@ -120,18 +121,18 @@ public abstract class BoatClassVectorGraphics {
ctx.restore();
}
public double getBoatLengthInMeters() {
return boatLengthInMeters;
public double getBoatHullLengthInMeters() {
return boatHullLengthInMeters;
}
public double getBoatOverallLengthInMeters() {
return boatOverallLengthInMeters;
}
public double getBoatBeamInMeters() {
return boatBeamInMeters;
}
public double getBoatCenterAlongLengthInMeters() {
return boatCenterAlongLengthInMeters;
}
public boolean isBoatClassNameCompatible(String boatClass) {
boolean result = false;
// remove all white space characters
@@ -6,7 +6,7 @@ import com.google.gwt.canvas.dom.client.Context2d.LineJoin;
public class Extreme40VectorGraphics extends BoatClassVectorGraphics {
public Extreme40VectorGraphics(String... compatibleBoatClassNames) {
super("EXTREME40", 16.0, 7.6, 6.1, compatibleBoatClassNames);
super("EXTREME40", 16.0, 7.6, 12.2, compatibleBoatClassNames);
}
@Override
@@ -5,17 +5,20 @@ import com.google.gwt.canvas.dom.client.Context2d;
public class LaserVectorGraphics extends BoatClassVectorGraphics {
public LaserVectorGraphics(String... compatibleBoatClassNames) {
super("LASER", 4.23, 1.37, 2.1, compatibleBoatClassNames);
super("LASER", 4.23, 1.37, 4.23, compatibleBoatClassNames);
}
@Override
protected void drawBoat(Context2d ctx, boolean isSelected, String color) {
// outer part of the hull
if(isSelected) {
ctx.setFillStyle("#FF0000");
ctx.setFillStyle(color);
ctx.setStrokeStyle(color);
} else {
ctx.setFillStyle("#FFFFFF");
ctx.setFillStyle ("#FFFFFF");
ctx.setStrokeStyle("#FFFFFF");
}
ctx.setStrokeStyle(color);
ctx.setLineWidth(2.0);
ctx.beginPath();
ctx.moveTo(1.72,27);
@@ -28,8 +31,15 @@ public class LaserVectorGraphics extends BoatClassVectorGraphics {
ctx.fill();
ctx.stroke();
ctx.setFillStyle(color);
ctx.setStrokeStyle(color);
// inner part of the hull
if(isSelected) {
ctx.setFillStyle ("#FFFFFF");
ctx.setStrokeStyle("#FFFFFF");
} else {
ctx.setFillStyle(color);
ctx.setStrokeStyle(color);
}
ctx.setLineWidth(1.0);
ctx.beginPath();
ctx.moveTo(48.2,44.2);
@@ -6,7 +6,7 @@ import com.google.gwt.canvas.dom.client.Context2d.LineJoin;
public class SmallMultihullVectorGraphics extends BoatClassVectorGraphics {
public SmallMultihullVectorGraphics(String... compatibleBoatClassNames) {
super("Multihull", 7.1, 2.6, 2.62, compatibleBoatClassNames);
super("Multihull", 7.1, 2.6, 5.25, compatibleBoatClassNames);
}
@Override
@@ -6,7 +6,7 @@ import com.google.gwt.canvas.dom.client.Context2d.LineJoin;
public class _49erVectorGraphics extends BoatClassVectorGraphics {
public _49erVectorGraphics(String... compatibleBoatClassNames) {
super("49ER", 4.99, 2.90, 2.50, compatibleBoatClassNames);
super("49ER", 4.99, 2.90, 4.99, compatibleBoatClassNames);
}
@Override
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="500"
height="300"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="49er_Core.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.98"
inkscape:cx="17.3"
inkscape:cy="191"
inkscape:document-units="px"
inkscape:current-layer="svg2"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="fill:none;stroke:#000000;stroke-width:3.001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 2.04,2.47 229.96,0 3,34.03 4,32 c 0,0 57,12.9 86,20 38,9.5 114,30.5 114,30.5 l 60,18 0,14 c 0,0 -51,18 -77,26 -31,9 -62,18 -94,25 -29,7 -89,17 -89,17 l -5,39 -4,30 -227.96,0 c 0,0 25.86,-6 40.46,-22 9.2,-11 13.7,-56 13.7,-56 l -25.9,-18 0,-98.5 25.9,-17 c 0,0 -2.3,-39 -11.2,-52 C 34.9,9.5 2.04,2.47 2.04,2.47 z"
id="path3818"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccscccaaccccsccccsc" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 65.1,220 224,220"
id="path3822"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 66.7,68.5 159.3,0"
id="path3822-1"
inkscape:connector-curvature="0" />
<path
style="fill:#00fcff;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
d="m 59.6,98 32.8,-27.8 146.6,0 59,13.7 c 0,0 -21,37.1 -21,58.1 0,23 22,65 22,65 l -61,11 -146.1,0 -32.3,-28 z"
id="path2996"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccaccccc" />
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="660"
height="300"
id="svg2"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="49er_Sails2.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.98"
inkscape:cx="403"
inkscape:cy="145"
inkscape:document-units="px"
inkscape:current-layer="svg2"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<path
style="fill:none;stroke:#000000;stroke-width:3.001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 2.04,2.47 229.96,0 3,34.03 4,32 c 0,0 57,12.9 86,20 38,9.5 114,30.5 114,30.5 l 60,18 0,14 c 0,0 -51,18 -77,26 -31,9 -62,18 -94,25 -29,7 -89,17 -89,17 l -5,39 -4,30 -227.96,0 c 0,0 25.86,-6 40.46,-22 9.2,-11 13.7,-56 13.7,-56 l -25.9,-18 0,-98.5 25.9,-17 c 0,0 -2.3,-39 -11.2,-52 C 34.9,9.5 2.04,2.47 2.04,2.47 z"
id="path3818"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccscccaaccccsccccsc" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 65.1,220 224,220"
id="path3822"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 66.7,68.5 159.3,0"
id="path3822-1"
inkscape:connector-curvature="0" />
<path
style="fill:#00fcff;fill-opacity:1;stroke:none"
d="m 59.6,98 32.8,-27.8 146.6,0 59,13.7 c 0,0 -21,37.1 -21,58.1 0,23 22,65 22,65 l -61,11 -146.1,0 -32.3,-28 z"
id="path2996"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccaccccc" />
<path
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-3"
d="m 496,148 -212,35 c 0,0 143,24 173,6 32,-17 39,-41 39,-41 z"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:transform-center-x="106"
inkscape:transform-center-y="25.4" />
<path
inkscape:transform-center-y="29.6"
inkscape:transform-center-x="129"
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403"
d="M 275,149 23.2,191 c 0,0 168.8,27 206.8,7 39,-22 45,-49 45,-49 z"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-3-1"
d="M 499,148 286,250 c 0,0 158,-19 186,-48 27,-26 27,-54 27,-54 z"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:transform-center-x="108"
inkscape:transform-center-y="51.5" />
<path
style="fill:none;stroke:#000000;stroke-width:2.714;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 314,304 178,257 178,40.2"
id="path3886"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
inkscape:transform-center-y="368"
inkscape:transform-center-x="617"
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-7"
d="M 275,150 44.8,285 c 0,0 172.2,-37 203.2,-71 29,-34 27,-64 27,-64 z"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 655,148 316,304 c 0,0 193,32 248,-4 63,-38 91,-152 91,-152 z"
id="path3116"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 34.6,147 620.4,0 -54,0"
id="path3801"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-3-17"
d="M 496,147 284,112 c 0,0 143,-23.6 173,-6 32,17 39,41 39,41 z"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:transform-center-x="106"
inkscape:transform-center-y="-25.8" />
<path
inkscape:transform-center-y="-30"
inkscape:transform-center-x="129"
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-4"
d="M 275,146 23.3,104 c 0,0 168.7,-26.6 206.7,-6.6 39,21.6 45,48.6 45,48.6 z"
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-3-1-0"
d="M 499,146 286,43.5 c 0,0 158,18.9 186,48.1 27,26.4 27,54.4 27,54.4 z"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:transform-center-x="108"
inkscape:transform-center-y="-51.5" />
<path
style="fill:none;stroke:#000000;stroke-width:2.714;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 316,-10.5 -136,47 0,216.5"
id="path3886-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
inkscape:transform-center-y="-368"
inkscape:transform-center-x="617"
sodipodi:nodetypes="cczc"
inkscape:connector-curvature="0"
id="path5403-7-4"
d="M 275,144 43.8,8.4 c 0,0 173.2,37.1 204.2,71.1 29,34.5 27,64.5 27,64.5 z"
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 655,146 316,-10.5 c 0,0 193,-31.6 248,4.01 C 627,31.5 655,146 655,146 z"
id="path3116-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
</svg>

After

Width:  |  Height:  |  Size: 7.8 KiB

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1600"
height="1600"
id="svg4158"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="extreme40_core.svg">
<defs
id="defs4160" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.352"
inkscape:cx="240"
inkscape:cy="1.15e+003"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4166"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata4163">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<line
x1="1580"
y1="356"
x2="747"
y2="356"
id="line33"
style="fill:none;stroke:#000000;stroke-width:2.602" />
<line
x1="1050"
y1="651"
x2="1050"
y2="49"
id="line75"
style="fill:none;stroke:#000000;stroke-width:2.616" />
<rect
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:5.084;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
id="rect3772"
width="549"
height="550"
x="195"
y="72" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:5.001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 3.54,2 801,2 1170,37 801,72 3.54,72 z"
id="path4185"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1170,37 410,319 -410,301 0,0"
id="path4893"
inkscape:connector-curvature="0" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:4.991;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 3.54,622 798,622 1170,657 798,692 3.54,692 z"
id="path4185-0"
inkscape:connector-curvature="0" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.112;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3020"
width="400"
height="380"
x="271"
y="163" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1600"
height="1600"
id="svg4158"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="extreme40_sails.svg">
<defs
id="defs4160" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.707"
inkscape:cx="702"
inkscape:cy="1.28e+003"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4166"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata4163">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<line
x1="1580"
y1="356"
x2="747"
y2="356"
id="line33"
style="fill:none;stroke:#000000;stroke-width:2.602;stroke-miterlimit:4;stroke-dasharray:none" />
<line
x1="1050"
y1="651"
x2="1050"
y2="49"
id="line75"
style="fill:none;stroke:#000000;stroke-width:2.616" />
<rect
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:5.084;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
id="rect3772"
width="549"
height="550"
x="195"
y="72" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:5.001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 3.54,2 801,2 1170,37 801,72 3.54,72 z"
id="path4185"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 1170,37 410,319 -410,301 0,0"
id="path4893"
inkscape:connector-curvature="0" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:4.991;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 3.54,622 798,622 1170,657 798,692 3.54,692 z"
id="path4185-0"
inkscape:connector-curvature="0" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.112;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3020"
width="400"
height="380"
x="271"
y="163" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 744,357 200,465 c 0,0 342,62 446,9 103,-56 98,-117 98,-117 z"
id="path79" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 1050,359 792,529 c 0,0 206,-53 238,-93 40,-37 20,-77 20,-77 z"
id="path87" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:4.956;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 1580,360 780,944 c 0,0 430,-54 560,-181 150,-129 240,-403 240,-403 z"
id="path95" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 479,40.9 567,661 780,944"
id="path3773"
inkscape:connector-curvature="0" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="m 1050,360 -299,48 c 0,0 208,39 259,14 60,-10 40,-62 40,-62 z"
id="path87-1" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="m 744,358 -551,60 c 0,0 335,92 443,48 108,-47 108,-108 108,-108 z"
id="path79-4" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:4.956;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 1580,355 778,-229 c 0,0 442,54 572,181.4 140,129 230,402.6 230,402.6 z"
id="path95-9" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 1050,354 791,183 c 0,0 206,53 239,94 40,37 20,77 20,77 z"
id="path87-4" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 744,355 199,247 c 0,0 343,-62 447,-9 103,56 98,117 98,117 z"
id="path79-8" />
<path
style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 479,675 567,55.2 780,-225"
id="path3773-2"
inkscape:connector-curvature="0" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 1050,355 751,307 c 0,0 208,-39 259,-14 60,10 40,62 40,62 z"
id="path87-1-4" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:5;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 745,357 194,297 c 0,0 335,-92 443,-48 108,47 108,108 108,108 z"
id="path79-4-5" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="500"
height="500"
id="svg3018"
inkscape:version="0.48.4 r"
sodipodi:docname="Laser_Simplified.svg">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1005"
id="namedview3025"
showgrid="true"
units="px"
inkscape:document-units="px"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="2.79"
inkscape:cx="234"
inkscape:cy="447"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg3018">
<inkscape:grid
type="xygrid"
id="grid4925"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata3024">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3022" />
<path
d="m 1.72,27 -0.28,78 c 0,0 81.16,28 169.56,28 87,0 251,-51.5 251,-62.9 C 422,55.7 261,1.11 171,1.11 85.8,1.11 1.72,27 1.72,27 z"
id="path5361"
style="fill:none;stroke:#000000;stroke-width:2.873;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0" />
<path
d="M 48.2,44.2 47.9,90.1 C 47.9,90.1 107,107 171,107 235,107 354,78.7 354,70.1 352,61.4 235,29.9 171,29.9 109,29.9 48.2,44.2 48.2,44.2 z"
id="path5361-1"
style="fill:none;stroke:#000000;stroke-width:2.873;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 300,68.9 39.4,5.94 c 0,0 180.6,-15.04 218.6,7.96 38,24 42,55 42,55 z"
id="path5403-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 301,70 92.2,-97.1 c 0,0 176.8,53.5 201.8,90.41 24,37.79 7,76.69 7,76.69 z"
id="path5403-4-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 301,71.4 40.3,134 c 0,0 180.7,15 218.7,-8 38,-24 42,-54.6 42,-54.6 z"
id="path5403-4-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:#00ff00;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 301,72.1 92.1,240 c 0,0 176.9,-54 201.9,-91 24,-38 7,-76.9 7,-76.9 z"
id="path5403-4-0-4"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 300,69.8 182,-171 c 0,0 137,123.9 144,167.85 6,44.75 -26,72.95 -26,72.95 z"
id="path5403-4-0-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
d="M 300,71.2 182,312 c 0,0 137,-124 144,-168 6,-45 -26,-72.8 -26,-72.8 z"
id="path5403-4-0-1-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cczc" />
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="800"
height="400"
id="svg4158"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="nacra17_sails.svg">
<defs
id="defs4160" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.41"
inkscape:cx="120"
inkscape:cy="180"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1920"
inkscape:window-height="1005"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4166"
units="mm"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata4163">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<line
x1="707"
y1="132"
x2="266"
y2="132"
id="line33"
style="fill:none;stroke:#000000;stroke-width:1.27;stroke-miterlimit:4;stroke-dasharray:none" />
<line
x1="475"
y1="242"
x2="475"
y2="27.7"
id="line75"
style="fill:none;stroke:#000000;stroke-width:1.062" />
<rect
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:1.724;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
id="rect3772"
width="187"
height="187"
x="88.6"
y="37.7" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2.261;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 1.98,1.67 362,1.67 529,21.7 362,41.7 1.98,41.7 z"
id="path4185"
inkscape:connector-curvature="0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.986;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 529,21.7 709,132 529,242 l 0,0"
id="path4893"
inkscape:connector-curvature="0" />
<path
style="fill:#00ffff;fill-opacity:1;stroke:#000000;stroke-width:2.257;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
d="M 1.98,222 361,222 529,242 361,262 1.98,262 z"
id="path4185-0"
inkscape:connector-curvature="0" />
<rect
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.716;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="rect3020"
width="136"
height="128"
x="114"
y="71.7" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 336,132 90.6,182 c 0,0 155.4,30 200.4,10 48,-30 45,-60 45,-60 z"
id="path79" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="m 473,132 -117,70 c 0,0 92,-20 108,-40 18,-20 9,-30 9,-30 z"
id="path87" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.24;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 706,132 321,355 c 0,0 196,0 260,-53 75,-60 125,-170 125,-170 z"
id="path95" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="m 473,132 -136,20 c 0,0 94,10 118,0 27,0 18,-20 18,-20 z"
id="path87-1" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 336,132 87.6,152 c 0,0 151.4,40 200.4,20 48,-20 48,-40 48,-40 z"
id="path79-4" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.24;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 706,132 320,-88.3 c 0,0 201,0 265,50 71,60 121,170.3 121,170.3 z"
id="path95-9" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 473,132 355,61.7 c 0,0 93,20 109,40.3 18,20 9,30 9,30 z"
id="path87-4" />
<path
style="fill:#0000ff;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 336,132 90.6,91.7 c 0,0 155.4,-30 200.4,-10 48,30.3 45,50.3 45,50.3 z"
id="path79-8" />
<path
style="fill:none;stroke:#000000;stroke-width:1.028;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="m 177,242 41,-220.3 99,-110"
id="path3773-2"
inkscape:connector-curvature="0" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 473,132 337,112 c 0,0 94,-20.3 118,0 27,0 18,20 18,20 z"
id="path87-1-4" />
<path
style="fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:2.26;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
inkscape:connector-curvature="0"
d="M 337,132 87.6,112 C 87.6,112 239,71.7 288,91.7 337,112 337,132 337,132 z"
id="path79-4-5" />
<path
style="fill:none;stroke:#000000;stroke-width:1.028;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
d="M 177,21.7 218,242 318,355"
id="path3773-2-7"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB