package cz.cuni.amis.pogamut.ut2004.agent.worldview.map;

import java.util.Collection;
import java.util.Set;

import org.jgrapht.DirectedGraph;
import org.jgrapht.EdgeFactory;
import org.jgrapht.WeightedGraph;

import cz.cuni.amis.pogamut.base.agent.worldview.IWorldView;
import cz.cuni.amis.pogamut.ut2004.communication.messages.INavPoint;
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPointNeighbourLink;

public class UT2004Map implements DirectedGraph<INavPoint, NavPointNeighbourLink>,
                                  WeightedGraph<INavPoint, NavPointNeighbourLink> {
	
	// TODO: mit samostatnou tridu jako adapter pro JGraph
	//       tohleto reservovat pro veci jako: jmeno mapy ... :-) ... a spoustu dalsi zajimavych veci
	
	private IWorldView worldView;
	
	public UT2004Map(IWorldView worldView) {
		this.worldView = worldView;
	}

	@Override
	public int inDegreeOf(INavPoint arg0) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Set<NavPointNeighbourLink> incomingEdgesOf(INavPoint arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int outDegreeOf(INavPoint arg0) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Set<NavPointNeighbourLink> outgoingEdgesOf(INavPoint arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public NavPointNeighbourLink addEdge(INavPoint arg0, INavPoint arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean addEdge(INavPoint arg0, INavPoint arg1,
			NavPointNeighbourLink arg2) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean addVertex(INavPoint arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean containsEdge(INavPoint arg0, INavPoint arg1) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean containsVertex(INavPoint arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public Set<NavPointNeighbourLink> edgeSet() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Set<NavPointNeighbourLink> edgesOf(INavPoint arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Set<NavPointNeighbourLink> getAllEdges(INavPoint arg0,
			INavPoint arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public NavPointNeighbourLink getEdge(INavPoint arg0, INavPoint arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public EdgeFactory<INavPoint, NavPointNeighbourLink> getEdgeFactory() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public INavPoint getEdgeSource(NavPointNeighbourLink arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public INavPoint getEdgeTarget(NavPointNeighbourLink arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public double getEdgeWeight(NavPointNeighbourLink arg0) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public boolean removeAllEdges(
			Collection<? extends NavPointNeighbourLink> arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public Set<NavPointNeighbourLink> removeAllEdges(INavPoint arg0,
			INavPoint arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean removeAllVertices(Collection<? extends INavPoint> arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public boolean removeEdge(NavPointNeighbourLink arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public NavPointNeighbourLink removeEdge(INavPoint arg0, INavPoint arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean removeVertex(INavPoint arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public Set<INavPoint> vertexSet() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean containsEdge(NavPointNeighbourLink arg0) {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void setEdgeWeight(NavPointNeighbourLink arg0, double arg1) {
		// TODO Auto-generated method stub
		
	}

	
	

}
