]> Shamusworld >> Repos - architektonas/blobdiff - src/base/snapper.cpp
In the middle of removing Snapper class/fixing snapper rendering...
[architektonas] / src / base / snapper.cpp
index dd6e8bc903a95ff784926bda382671deabafe8ed..28e600adee65ed2e09d7540062a4b65703627711 100644 (file)
@@ -12,6 +12,8 @@
 // Who  When        What
 // ---  ----------  -----------------------------------------------------------
 // JLH  05/21/2010  Added this text. :-)
+// JLH  10/18/2010  Commented out all functions in preparation for deprecating
+//                  this class.
 //
 
 #include "snapper.h"
 /**
  * Constructor.
  */
-RS_Snapper::RS_Snapper(RS_EntityContainer & c, GraphicView & gv):
+Snapper::Snapper(EntityContainer & c, GraphicView & gv):
        container(&c), graphicView(&gv), finished(false)
 {
+#if 0
        init();
+#endif
 }
 
-RS_Snapper::RS_Snapper(void):
+Snapper::Snapper(void):
        container(NULL), graphicView(NULL), finished(false)
 {
+#if 0
        init();
+#endif
 }
 
 /**
  * Destructor.
  */
-RS_Snapper::~RS_Snapper()
+Snapper::~Snapper()
 {
 }
 
 /**
  * Initialize (called by all constructors)
  */
-void RS_Snapper::init()
+void Snapper::init()
 {
+#if 0
        if (graphicView)
        {
                snapMode = graphicView->getDefaultSnapMode();
@@ -74,56 +81,76 @@ void RS_Snapper::init()
        // Sanity check
        if (snapRange < 2)
                snapRange = 20;
+#endif
 }
 
-void RS_Snapper::finish()
+void Snapper::finish()
 {
+#if 0
        finished = true;
+#endif
 }
 
 //bleh
-void RS_Snapper::SetContainer(RS_EntityContainer * c)
+void Snapper::SetContainer(EntityContainer * c)
 {
+#if 0
        container = c;
+#endif
 }
 
 //bleh
-void RS_Snapper::SetGraphicView(GraphicView * v)
+void Snapper::SetGraphicView(GraphicView * v)
 {
+#if 0
        graphicView = v;
+#endif
 }
 
 /**
  * @return Pointer to the entity which was the key entity for the last
  * successful snapping action. If the snap mode is "end point" the key entity
- * is the entity whos end point was caught. If the snap mode didn't require an
+ * is the entity whose end point was caught. If the snap mode didn't require an
  * entity (e.g. free, grid) this method will return NULL.
  */
-RS_Entity * RS_Snapper::getKeyEntity()
+Entity * Snapper::getKeyEntity()
 {
+#if 0
        return keyEntity;
+#endif
+       return NULL;
 }
 
 /** Sets a new snap mode. */
-void RS_Snapper::setSnapMode(RS2::SnapMode snapMode)
+void Snapper::setSnapMode(RS2::SnapMode snapMode)
 {
+#if 0
        this->snapMode = snapMode;
+#endif
 }
 
 /** Sets a new snap restriction. */
-void RS_Snapper::setSnapRestriction(RS2::SnapRestriction snapRes)
+void Snapper::setSnapRestriction(RS2::SnapRestriction snapRes)
 {
+#if 0
        this->snapRes = snapRes;
+#endif
 }
 
-RS2::SnapMode RS_Snapper::getSnapMode(void)
+RS2::SnapMode Snapper::getSnapMode(void)
 {
+#if 0
        return snapMode;
+#endif
+       return RS2::SnapFree;
 }
 
-RS2::SnapRestriction RS_Snapper::getSnapRestriction(void)
+RS2::SnapRestriction Snapper::getSnapRestriction(void)
 {
+#if 0
        return snapRes;
+#endif
+       return RS2::RestrictNothing;
 }
 
 /**
@@ -131,25 +158,31 @@ RS2::SnapRestriction RS_Snapper::getSnapRestriction(void)
  *
  * @see catchEntity()
  */
-void RS_Snapper::setSnapRange(int r)
+void Snapper::setSnapRange(int r)
 {
+#if 0
        snapRange = r;
+#endif
 }
 
+#if 0
+This should get moved into GraphicView...
+#endif
 /**
  * Snap to a coordinate in the drawing using the current snap mode.
  *
  * @param e A mouse event.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapPoint(QMouseEvent * e)
+Vector Snapper::snapPoint(QMouseEvent * e)
 {
-       RS_DEBUG->print("RS_Snapper::snapPoint");
+#if 0
+       DEBUG->print("Snapper::snapPoint");
        snapSpot = Vector(false);
 
        if (!e)
        {
-               RS_DEBUG->print(RS_Debug::D_WARNING, "RS_Snapper::snapPoint: event is NULL");
+               DEBUG->print(Debug::D_WARNING, "Snapper::snapPoint: event is NULL");
                return snapSpot;
        }
 
@@ -211,12 +244,14 @@ Vector RS_Snapper::snapPoint(QMouseEvent * e)
                break;
        }
 
-       if (RS_DIALOGFACTORY)
-               RS_DIALOGFACTORY->updateCoordinateWidget(snapCoord, snapCoord - graphicView->getRelativeZero());
+       if (DIALOGFACTORY)
+               DIALOGFACTORY->updateCoordinateWidget(snapCoord, snapCoord - graphicView->getRelativeZero());
 
-       RS_DEBUG->print("RS_Snapper::snapPoint: OK");
+       DEBUG->print("Snapper::snapPoint: OK");
 
        return snapCoord;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -225,10 +260,13 @@ Vector RS_Snapper::snapPoint(QMouseEvent * e)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapFree(Vector coord)
+Vector Snapper::snapFree(Vector coord)
 {
+#if 0
        keyEntity = NULL;
        return coord;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -237,12 +275,15 @@ Vector RS_Snapper::snapFree(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapEndpoint(Vector coord)
+Vector Snapper::snapEndpoint(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestEndpoint(coord, NULL);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -251,25 +292,26 @@ Vector RS_Snapper::snapEndpoint(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapGrid(Vector coord)
+Vector Snapper::snapGrid(Vector coord)
 {
-       RS_DEBUG->print("RS_Snapper::snapGrid begin");
+#if 0
+       DEBUG->print("Snapper::snapGrid begin");
 
        Vector vec(false);
        double dist = 0.0;
 
-       RS_Grid * grid = graphicView->getGrid();
+       Grid * grid = graphicView->getGrid();
 
-       RS_DEBUG->print("RS_Snapper::snapGrid 001");
+       DEBUG->print("Snapper::snapGrid 001");
 
        if (grid)
        {
-               RS_DEBUG->print("RS_Snapper::snapGrid 002");
+               DEBUG->print("Snapper::snapGrid 002");
                Vector * pts = grid->getPoints();
-               RS_DEBUG->print("RS_Snapper::snapGrid 003");
+               DEBUG->print("Snapper::snapGrid 003");
                int closest = -1;
                dist = 32000.00;
-               RS_DEBUG->print("RS_Snapper::snapGrid 004");
+               DEBUG->print("Snapper::snapGrid 004");
 
                for(int i=0; i<grid->count(); ++i)
                {
@@ -282,19 +324,21 @@ Vector RS_Snapper::snapGrid(Vector coord)
                        }
                }
 
-               RS_DEBUG->print("RS_Snapper::snapGrid 005");
+               DEBUG->print("Snapper::snapGrid 005");
 
                if (closest >= 0)
                        vec = pts[closest];
 
-               RS_DEBUG->print("RS_Snapper::snapGrid 006");
+               DEBUG->print("Snapper::snapGrid 006");
        }
 
        keyEntity = NULL;
 
-       RS_DEBUG->print("RS_Snapper::snapGrid end");
+       DEBUG->print("Snapper::snapGrid end");
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -303,12 +347,15 @@ Vector RS_Snapper::snapGrid(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapOnEntity(Vector coord)
+Vector Snapper::snapOnEntity(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestPointOnEntity(coord, true, NULL, &keyEntity);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -317,12 +364,15 @@ Vector RS_Snapper::snapOnEntity(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapCenter(Vector coord)
+Vector Snapper::snapCenter(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestCenter(coord, NULL);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -331,12 +381,15 @@ Vector RS_Snapper::snapCenter(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapMiddle(Vector coord)
+Vector Snapper::snapMiddle(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestMiddle(coord, NULL);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -345,12 +398,15 @@ Vector RS_Snapper::snapMiddle(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapDist(Vector coord)
+Vector Snapper::snapDist(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestDist(distance, coord, NULL);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -359,12 +415,15 @@ Vector RS_Snapper::snapDist(Vector coord)
  * @param coord The mouse coordinate.
  * @return The coordinates of the point or an invalid vector.
  */
-Vector RS_Snapper::snapIntersection(Vector coord)
+Vector Snapper::snapIntersection(Vector coord)
 {
+#if 0
        Vector vec(false);
        vec = container->getNearestIntersection(coord, NULL);
 
        return vec;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -374,8 +433,9 @@ Vector RS_Snapper::snapIntersection(Vector coord)
  * @param coord The uncorrected coordinates.
  * @return The corrected coordinates.
  */
-Vector RS_Snapper::restrictOrthogonal(Vector coord)
+Vector Snapper::restrictOrthogonal(Vector coord)
 {
+#if 0
        Vector rz = graphicView->getRelativeZero();
        Vector ret(coord);
 
@@ -388,6 +448,8 @@ Vector RS_Snapper::restrictOrthogonal(Vector coord)
                ret = retx;
 
        return ret;
+#endif
+       return Vector(false);
 }
 
 /**
@@ -397,11 +459,14 @@ Vector RS_Snapper::restrictOrthogonal(Vector coord)
  * @param coord The uncorrected coordinates.
  * @return The corrected coordinates.
  */
-Vector RS_Snapper::restrictHorizontal(Vector coord)
+Vector Snapper::restrictHorizontal(Vector coord)
 {
+#if 0
        Vector rz = graphicView->getRelativeZero();
 
        return Vector(coord.x, rz.y);
+#endif
+       return Vector(false);
 }
 
 /**
@@ -411,11 +476,14 @@ Vector RS_Snapper::restrictHorizontal(Vector coord)
  * @param coord The uncorrected coordinates.
  * @return The corrected coordinates.
  */
-Vector RS_Snapper::restrictVertical(Vector coord)
+Vector Snapper::restrictVertical(Vector coord)
 {
+#if 0
        Vector rz = graphicView->getRelativeZero();
 
        return Vector(rz.x, coord.y);
+#endif
+       return Vector(false);
 }
 
 /**
@@ -426,15 +494,14 @@ Vector RS_Snapper::restrictVertical(Vector coord)
  *        container
  * @return Pointer to the entity or NULL.
  */
-RS_Entity * RS_Snapper::catchEntity(const Vector & pos, RS2::ResolveLevel level)
+Entity * Snapper::catchEntity(const Vector & pos, RS2::ResolveLevel level)
 {
-       RS_DEBUG->print("RS_Snapper::catchEntity");
+#if 0
+       DEBUG->print("Snapper::catchEntity");
 
-       // set default distance for points inside solids
+       // Set default distance for points inside solids
        double dist = graphicView->toGraphDX(snapRange) * 0.9;
-
-       RS_Entity * entity = container->getNearestEntity(pos, &dist, level);
-
+       Entity * entity = container->getNearestEntity(pos, &dist, level);
        int idx = -1;
 
        if (entity && entity->getParent())
@@ -442,17 +509,19 @@ RS_Entity * RS_Snapper::catchEntity(const Vector & pos, RS2::ResolveLevel level)
 
        if (entity && dist <= graphicView->toGraphDX(snapRange))
        {
-               // highlight:
-               RS_DEBUG->print("RS_Snapper::catchEntity: found: %d", idx);
+               // Highlight:
+               DEBUG->print("Snapper::catchEntity: found: %d", idx);
                return entity;
        }
-       else
-       {
-               RS_DEBUG->print("RS_Snapper::catchEntity: not found");
-               return NULL;
-       }
+//     else
+//     {
+       DEBUG->print("Snapper::catchEntity: not found");
+       return NULL;
+//     }
 
-       RS_DEBUG->print("RS_Snapper::catchEntity: OK");
+//     DEBUG->print("Snapper::catchEntity: OK");
+#endif
+       return NULL;
 }
 
 /**
@@ -463,57 +532,75 @@ RS_Entity * RS_Snapper::catchEntity(const Vector & pos, RS2::ResolveLevel level)
  *        container
  * @return Pointer to the entity or NULL.
  */
-RS_Entity * RS_Snapper::catchEntity(QMouseEvent * e, RS2::ResolveLevel level)
+Entity * Snapper::catchEntity(QMouseEvent * e, RS2::ResolveLevel level)
 {
-    return catchEntity(Vector(graphicView->toGraphX(e->x()),
+#if 0
+       return catchEntity(Vector(graphicView->toGraphX(e->x()),
                graphicView->toGraphY(e->y())), level);
+#endif
+       return NULL;
 }
 
+#if 0
+I think that these suspend() & resume() functions are not used anymore...
+#endif
 /**
  * Suspends this snapper while another action takes place.
  */
-/*virtual*/ void RS_Snapper::suspend()
+/*virtual*/ void Snapper::suspend()
 {
+#if 0
 #warning "!!! This may need to have SetVisibility() called !!!"
 //     deleteSnapper();
        snapSpot = snapCoord = Vector(false);
+#endif
 }
 
 /**
  * Resumes this snapper after it has been suspended.
  */
-/*virtual*/ void RS_Snapper::resume()
+/*virtual*/ void Snapper::resume()
 {
+#if 0
 #warning "!!! This may need to have SetVisibility() called !!!"
 //     drawSnapper();
+#endif
 }
 
 /**
  * Hides the snapper options.
  */
-/*virtual*/ void RS_Snapper::hideOptions()
+/*virtual*/ void Snapper::hideOptions()
 {
-       if (snapMode == RS2::SnapDist && RS_DIALOGFACTORY)
-               RS_DIALOGFACTORY->requestSnapDistOptions(distance, false);
+#if 0
+       if (snapMode == RS2::SnapDist && DIALOGFACTORY)
+               DIALOGFACTORY->requestSnapDistOptions(distance, false);
+#endif
 }
 
 /**
  * Shows the snapper options.
  */
-/*virtual*/ void RS_Snapper::showOptions()
+/*virtual*/ void Snapper::showOptions()
 {
-       if (snapMode == RS2::SnapDist && RS_DIALOGFACTORY)
-               RS_DIALOGFACTORY->requestSnapDistOptions(distance, true);
+#if 0
+       if (snapMode == RS2::SnapDist && DIALOGFACTORY)
+               DIALOGFACTORY->requestSnapDistOptions(distance, true);
+#endif
 }
 
-void RS_Snapper::SetVisible(bool visibility/*= true*/)
+void Snapper::SetVisible(bool visibility/*= true*/)
 {
+#if 0
        visible = visibility;
+#endif
 }
 
-bool RS_Snapper::Visible(void)
+bool Snapper::Visible(void)
 {
+#if 0
        return visible;
+#endif
 }
 
 /*
@@ -522,33 +609,31 @@ need to move the toGuiX/Y() functions into another class as static functions.
 Further inspection seems to rule this out as they are pretty well coupled to the
 GraphicView class... What to do?
 */
-void RS_Snapper::Draw(GraphicView * view, PaintInterface * painter)
+void Snapper::Draw(GraphicView * view, PaintInterface * painter)
 {
+#if 0
        if (finished || !snapSpot.valid || !snapCoord.valid)
                return;
 
 //hm, I don't like graphicView kicking around in here, especially since it now
 //lives inside GraphicView... How to !!! FIX !!!?
 //We'll pass it in for now...
-//     if (snapCoord.valid)
-//     {
        // Snap point (need to make sure the brush is NULL!)
-//     painter->setPen(RS_Pen(RS_Color(0, 127, 255), RS2::Width00, RS2::DashLine));
-       painter->setPen(RS_Pen(RS_Color(255, 127, 0), RS2::Width00, RS2::DashLine));
+//     painter->setPen(Pen(Color(0, 127, 255), RS2::Width00, RS2::DashLine));
+       painter->setPen(Pen(Color(255, 127, 0), RS2::Width00, RS2::DashLine));
        painter->drawCircle(view->toGui(snapCoord), 4);
 
        // Crosshairs
        if (showCrosshairs)
        {
-               painter->setPen(RS_Pen(RS_Color(0, 255, 255), RS2::Width00, RS2::DashLine));
+               painter->setPen(Pen(Color(0, 255, 255), RS2::Width00, RS2::DashLine));
                painter->drawLine(Vector(0, view->toGuiY(snapCoord.y)),
                        Vector(view->getWidth(), view->toGuiY(snapCoord.y)));
                painter->drawLine(Vector(view->toGuiX(snapCoord.x), 0),
                        Vector(view->toGuiX(snapCoord.x), view->getHeight()));
        }
-//     }
 
-       if (/*snapCoord.valid &&*/ snapCoord != snapSpot)
+       if (snapCoord != snapSpot)
        {
                painter->drawLine(view->toGui(snapSpot) + Vector(-5, 0),
                        view->toGui(snapSpot) + Vector(-1, 4));
@@ -559,4 +644,5 @@ void RS_Snapper::Draw(GraphicView * view, PaintInterface * painter)
                painter->drawLine(view->toGui(snapSpot) + Vector(0, -5),
                        view->toGui(snapSpot) + Vector(-4, -1));
        }
+#endif
 }