summaryrefslogtreecommitdiffstats
path: root/src/libavoid/actioninfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libavoid/actioninfo.cpp')
-rw-r--r--src/libavoid/actioninfo.cpp187
1 files changed, 0 insertions, 187 deletions
diff --git a/src/libavoid/actioninfo.cpp b/src/libavoid/actioninfo.cpp
deleted file mode 100644
index b896cb960..000000000
--- a/src/libavoid/actioninfo.cpp
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * vim: ts=4 sw=4 et tw=0 wm=0
- *
- * libavoid - Fast, Incremental, Object-avoiding Line Router
- *
- * Copyright (C) 2004-2011 Monash University
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- * See the file LICENSE.LGPL distributed with the library.
- *
- * Licensees holding a valid commercial license may use this file in
- * accordance with the commercial license agreement provided with the
- * library.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * Author(s): Michael Wybrow
-*/
-
-
-#include <algorithm>
-
-#include "libavoid/actioninfo.h"
-#include "libavoid/shape.h"
-#include "libavoid/connector.h"
-#include "libavoid/junction.h"
-
-namespace Avoid {
-
-
-ActionInfo::ActionInfo(ActionType t, ShapeRef *s, const Polygon& p, bool fM)
- : type(t),
- objPtr(s),
- newPoly(p),
- firstMove(fM)
-{
- COLA_ASSERT(type == ShapeMove);
-}
-
-
-ActionInfo::ActionInfo(ActionType t, ShapeRef *s)
- : type(t),
- objPtr(s)
-
-{
- COLA_ASSERT((type == ShapeAdd) || (type == ShapeRemove) ||
- (type == ShapeMove));
-}
-
-
-ActionInfo::ActionInfo(ActionType t, JunctionRef *j, const Point& p)
- : type(t),
- objPtr(j),
- newPosition(p)
-{
- COLA_ASSERT(type == JunctionMove);
-}
-
-
-ActionInfo::ActionInfo(ActionType t, JunctionRef *j)
- : type(t),
- objPtr(j)
-{
- COLA_ASSERT((type == JunctionAdd) || (type == JunctionRemove) ||
- (type == JunctionMove));
-}
-
-ActionInfo::ActionInfo(ActionType t, ConnRef *c)
- : type(t),
- objPtr(c)
-{
- COLA_ASSERT(type == ConnChange);
-}
-
-
-ActionInfo::ActionInfo(ActionType t, ShapeConnectionPin *p)
- : type(t),
- objPtr(p)
-{
- COLA_ASSERT(type == ConnectionPinChange);
-}
-
-
-ActionInfo::~ActionInfo()
-{
-}
-
-
-Obstacle *ActionInfo::obstacle(void) const
-{
- COLA_ASSERT((type == ShapeMove) || (type == ShapeAdd) ||
- (type == ShapeRemove) || (type == JunctionMove) ||
- (type == JunctionAdd) || (type == JunctionRemove));
- return (static_cast<Obstacle *> (objPtr));
-}
-
-
-ShapeRef *ActionInfo::shape(void) const
-{
- return (dynamic_cast<ShapeRef *> (obstacle()));
-}
-
-
-ConnRef *ActionInfo::conn(void) const
-{
- COLA_ASSERT(type == ConnChange);
- return (static_cast<ConnRef *> (objPtr));
-}
-
-JunctionRef *ActionInfo::junction(void) const
-{
- return (dynamic_cast<JunctionRef *> (obstacle()));
-}
-
-
-void ActionInfo::addConnEndUpdate(const unsigned int type,
- const ConnEnd& connEnd, bool isConnPinMoveUpdate)
-{
- bool alreadyExists = false;
- for (ConnUpdateList::iterator conn = conns.begin();
- conn != conns.end(); ++conn)
- {
- // Look for an existing queued change to the same end.
- if (conn->first == type)
- {
- // Found a queued change to the same endpoint of the
- // connector. If this is a pin change as a result of a
- // shape move, then leave the user created update
- // that was found (since it may be moving the connection
- // to connect to a different shape/pin. But if this is a
- // user change, then overwrite the previous change.
- alreadyExists = true;
- if (!isConnPinMoveUpdate)
- {
- // Overwrite the queued change with this one.
- conn->second = connEnd;
- }
- break;
- }
- }
-
- if (!alreadyExists)
- {
- // Matching change not found, so add this one.
- conns.push_back(std::make_pair(type, connEnd));
- }
-}
-
-
-bool ActionInfo::operator==(const ActionInfo& rhs) const
-{
- return (type == rhs.type) && (objPtr == rhs.objPtr);
-}
-
-
-bool ActionInfo::operator<(const ActionInfo& rhs) const
-{
- if (type != rhs.type)
- {
- return type < rhs.type;
- }
-
- if (type == ConnChange)
- {
- return conn()->id() < rhs.conn()->id();
- }
- else if (type == ConnectionPinChange)
- {
- // NOTE Comparing pointers may not preserve the order of
- // objects, but the order of Connection Pins is not
- // used so this is not an issue here.
- return objPtr < rhs.objPtr;
- }
- else
- {
- return obstacle()->id() < rhs.obstacle()->id();
- }
-}
-
-
-}
-