// 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();
// 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;
}
/**
*
* @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;
}
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);
}
/**
* @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);
}
/**
* @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);
}
/**
* @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)
{
}
}
- 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);
}
/**
* @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);
}
/**
* @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);
}
/**
* @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);
}
/**
* @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);
}
/**
* @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);
}
/**
* @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);
ret = retx;
return ret;
+#endif
+ return Vector(false);
}
/**
* @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);
}
/**
* @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);
}
/**
* 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())
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;
}
/**
* 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
}
/*
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));
painter->drawLine(view->toGui(snapSpot) + Vector(0, -5),
view->toGui(snapSpot) + Vector(-4, -1));
}
+#endif
}