From 4628bd22087c6edfcc15aca89ada4edbf9ed2062 Mon Sep 17 00:00:00 2001 From: Nick Gasson Date: Sun, 28 Feb 2010 20:44:00 +0000 Subject: [PATCH] Simple upward slopes working --- src/SlopeTrack.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/SlopeTrack.cpp b/src/SlopeTrack.cpp index 6246b7e..c3a9502 100644 --- a/src/SlopeTrack.cpp +++ b/src/SlopeTrack.cpp @@ -72,19 +72,23 @@ SlopeTrack::SlopeTrack(track::Direction axis, Vector slope, { Vector p1, p2, p3, p4; + const float OFF = 0.2f; + if (axis == axis::X) { p1 = makeVector(0.0f, 0.0f, 0.0f); - p2 = makeVector(0.1f, 0.0f, 0.0f); - p3 = makeVector(0.9f, slope.y, 0.0f); + p2 = makeVector(OFF, 0.0f, 0.0f); + p3 = makeVector(1.0f - OFF, slope.y, 0.0f); p4 = makeVector(1.0f, slope.y, 0.0f); } else { p1 = makeVector(0.0f, 0.0f, 0.0f); - p2 = makeVector(0.0f, 0.0f, 0.1f); - p3 = makeVector(0.0f, slope.y, 0.9f); + p2 = makeVector(0.0f, 0.0f, OFF); + p3 = makeVector(0.0f, slope.y, 1.0f - OFF); p4 = makeVector(0.0f, slope.y, 1.0f); } + debug() << p1 << " " << p2 << " " << p3 << " " << p4; + BezierCurve curve = makeBezierCurve(p1, p2, p3, p4); length = curve.length; @@ -207,5 +211,5 @@ ITrackSegmentPtr makeSlopeTrack(track::Direction axis, Vector slope, Vector slopeBefore, Vector slopeAfter) { return ITrackSegmentPtr( - new SlopeTrack(axis, slopeBefore, slope, slopeAfter)); + new SlopeTrack(axis, slope, slopeBefore, slopeAfter)); } -- 2.39.2