00001 00002 // 00003 // This file is part of the MADELINE 2 program 00004 // written by Edward H. Trager and Ritu Khanna 00005 // Copyright (c) 2005 by the 00006 // Regents of the University of Michigan. 00007 // All Rights Reserved. 00008 // 00009 // The latest version of this program is available from: 00010 // 00011 // http://eyegene.ophthy.med.umich.edu/madeline/ 00012 // 00013 // Released under the GNU General Public License. 00014 // A copy of the GPL is included in the distribution 00015 // package of this software, or see: 00016 // 00017 // http://www.gnu.org/copyleft/ 00018 // 00019 // ... for licensing details. 00020 // 00022 00023 #ifndef LABELSET_INCLUDED 00024 #define LABELSET_INCLUDED 00025 00026 #include "DataTable.h" 00027 #include "Individual.h" 00028 #include "DataTypes.h" 00029 00030 #include "Utf8String.h" 00031 00032 class LabelSet{ 00033 00034 private: 00035 unsigned _numberOfLabels; 00036 const DataTable * _pedigreeTable; 00037 public: 00038 LabelSet(){} 00039 LabelSet(const DataTable *const pedigreeTable); 00040 unsigned getNumberOfLabels(void) const; 00041 00042 std::vector<UTF8String> getLabelSet(Individual* individual) const; 00043 std::vector<UTF8String> getLabelSubsetByType(DATATYPE type,Individual* individual) const; 00044 std::vector<UTF8String> getRandomLabelSubsetByType(DATATYPE type) const; 00045 std::vector<UTF8String> getLabelNameSet(void) const; 00046 00047 }; 00048 00049 #endif