package com.c2kernel.graph.model; public abstract class DirectedEdge { // Persistent data private int mId = -1; private GraphPoint mOriginPoint = new GraphPoint(0, 0); private GraphPoint mTerminusPoint = new GraphPoint(0, 0); private int mOriginVertexId = -1; private int mTerminusVertexId = -1; public void setID(int id) { mId = id; } public int getID() { return mId; } public void setOriginPoint(GraphPoint p) { mOriginPoint = p; } public GraphPoint getOriginPoint() { return mOriginPoint; } public void setTerminusPoint(GraphPoint p) { mTerminusPoint = p; } public GraphPoint getTerminusPoint() { return mTerminusPoint; } public boolean containsPoint(GraphPoint p) { int midX = mOriginPoint.x + (mTerminusPoint.x - mOriginPoint.x)/2; int midY = mOriginPoint.y + (mTerminusPoint.y - mOriginPoint.y)/2; int minX = midX - 10; int minY = midY - 10; int maxX = midX + 10; int maxY = midY + 10; return (p.x >= minX) && (p.x <= maxX) && (p.y >= minY) && (p.y <= maxY); } public void setOriginVertexId(int id) { mOriginVertexId = id; } public int getOriginVertexId() { return mOriginVertexId; } public void setTerminusVertexId(int id) { mTerminusVertexId = id; } public int getTerminusVertexId() { return mTerminusVertexId; } public void setName(String name) { } public String getName() { return null; } }