1 // $Id: gc_trait_allele.cpp,v 1.4 2011/03/08 19:22:00 bobgian Exp $
2 
3 /*
4   Copyright 2002  Mary Kuhner, Jon Yamato, and Joseph Felsenstein
5 
6   This software is distributed free of charge for non-commercial use
7   and is copyrighted.  Of course, we do not guarantee that the software
8   works, and are not responsible for any damage you may cause or have.
9 */
10 
11 #include <cassert>
12 
13 #include "gc_default.h"
14 #include "gc_trait_allele.h"
15 #include "gc_trait_err.h"
16 
17 //------------------------------------------------------------------------------------
18 
gcTraitAllele()19 gcTraitAllele::gcTraitAllele()
20     :
21     m_hasTraitId(false),
22     m_traitId(gcdefault::badIndex)
23 {
24 }
25 
~gcTraitAllele()26 gcTraitAllele::~gcTraitAllele()
27 {
28 }
29 
30 bool
HasTraitId() const31 gcTraitAllele::HasTraitId() const
32 {
33     return m_hasTraitId;
34 }
35 
36 size_t
GetTraitId() const37 gcTraitAllele::GetTraitId() const
38 {
39     assert(HasTraitId());
40     return m_traitId;
41 }
42 
43 void
SetTraitId(size_t traitId)44 gcTraitAllele::SetTraitId(size_t traitId)
45 {
46     m_hasTraitId = true;
47     m_traitId = traitId;
48 }
49 
50 void
UnsetTraitId()51 gcTraitAllele::UnsetTraitId()
52 {
53     m_hasTraitId = false;
54 }
55 
56 void
SetName(wxString alleleName)57 gcTraitAllele::SetName(wxString alleleName)
58 {
59     if(alleleName.Find(' ') != wxNOT_FOUND)
60     {
61         throw gc_trait_allele_name_spaces(alleleName);
62     }
63     GCQuantum::SetName(alleleName);
64 }
65 
66 //____________________________________________________________________________________
67