utils.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: utils.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 19:35:20  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R6.7
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. /*  $Id: utils.cpp,v 1000.1 2004/06/01 19:35:20 gouriano Exp $
  10. * ===========================================================================
  11. *
  12. *                            PUBLIC DOMAIN NOTICE
  13. *               National Center for Biotechnology Information
  14. *
  15. *  This software/database is a "United States Government Work" under the
  16. *  terms of the United States Copyright Act.  It was written as part of
  17. *  the author's official duties as a United States Government employee and
  18. *  thus cannot be copyrighted.  This software/database is freely available
  19. *  to the public for use. The National Library of Medicine and the U.S.
  20. *  Government have not placed any restriction on its use or reproduction.
  21. *
  22. *  Although all reasonable efforts have been taken to ensure the accuracy
  23. *  and reliability of the software and data, the NLM and the U.S.
  24. *  Government do not and cannot warrant the performance or results that
  25. *  may be obtained by using this software or data. The NLM and the U.S.
  26. *  Government disclaim all warranties, express or implied, including
  27. *  warranties of performance, merchantability or fitness for any particular
  28. *  purpose.
  29. *
  30. *  Please cite the author in any work or product based on this material.
  31. *
  32. * ===========================================================================
  33. *
  34. * File Name:  utils.cpp
  35. *
  36. * Author:  Michael Domrachev
  37. *
  38. * File Description:  Taxon1 object module utility functions
  39. *
  40. */
  41. #include <ncbi_pch.hpp>
  42. #include <objects/taxon1/taxon1.hpp>
  43. #include "ctreecont.hpp"
  44. #include "cache.hpp"
  45. BEGIN_NCBI_SCOPE
  46. BEGIN_objects_SCOPE
  47. //////////////////////////////////
  48. //  CTaxon1Node implementation
  49. //
  50. #define TXC_INH_DIV 0x4000000
  51. #define TXC_INH_GC  0x8000000
  52. #define TXC_INH_MGC 0x10000000
  53. /* the following three flags are the same (it is not a bug) */
  54. #define TXC_SUFFIX  0x20000000
  55. #define TXC_UPDATED 0x20000000
  56. #define TXC_UNCULTURED 0x20000000
  57. #define TXC_GBHIDE  0x40000000
  58. #define TXC_STHIDE  0x80000000
  59. short
  60. CTaxon1Node::GetRank() const
  61. {
  62.     return ((m_ref->GetCde())&0xff)-1;
  63. }
  64. short
  65. CTaxon1Node::GetDivision() const
  66. {
  67.     return (m_ref->GetCde()>>8)&0x3f;
  68. }
  69. short
  70. CTaxon1Node::GetGC() const
  71. {
  72.     return (m_ref->GetCde()>>(8+6))&0x3f;
  73. }
  74. short
  75. CTaxon1Node::GetMGC() const
  76. {
  77.     return (m_ref->GetCde()>>(8+6+6))&0x3f;
  78. }
  79. bool
  80. CTaxon1Node::IsUncultured() const
  81. {
  82.     return m_ref->GetCde() & TXC_UNCULTURED ? true : false;
  83. }
  84. bool
  85. CTaxon1Node::IsGenBankHidden() const
  86. {
  87.     return m_ref->GetCde() & TXC_GBHIDE ? true : false;
  88. }
  89. END_objects_SCOPE
  90. END_NCBI_SCOPE