summaryrefslogtreecommitdiff
path: root/src/dxftess-cgal.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-10 16:01:50 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-10 16:01:50 (GMT)
commitadffb9121fbf5d12542ae0d8c5a010e78cc8a4f9 (patch)
treeb13fa35d6b9d807b3c2d7a4c195b49624c2c3297 /src/dxftess-cgal.cc
parent130e10778e9d74ceb07dfc813b85d75a52a71e10 (diff)
Added support for 2D scaling in linear_extrude
Diffstat (limited to 'src/dxftess-cgal.cc')
-rw-r--r--src/dxftess-cgal.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/dxftess-cgal.cc b/src/dxftess-cgal.cc
index fffa4f1..16eaf9f 100644
--- a/src/dxftess-cgal.cc
+++ b/src/dxftess-cgal.cc
@@ -101,7 +101,7 @@ void mark_inner_outer(std::vector<struct triangle> &tri, Grid2d<point_info_t> &p
}
}
-void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, double scale, bool up, bool /* do_triangle_splitting */, double h)
+void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, Vector2d scale, bool up, bool /* do_triangle_splitting */, double h)
{
CDT cdt;
@@ -124,8 +124,8 @@ void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, double scale, bool up,
struct point_info_t *first_pi = NULL, *prev_pi = NULL;
for (size_t j = 1; j < dxf.paths[i].indices.size(); j++)
{
- double x = scale * dxf.points[dxf.paths[i].indices[j]][0];
- double y = scale * dxf.points[dxf.paths[i].indices[j]][1];
+ double x = dxf.points[dxf.paths[i].indices[j]][0];
+ double y = dxf.points[dxf.paths[i].indices[j]][1];
if (point_info.has(x, y)) {
// FIXME: How can the same path set contain the same point twice?
@@ -314,8 +314,8 @@ void dxf_tesselate(PolySet *ps, DxfData &dxf, double rot, double scale, bool up,
int idx = up ? j : (2-j);
double px = tri[i].p[idx].x;
double py = tri[i].p[idx].y;
- ps->append_vertex(px * cos(rot*M_PI/180) + py * sin(rot*M_PI/180),
- px * -sin(rot*M_PI/180) + py * cos(rot*M_PI/180), h);
+ ps->append_vertex(scale[0] * (px * cos(rot*M_PI/180) + py * sin(rot*M_PI/180)),
+ scale[1] * (px * -sin(rot*M_PI/180) + py * cos(rot*M_PI/180)), h);
path[j] = point_info.data(px, py).pathidx;
point[j] = point_info.data(px, py).pointidx;
}
contact: Jan Huwald // Impressum