]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/threedee/ThreeDModel.java
Version 7, February 2009
[GpsPrune.git] / tim / prune / threedee / ThreeDModel.java
index 141ec38a88d8656e18110e68181bb238b99f170c..929659bcd8ee92704bd0949b29d951f5579946a9 100644 (file)
@@ -23,11 +23,13 @@ public class ThreeDModel
        private byte[] _pointHeights = null;
 
        private static final double DEFAULT_MODEL_SIZE = 10.0;
+       /** Minimum altitude cap */
        public static final int MINIMUM_ALTITUDE_CAP = 100;
 
        // Constants for point types
-       public static final byte POINT_TYPE_WAYPOINT = 1;
-       public static final byte POINT_TYPE_NORMAL_POINT = 2;
+       public static final byte POINT_TYPE_WAYPOINT      = 1;
+       public static final byte POINT_TYPE_NORMAL_POINT  = 2;
+       public static final byte POINT_TYPE_SEGMENT_START = 3;
 
 
        /**
@@ -136,8 +138,8 @@ public class ThreeDModel
                for (int i=0; i<numPoints; i++)
                {
                        DataPoint point = _track.getPoint(i);
-                       _pointTypes[i] = (point.isWaypoint()?POINT_TYPE_WAYPOINT:POINT_TYPE_NORMAL_POINT);
-                       _pointHeights[i] = (byte) (point.getAltitude().getValue(Altitude.FORMAT_METRES) / 500);
+                       _pointTypes[i] = (point.isWaypoint()?POINT_TYPE_WAYPOINT:(point.getSegmentStart()?POINT_TYPE_SEGMENT_START:POINT_TYPE_NORMAL_POINT));
+                       _pointHeights[i] = (byte) (point.getAltitude().getValue(Altitude.Format.METRES) / 500);
                }
        }