package adf.component.algorithm.cluster;

import adf.agent.info.AgentInfo;
import adf.agent.info.ScenarioInfo;
import adf.agent.info.WorldInfo;
import rescuecore2.standard.entities.StandardEntity;
import rescuecore2.standard.entities.StandardEntityURN;
import rescuecore2.worldmodel.EntityID;

import java.util.Collection;

public abstract class Clustering{

    protected WorldInfo worldInfo;
    protected AgentInfo agentInfo;
    protected ScenarioInfo scenarioInfo;

    protected int clusterSize;

    protected Collection<EntityID> entityIDs;

    public Clustering(WorldInfo wi, AgentInfo ai, ScenarioInfo si, Collection<EntityID> elements) {
        this(wi, ai, si, elements, -1);
    }

    public Clustering(WorldInfo wi, AgentInfo ai, ScenarioInfo si, Collection<EntityID> elements, int size) {
        this.worldInfo = wi;
        this.agentInfo = ai;
        this.scenarioInfo = si;
        this.clusterSize = size;
        this.entityIDs = elements;
    }

    public Clustering calc() {
        return this;
    }

    public abstract int getClusterNumber();

    public abstract int getClusterIndex(EntityID id);

    public abstract Collection<EntityID> getClusterEntities(int index);

    //public abstract Collection<ClusterData> getClusters();
}

@@ -521,24 +521,30 @@
 lection%3C
+Standard
 Entity
-ID
 %3E entity
@@ -623,32 +623,38 @@
  Collection%3C
+Standard
 Entity
-ID
 %3E elements) 
@@ -780,24 +780,30 @@
 lection%3C
+Standard
 Entity
-ID
 %3E elemen
@@ -1173,24 +1173,30 @@
 lection%3C
+Standard
 Entity
-ID
 %3E getClu
@@ -1223,69 +1223,7 @@
 ex);
-%0A%0A    //public abstract Collection%3CClusterData%3E getClusters();
 %0A%7D%0A

fix method