]> Shamusworld >> Repos - architektonas/blobdiff - src/dimension.cpp
Added new triangulation tool, ability to snap to endpoints/intersections.
[architektonas] / src / dimension.cpp
index e5a747842a32b8f6baa696c70f0dbf8219cdd9d8..1e9b785e0be7d2981a30c892d2d05360627378ba 100644 (file)
@@ -264,6 +264,9 @@ I believe they are pixels.
        if (snapToGrid)
                point = SnapPointToGrid(point);
 
+       if (snapPointIsValid)
+               point = snapPoint;
+
        if (hitPoint1)
        {
                oldState = state;
@@ -335,6 +338,12 @@ I believe they are pixels.
        bool hovered = HitTest(point);
        needUpdate = HitStateChanged();
 
+       if (snapToGrid)
+               point = SnapPointToGrid(point);
+
+       if (snapPointIsValid)
+               point = snapPoint;
+
        objectWasDragged = (/*draggingLine |*/ draggingHandle1 | draggingHandle2);
 
        if (objectWasDragged)
@@ -517,7 +526,7 @@ bool Dimension::HitStateChanged(void)
 
 /*virtual*/ void Dimension::Enumerate(FILE * file)
 {
-       fprintf(file, "DIMENSION %i (%lf,%lf) (%lf,%lf) %i\n", layer, position.x, position.y, endpoint.x, endpoint.y, type);
+       fprintf(file, "DIMENSION %i (%lf,%lf) (%lf,%lf) %i\n", layer, position.x, position.y, endpoint.x, endpoint.y, dimensionType);
 }