00001 /*========================================================================== 00002 * Copyright (c) 2002 University of Massachusetts. All Rights Reserved. 00003 * 00004 * Use of the Lemur Toolkit for Language Modeling and Information Retrieval 00005 * is subject to the terms of the software license set forth in the LICENSE 00006 * file included with this software, and also available at 00007 * http://www.lemurproject.org/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 // David Fisher 00013 // init: 02/05/2003 00014 #ifndef _CLUSTERFACTORY_HPP 00015 #define _CLUSTERFACTORY_HPP 00016 // Add new Cluster subclasses here. 00017 #include "ClusterMethods.hpp" 00018 00019 namespace lemur 00020 { 00021 namespace cluster 00022 { 00024 class ClusterFactory { 00025 public: 00027 ClusterFactory(const lemur::api::Index &ind, 00028 const SimilarityMethod &simMethod, 00029 enum ClusterParam::clusterTypes clusterType = ClusterParam::CENTROID, 00030 enum ClusterParam::docModes docMode = ClusterParam::DMAX); 00032 Cluster *allocateCluster(int clusterID = 1); 00033 00034 private: 00035 const lemur::api::Index &index; 00036 const SimilarityMethod ∼ 00037 enum ClusterParam::clusterTypes cType; 00038 enum ClusterParam::docModes dMode; 00039 }; 00040 } 00041 } 00042 00043 #endif