-/* $Id$
-
-This file is part of the MSP Märklin suite
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
#include <cmath>
-#include <msp/strings/formatter.h>
-#include "libmarklin/catalogue.h"
-#include "libmarklin/track.h"
-#include "libmarklin/tracktype.h"
+#include <msp/strings/format.h>
+#include "libr2c2/catalogue.h"
+#include "libr2c2/track.h"
+#include "libr2c2/tracktype.h"
#include "svgexporter.h"
using namespace std;
using namespace Msp;
-using namespace Marklin;
+using namespace R2C2;
SvgExporter::SvgExporter(const Layout &l):
layout(l),
gauge = layout.get_catalogue().get_gauge()*1000;
const Profile &rail_profile = layout.get_catalogue().get_rail_profile();
- const Point &rail_min = rail_profile.get_min_coords();
- const Point &rail_max = rail_profile.get_max_coords();
+ const Vector &rail_min = rail_profile.get_min_coords();
+ const Vector &rail_max = rail_profile.get_max_coords();
rail_width = (rail_max.x-rail_min.x)*1000;
xmlpp::Document *doc = new xmlpp::Document;
".artnr { text-anchor: middle; font-size: %.3f; }\n",
rail_width, rail_width, gauge*0.75));
- Point minp;
- Point maxp;
+ Vector minp;
+ Vector maxp;
const set<Track *> &tracks = layout.get_tracks();
for(set<Track *>::const_iterator i=tracks.begin(); i!=tracks.end(); ++i)
{
unsigned n_endpoints = (*i)->get_type().get_endpoints().size();
for(unsigned j=0; j<n_endpoints; ++j)
{
- Point pos = (*i)->get_endpoint_position(j);
+ Vector pos = (*i)->get_endpoint_position(j);
if(i==tracks.begin() && j==0)
minp = maxp = pos;
else
void SvgExporter::save_track(const Track &track, xmlpp::Element &group)
{
- const Point &pos = track.get_position();
+ const Vector &pos = track.get_position();
float rot = track.get_rotation();
string transform = format("translate(%.3f %.3f) rotate(%.3f)", pos.x*1000, -pos.y*1000, -rot*180/M_PI);
group.set_attribute("transform", transform);