return false;
}
/** dataObject is coreObject */
for (int i = 0; i < seedList.size(); i++) {
DataObject seedListDataObject = (DataObject) seedList.get(i);
/** label this seedListDataObject with the current clusterID, because it is in epsilon-range */
seedListDataObject.setClusterLabel(clusterID);
if (seedListDataObject.equals(dataObject)) {
seedList.remove(i);
i--;
}
}
/** Iterate the seedList of the startDataObject */
for (int j = 0; j < seedList.size(); j++) {
DataObject seedListDataObject = (DataObject) seedList.get(j);
List seedListDataObject_Neighbourhood = database.epsilonRangeQuery(getEpsilon(), seedListDataObject);
/** seedListDataObject is coreObject */
if (seedListDataObject_Neighbourhood.size() >= getMinPoints()) {
for (int i = 0; i < seedListDataObject_Neighbourhood.size(); i++) {
DataObject p = (DataObject) seedListDataObject_Neighbourhood.get(i);
if (p.getClusterLabel() == DataObject.UNCLASSIFIED || p.getClusterLabel() == DataObject.NOISE) {
if (p.getClusterLabel() == DataObject.UNCLASSIFIED) {
seedList.add(p);
}
p.setClusterLabel(clusterID);
}
}
}
seedList.remove(j);
j--;