petergolde / purplepen Goto Github PK
View Code? Open in Web Editor NEWPurple Pen course setting program for orienteering
Purple Pen course setting program for orienteering
It seems that latest release(s) are missing from this repository. For instance I cannot find 3.3.0 here. Source code still references 3.2.1.
Could you add it please? Thanks!
When Selecting "Help" > "Purple Pen Help" (or pressing F1) in "Additional Topics" selecting "Reference to all commands.", "Stretch" item is not on the list.
It seems that latest release(s) are missing from this repository. For instance I cannot find 3.3.0 here. The source code references 3.2.1.
Could you add it please? Thanks!
Currently the size of the control description is determined by dragging the corners of it.
The orienteering rules instead requires that the boxes be kept squared of a size between 5 and 7 mm when printed. Link to the rules
Please allow setting a fixed size of the definition as this would allow course setters to follow this rule and not waste trying to get the description in the right size.
Creating a new event with the attached Open Orienteering Mapper file will cause a NullReferenceException and no map will be displayed.
After debugging the code, it seems that the issue is caused by the following symbol:
<symbol type="4" id="34" code="526.1" name="Building inside (not passable)"><area_symbol inner_color="8" min_area="0" patterns="1"><pattern type="1" angle="0" rotatable="true" line_spacing="0" line_offset="0" offset_along_line="0" color="-1" line_width="0"/></area_symbol></symbol>
Purple Pen seems to have trouble with color="-1" in the pattern.
Map:
BCIT-Georeferenced_no_template.zip
Stacktrace:
at PurplePen.MapModel.AreaSymDef.CreatePensAndBrushes(IGraphicsTarget g) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\SymDef.cs:line 2073 at PurplePen.MapModel.AreaSymDef.Draw(IGraphicsTarget g, SymPathWithHoles path, SymColor color, Single angle, PointF rotationCenter, RenderOptions renderOpts) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\SymDef.cs:line 2148 at PurplePen.MapModel.AreaSymbol.Draw(IGraphicsTarget g, SymColor color, RenderOptions renderOpts) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\Symbol.cs:line 587 at PurplePen.MapModel.Map.DrawColor(IGraphicsTarget g, SymColor curColor, RectangleF rect, RenderOptions renderOpts, Operation throwOnCancel) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\Map.cs:line 2146 at PurplePen.MapModel.Map.Draw(IGraphicsTarget g, RectangleF rect, RenderOptions renderOpts, Operation throwOnCancel, Int32 templateRecursionCount) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\Map.cs:line 2088 at PurplePen.MapModel.Map.Draw(IGraphicsTarget g, RectangleF rect, RenderOptions renderOpts, Operation throwOnCancel) in C:\Users\peter\Documents\Programs\MapModel\src\MapModel-Shared\Map.cs:line 2061 at PurplePen.MapDisplay.DrawOcadMap(IGraphicsTarget grTarget, RectangleF visRect, RenderOptions renderOptions) in D:\2020\PurplePen\src\PurplePen\MapDisplay.cs:line 521 at PurplePen.MapDisplay.DrawHelper(IGraphicsTarget grTargetOcadMap, IGraphicsTarget grTargetBitmapMap, IGraphicsTarget grTargetCourses, RectangleF visRect, Single minResolution) in D:\2020\PurplePen\src\PurplePen\MapDisplay.cs:line 623 at PurplePen.MapDisplay.Draw(Bitmap bitmap, Matrix transform, Region clipRegion) in D:\2020\PurplePen\src\PurplePen\MapDisplay.cs:line 582 at PurplePen.MapView.ViewCache.UpdateCache(Size sizeView, RectangleF mapAreaToView, Matrix transform) in D:\2020\PurplePen\src\PurplePen\MapView\ViewCache.cs:line 156 at PurplePen.MapView.ViewCache.GetCacheBitmap(Size sizeView, RectangleF mapAreaToView, Matrix transform, Int64& changeNumber) in D:\2020\PurplePen\src\PurplePen\MapView\ViewCache.cs:line 126 at PurplePen.MapView.MapViewer.CompositeBitmap(Boolean highlightsHaveChanged) in D:\2020\PurplePen\src\PurplePen\MapView\MapViewer.cs:line 932 at PurplePen.MapView.MapViewer.Draw(Graphics g, Rectangle clip) in D:\2020\PurplePen\src\PurplePen\MapView\MapViewer.cs:line 962 at PurplePen.MapView.MapViewer.MapViewer_Paint(Object sender, PaintEventArgs e) in D:\2020\PurplePen\src\PurplePen\MapView\MapViewer.cs:line 1052 at System.Windows.Forms.Control.OnPaint(PaintEventArgs e) at System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer) at System.Windows.Forms.Control.WmPaint(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Purple Pen doesn't support embedded layout images from OCAD files. Only linked images.
Add support for embedded layout images.
When exporting IOF XML 3.0, the Purple Pen is producing different IOF XML files depending on map file format.
This difference means, that OOM map file is not possible to use directly when you want export XML for the other apps where georeferencing information is required (like UsynligO).
Workaround: Map file must be first saved as Ocad12 and than used in Purple Pen.
Tested under:
Purple Pen 3.3.0
OpenOrienteering Mapper 0.9.3, 0.9.4
In version 3.30: I have an A3 PDF as chart, I define a printing area for ALL charts as A4. I define a course fitting into an A4, i try to create PDF from course in A4. Doesnt work. It stills create the PDF in original map size (A3).
UT.zip
Otherwise great software!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.