Code

Various snapping cleanups and bug fixes.
[inkscape.git] / src / libavoid / shape.h
index acdb36983f7eb466895d63e2dea383d77cdd0cc8..cdcbe7839ddce3ea66aa105a83b949c8f683645c 100644 (file)
@@ -2,7 +2,7 @@
  * vim: ts=4 sw=4 et tw=0 wm=0
  *
  * libavoid - Fast, Incremental, Object-avoiding Line Router
- * Copyright (C) 2004-2005  Michael Wybrow <mjwybrow@users.sourceforge.net>
+ * Copyright (C) 2004-2006  Michael Wybrow <mjwybrow@users.sourceforge.net>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -17,7 +17,7 @@
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
+ *
 */
 
 #ifndef AVOID_SHAPE_H
 
 namespace Avoid {
 
-typedef unsigned int uint;
-    
-class ShapeRef;
 class VertInf;
-
+class Router;
+class ShapeRef;
 typedef std::list<ShapeRef *> ShapeRefList;
 
-    
+
 class ShapeRef
 {
     public:
-        ShapeRef(uint id, Polygn& poly);
+        ShapeRef(Router *router, unsigned int id, Polygn& poly);
         ~ShapeRef();
+        void setNewPoly(Polygn& poly);
         VertInf *firstVert(void);
         VertInf *lastVert(void);
-        uint id(void);
+        unsigned int id(void);
         Polygn poly(void);
-        
+        Router *router(void);
+        void boundingBox(BBox& bbox);
+
         void makeActive(void);
         void makeInactive(void);
 
         void removeFromGraph(void);
-        
+
     private:
-        uint _id;
+        Router *_router;
+        unsigned int _id;
         Polygn _poly;
         bool _active;
         ShapeRefList::iterator _pos;
@@ -62,9 +64,6 @@ class ShapeRef
 };
 
 
-extern ShapeRefList shapeRefs;
-
-
 }