Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResidueKinWriter.hh
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @brief Class to write kinemage-formatted output for Residue and Conformation
11 /// @file core/conformation/ResidueKinWriter.hh
12 /// @author Andrew Leaver-Fay
13 
14 #ifndef INCLUDED_core_conformation_ResidueKinWriter_hh
15 #define INCLUDED_core_conformation_ResidueKinWriter_hh
16 
17 
18 // Unit headers
20 
21 // Package headers
24 #include <core/types.hh>
25 
26 // Utility headers
27 #include <utility/pointer/ReferenceCount.hh>
28 
29 // C++ headers
30 #include <iosfwd>
31 #include <string>
32 
33 namespace core {
34 namespace conformation {
35 
37  std::ostream & ostr,
38  Size const kin_number,
39  std::string const & title,
40  Vector const & ctr
41 );
42 
44 {
45 public:
46  typedef core::Size Size;
47 
48 public:
50  virtual ~ResidueKinWriter();
51 
52  /// @brief write the header for the kinemage to center on this residue
53  void write_kin_header(
54  std::ostream & ostr,
55  core::conformation::Residue const & rsd,
56  core::Size atom_to_center_on = 0, // keep this 0 to center the kinemage on the neighbor atom
57  core::Size which_kin = 1 // multiple kineamges can be put in a single kinemage file.
58  ) const;
59 
60  /// @brief Write out the coordinates for a particular residue; the kinemage tag
61  /// is assumed to have been writen already.
62  void
64  std::ostream & ostr,
65  core::conformation::Residue const & rsd,
66  bool is_instance = false
67  ) const;
68 
69  void master( std::string const & setting );
70  void dominant( bool setting );
71  void animate( bool setting );
72  void group( bool setting );
73  void write_virtual_atoms( bool setting );
74 
75  /// @brief Calling this function with the setting "true", turns on polar, apolar, and backbone hydrogen writing.
76  /// Calling this function with the setting "false", turns off polar, apolar, and backbone hydrogen writing.
77  void write_hydrogens( bool setting );
78 
79  void write_apolar_hydrogens( bool setting );
80  void write_polar_hydrogens( bool setting );
81  void write_backbone_hydrogens( bool setting );
82 
83 private:
85  bool dominant_;
86  bool animate_;
87  bool group_; // false for subgroup
92 };
93 
95 {
96 public:
97  virtual ~ConformationKinWriter();
98 
99  /// @brief Write out the coordinates for an entire conformation; this includes
100  /// inter-residue bonds that would be missed by the ResidueKinWriter.
101  void
102  write_coords(
103  std::ostream & ostr,
105  bool is_instance = false
106  ) const;
107 
108  void write_virtual_atoms( bool setting );
109  void master( std::string const & setting );
110 
111 private:
112 
115 
116 };
117 
118 
119 } // conformation
120 } // core
121 
122 
123 
124 #endif