9 #ifndef RMF_SEQUENCE_DECORATORS_H
10 #define RMF_SEQUENCE_DECORATORS_H
12 #include <RMF/config.h>
19 #include <RMF/internal/paths.h>
21 #include <boost/lexical_cast.hpp>
39 residue_index_(residue_index),
40 residue_type_(residue_type) {
44 Int get_residue_index()
const {
46 return get_node().get_value(residue_index_);
47 } RMF_DECORATOR_CATCH( );
49 Int get_frame_residue_index()
const {
51 return get_node().get_frame_value(residue_index_);
52 } RMF_DECORATOR_CATCH( );
54 Int get_static_residue_index()
const {
56 return get_node().get_static_value(residue_index_);
57 } RMF_DECORATOR_CATCH( );
61 String get_residue_type()
const {
63 return get_node().get_value(residue_type_);
64 } RMF_DECORATOR_CATCH( );
66 String get_frame_residue_type()
const {
68 return get_node().get_frame_value(residue_type_);
69 } RMF_DECORATOR_CATCH( );
71 String get_static_residue_type()
const {
73 return get_node().get_static_value(residue_type_);
74 } RMF_DECORATOR_CATCH( );
77 static std::string get_decorator_type_name() {
78 return "ResidueConst";
94 void set_residue_index(
Int v) {
97 } RMF_DECORATOR_CATCH( );
99 void set_frame_residue_index(
Int v) {
102 } RMF_DECORATOR_CATCH( );
104 void set_static_residue_index(
Int v) {
107 } RMF_DECORATOR_CATCH( );
111 void set_residue_type(
String v) {
114 } RMF_DECORATOR_CATCH( );
116 void set_frame_residue_type(
String v) {
119 } RMF_DECORATOR_CATCH( );
121 void set_static_residue_type(
String v) {
124 } RMF_DECORATOR_CATCH( );
127 static std::string get_decorator_type_name() {
143 cat_(fh.get_category(
"sequence")),
144 residue_index_(fh.
get_key<IntTag>(cat_,
"residue index")), residue_type_(fh.
get_key<StringTag>(cat_,
"residue type")) {
147 cat_(fh.get_category(
"sequence")),
148 residue_index_(fh.
get_key<IntTag>(cat_,
"residue index")), residue_type_(fh.
get_key<StringTag>(cat_,
"residue type")) {
152 RMF_USAGE_CHECK((nh.get_type() ==
RMF::REPRESENTATION), std::string(
"Bad node type. Got \"")
153 + boost::lexical_cast<std::string>(nh.get_type())
154 +
"\" in decorator type Residue");
160 RMF_USAGE_CHECK((nh.get_type() ==
RMF::REPRESENTATION), std::string(
"Bad node type. Got \"")
161 + boost::lexical_cast<std::string>(nh.get_type())
162 +
"\" in decorator type Residue");
163 return Residue(nh, residue_index_,
170 && !nh.get_value(residue_index_).get_is_null();
174 && !nh.get_static_value(residue_index_).get_is_null()
175 && !nh.get_static_value(residue_type_).get_is_null();
177 RMF_SHOWABLE(ResidueFactory,
"ResidueFactory");
180 struct ResidueConstFactory:
public ResidueFactory {
181 ResidueConstFactory(FileConstHandle fh):
184 ResidueConstFactory(FileHandle fh):
213 sequence_offset_(sequence_offset),
214 uniprot_accession_(uniprot_accession),
215 chain_type_(chain_type) {
219 String get_chain_id()
const {
221 return get_node().get_value(chain_id_);
222 } RMF_DECORATOR_CATCH( );
224 String get_frame_chain_id()
const {
226 return get_node().get_frame_value(chain_id_);
227 } RMF_DECORATOR_CATCH( );
229 String get_static_chain_id()
const {
231 return get_node().get_static_value(chain_id_);
232 } RMF_DECORATOR_CATCH( );
236 String get_sequence()
const {
238 if (!get_node().get_has_value(sequence_))
return "";
239 return get_node().get_value(sequence_);
240 } RMF_DECORATOR_CATCH( );
242 String get_frame_sequence()
const {
244 if (!get_node().get_has_value(sequence_))
return "";
245 return get_node().get_frame_value(sequence_);
246 } RMF_DECORATOR_CATCH( );
248 String get_static_sequence()
const {
250 if (!get_node().get_has_value(sequence_))
return "";
251 return get_node().get_static_value(sequence_);
252 } RMF_DECORATOR_CATCH( );
256 Int get_sequence_offset()
const {
258 if (!get_node().get_has_value(sequence_offset_))
return 0;
259 return get_node().get_value(sequence_offset_);
260 } RMF_DECORATOR_CATCH( );
262 Int get_frame_sequence_offset()
const {
264 if (!get_node().get_has_value(sequence_offset_))
return 0;
265 return get_node().get_frame_value(sequence_offset_);
266 } RMF_DECORATOR_CATCH( );
268 Int get_static_sequence_offset()
const {
270 if (!get_node().get_has_value(sequence_offset_))
return 0;
271 return get_node().get_static_value(sequence_offset_);
272 } RMF_DECORATOR_CATCH( );
276 String get_uniprot_accession()
const {
278 if (!get_node().get_has_value(uniprot_accession_))
return "";
279 return get_node().get_value(uniprot_accession_);
280 } RMF_DECORATOR_CATCH( );
282 String get_frame_uniprot_accession()
const {
284 if (!get_node().get_has_value(uniprot_accession_))
return "";
285 return get_node().get_frame_value(uniprot_accession_);
286 } RMF_DECORATOR_CATCH( );
288 String get_static_uniprot_accession()
const {
290 if (!get_node().get_has_value(uniprot_accession_))
return "";
291 return get_node().get_static_value(uniprot_accession_);
292 } RMF_DECORATOR_CATCH( );
296 String get_chain_type()
const {
298 if (!get_node().get_has_value(chain_type_))
return "UnknownChainType";
299 return get_node().get_value(chain_type_);
300 } RMF_DECORATOR_CATCH( );
302 String get_frame_chain_type()
const {
304 if (!get_node().get_has_value(chain_type_))
return "UnknownChainType";
305 return get_node().get_frame_value(chain_type_);
306 } RMF_DECORATOR_CATCH( );
308 String get_static_chain_type()
const {
310 if (!get_node().get_has_value(chain_type_))
return "UnknownChainType";
311 return get_node().get_static_value(chain_type_);
312 } RMF_DECORATOR_CATCH( );
315 static std::string get_decorator_type_name() {
318 RMF_SHOWABLE(
ChainConst,
"Chain: " << get_node());
338 void set_chain_id(
String v) {
341 } RMF_DECORATOR_CATCH( );
343 void set_frame_chain_id(
String v) {
346 } RMF_DECORATOR_CATCH( );
348 void set_static_chain_id(
String v) {
351 } RMF_DECORATOR_CATCH( );
355 void set_sequence(
String v) {
358 } RMF_DECORATOR_CATCH( );
360 void set_frame_sequence(
String v) {
363 } RMF_DECORATOR_CATCH( );
365 void set_static_sequence(
String v) {
368 } RMF_DECORATOR_CATCH( );
372 void set_sequence_offset(
Int v) {
374 get_node().
set_value(sequence_offset_, v);
375 } RMF_DECORATOR_CATCH( );
377 void set_frame_sequence_offset(
Int v) {
380 } RMF_DECORATOR_CATCH( );
382 void set_static_sequence_offset(
Int v) {
385 } RMF_DECORATOR_CATCH( );
389 void set_uniprot_accession(
String v) {
391 get_node().
set_value(uniprot_accession_, v);
392 } RMF_DECORATOR_CATCH( );
394 void set_frame_uniprot_accession(
String v) {
397 } RMF_DECORATOR_CATCH( );
399 void set_static_uniprot_accession(
String v) {
402 } RMF_DECORATOR_CATCH( );
406 void set_chain_type(
String v) {
409 } RMF_DECORATOR_CATCH( );
411 void set_frame_chain_type(
String v) {
414 } RMF_DECORATOR_CATCH( );
416 void set_static_chain_type(
String v) {
419 } RMF_DECORATOR_CATCH( );
422 static std::string get_decorator_type_name() {
444 cat_(fh.get_category(
"sequence")),
445 chain_id_(fh.
get_key<StringTag>(cat_,
"chain id")), sequence_(fh.
get_key<StringTag>(cat_,
"sequence")), sequence_offset_(fh.
get_key<IntTag>(cat_,
"sequence offset")), uniprot_accession_(fh.
get_key<StringTag>(cat_,
"uniprot accession")), chain_type_(fh.
get_key<StringTag>(cat_,
"chain type")) {
448 cat_(fh.get_category(
"sequence")),
449 chain_id_(fh.
get_key<StringTag>(cat_,
"chain id")), sequence_(fh.
get_key<StringTag>(cat_,
"sequence")), sequence_offset_(fh.
get_key<IntTag>(cat_,
"sequence offset")), uniprot_accession_(fh.
get_key<StringTag>(cat_,
"uniprot accession")), chain_type_(fh.
get_key<StringTag>(cat_,
"chain type")) {
454 + boost::lexical_cast<std::string>(nh.
get_type())
455 +
"\" in decorator type Chain");
465 + boost::lexical_cast<std::string>(nh.
get_type())
466 +
"\" in decorator type Chain");
467 return Chain(nh, chain_id_,
477 && !nh.get_value(chain_id_).get_is_null();
481 && !nh.get_static_value(chain_id_).get_is_null();
483 RMF_SHOWABLE(ChainFactory,
"ChainFactory");
486 struct ChainConstFactory:
public ChainFactory {
487 ChainConstFactory(FileConstHandle fh):
490 ChainConstFactory(FileHandle fh):
509 residue_indexes_(residue_indexes) {
513 Ints get_residue_indexes()
const {
515 return get_node().get_value(residue_indexes_);
516 } RMF_DECORATOR_CATCH( );
518 Ints get_frame_residue_indexes()
const {
520 return get_node().get_frame_value(residue_indexes_);
521 } RMF_DECORATOR_CATCH( );
523 Ints get_static_residue_indexes()
const {
525 return get_node().get_static_value(residue_indexes_);
526 } RMF_DECORATOR_CATCH( );
529 static std::string get_decorator_type_name() {
530 return "FragmentConst";
544 void set_residue_indexes(
Ints v) {
546 get_node().
set_value(residue_indexes_, v);
547 } RMF_DECORATOR_CATCH( );
549 void set_frame_residue_indexes(
Ints v) {
552 } RMF_DECORATOR_CATCH( );
554 void set_static_residue_indexes(
Ints v) {
557 } RMF_DECORATOR_CATCH( );
560 static std::string get_decorator_type_name() {
574 cat_(fh.get_category(
"sequence")),
575 residue_indexes_(fh.
get_key<IntsTag>(cat_,
"residue indexes")) {
578 cat_(fh.get_category(
"sequence")),
579 residue_indexes_(fh.
get_key<IntsTag>(cat_,
"residue indexes")) {
584 + boost::lexical_cast<std::string>(nh.
get_type())
585 +
"\" in decorator type Fragment");
591 + boost::lexical_cast<std::string>(nh.
get_type())
592 +
"\" in decorator type Fragment");
593 return Fragment(nh, residue_indexes_);
599 && !nh.get_value(residue_indexes_).get_is_null();
603 && !nh.get_static_value(residue_indexes_).get_is_null();
605 RMF_SHOWABLE(FragmentFactory,
"FragmentFactory");
608 struct FragmentConstFactory:
public FragmentFactory {
609 FragmentConstFactory(FileConstHandle fh):
610 FragmentFactory(fh) {
612 FragmentConstFactory(FileHandle fh):
613 FragmentFactory(fh) {
635 Ints get_indexes()
const {
637 return get_node().get_value(indexes_);
638 } RMF_DECORATOR_CATCH( );
640 Ints get_frame_indexes()
const {
642 return get_node().get_frame_value(indexes_);
643 } RMF_DECORATOR_CATCH( );
645 Ints get_static_indexes()
const {
647 return get_node().get_static_value(indexes_);
648 } RMF_DECORATOR_CATCH( );
651 static std::string get_decorator_type_name() {
652 return "BackwardsCompatibilityFragmentConst";
666 void set_indexes(
Ints v) {
669 } RMF_DECORATOR_CATCH( );
671 void set_frame_indexes(
Ints v) {
674 } RMF_DECORATOR_CATCH( );
676 void set_static_indexes(
Ints v) {
679 } RMF_DECORATOR_CATCH( );
682 static std::string get_decorator_type_name() {
683 return "BackwardsCompatibilityFragment";
696 cat_(fh.get_category(
"sequence")),
697 indexes_(fh.
get_key<IntsTag>(cat_,
"indexes")) {
700 cat_(fh.get_category(
"sequence")),
701 indexes_(fh.
get_key<IntsTag>(cat_,
"indexes")) {
706 + boost::lexical_cast<std::string>(nh.
get_type())
707 +
"\" in decorator type BackwardsCompatibilityFragment");
713 + boost::lexical_cast<std::string>(nh.
get_type())
714 +
"\" in decorator type BackwardsCompatibilityFragment");
721 && !nh.get_value(indexes_).get_is_null();
725 && !nh.get_static_value(indexes_).get_is_null();
727 RMF_SHOWABLE(BackwardsCompatibilityFragmentFactory,
"BackwardsCompatibilityFragmentFactory");
730 struct BackwardsCompatibilityFragmentConstFactory:
public BackwardsCompatibilityFragmentFactory {
731 BackwardsCompatibilityFragmentConstFactory(FileConstHandle fh):
732 BackwardsCompatibilityFragmentFactory(fh) {
734 BackwardsCompatibilityFragmentConstFactory(FileHandle fh):
735 BackwardsCompatibilityFragmentFactory(fh) {
749 std::array<IntKey, 2> residue_indexes_;
751 std::array<IntKey, 2> residue_indexes):
753 residue_indexes_(residue_indexes) {
757 IntRange get_residue_indexes()
const {
760 ret[0] = get_node().get_value(residue_indexes_[0]);
761 ret[1] = get_node().get_value(residue_indexes_[1]);
763 } RMF_DECORATOR_CATCH( );
765 IntRange get_static_residue_indexes()
const {
768 ret[0] = get_node().get_static_value(residue_indexes_[0]);
769 ret[1] = get_node().get_static_value(residue_indexes_[1]);
771 } RMF_DECORATOR_CATCH( );
773 IntRange get_frame_residue_indexes()
const {
776 ret[0] = get_node().get_frame_value(residue_indexes_[0]);
777 ret[1] = get_node().get_frame_value(residue_indexes_[1]);
779 } RMF_DECORATOR_CATCH( );
782 static std::string get_decorator_type_name() {
783 return "DomainConst";
785 RMF_SHOWABLE(
DomainConst,
"Domain: " << get_node());
792 std::array<IntKey, 2> residue_indexes):
797 void set_residue_indexes(
Int v0,
Int v1) {
799 get_node().
set_value(residue_indexes_[0], v0);
800 get_node().
set_value(residue_indexes_[1], v1);
801 } RMF_DECORATOR_CATCH( );
803 void set_frame_residue_indexes(
Int v0,
Int v1) {
807 } RMF_DECORATOR_CATCH( );
809 void set_static_residue_indexes(
Int v0,
Int v1) {
813 } RMF_DECORATOR_CATCH( );
816 static std::string get_decorator_type_name() {
826 std::array<IntKey, 2> residue_indexes_;
827 template <
class H> std::array<IntKey, 2> get_residue_indexes_keys(H fh)
const {
828 std::array<IntKey, 2> ret;
829 ret[0] = fh.template get_key<IntTag>(cat_,
"first residue index");
830 ret[1] = fh.template get_key<IntTag>(cat_,
"last residue index");
836 cat_(fh.get_category(
"sequence")),
837 residue_indexes_(get_residue_indexes_keys(fh)) {
840 cat_(fh.get_category(
"sequence")),
841 residue_indexes_(get_residue_indexes_keys(fh)) {
846 + boost::lexical_cast<std::string>(nh.
get_type())
847 +
"\" in decorator type Domain");
853 + boost::lexical_cast<std::string>(nh.
get_type())
854 +
"\" in decorator type Domain");
855 return Domain(nh, residue_indexes_);
861 && !nh.get_value(residue_indexes_[0]).get_is_null() && !nh.get_value(residue_indexes_[1]).get_is_null() && nh.get_value(residue_indexes_[0]) < nh.get_value(residue_indexes_[1]);
865 && !nh.get_static_value(residue_indexes_[0]).get_is_null() && !nh.get_static_value(residue_indexes_[1]).get_is_null() && nh.get_value(residue_indexes_[0]) < nh.get_value(residue_indexes_[1]);
867 RMF_SHOWABLE(DomainFactory,
"DomainFactory");
870 struct DomainConstFactory:
public DomainFactory {
871 DomainConstFactory(FileConstHandle fh):
874 DomainConstFactory(FileHandle fh):
893 type_name_(type_name) {
897 String get_type_name()
const {
899 return get_node().get_value(type_name_);
900 } RMF_DECORATOR_CATCH( );
902 String get_frame_type_name()
const {
904 return get_node().get_frame_value(type_name_);
905 } RMF_DECORATOR_CATCH( );
907 String get_static_type_name()
const {
909 return get_node().get_static_value(type_name_);
910 } RMF_DECORATOR_CATCH( );
913 static std::string get_decorator_type_name() {
916 RMF_SHOWABLE(
TypedConst,
"Typed: " << get_node());
928 void set_type_name(
String v) {
931 } RMF_DECORATOR_CATCH( );
933 void set_frame_type_name(
String v) {
936 } RMF_DECORATOR_CATCH( );
938 void set_static_type_name(
String v) {
941 } RMF_DECORATOR_CATCH( );
944 static std::string get_decorator_type_name() {
958 cat_(fh.get_category(
"sequence")),
959 type_name_(fh.
get_key<StringTag>(cat_,
"type name")) {
962 cat_(fh.get_category(
"sequence")),
963 type_name_(fh.
get_key<StringTag>(cat_,
"type name")) {
968 + boost::lexical_cast<std::string>(nh.
get_type())
969 +
"\" in decorator type Typed");
975 + boost::lexical_cast<std::string>(nh.
get_type())
976 +
"\" in decorator type Typed");
977 return Typed(nh, type_name_);
983 && !nh.get_value(type_name_).get_is_null();
987 && !nh.get_static_value(type_name_).get_is_null();
989 RMF_SHOWABLE(TypedFactory,
"TypedFactory");
992 struct TypedConstFactory:
public TypedFactory {
993 TypedConstFactory(FileConstHandle fh):
996 TypedConstFactory(FileHandle fh):
1015 copy_index_(copy_index) {
1019 Int get_copy_index()
const {
1021 return get_node().get_value(copy_index_);
1022 } RMF_DECORATOR_CATCH( );
1024 Int get_frame_copy_index()
const {
1026 return get_node().get_frame_value(copy_index_);
1027 } RMF_DECORATOR_CATCH( );
1029 Int get_static_copy_index()
const {
1031 return get_node().get_static_value(copy_index_);
1032 } RMF_DECORATOR_CATCH( );
1035 static std::string get_decorator_type_name() {
1038 RMF_SHOWABLE(
CopyConst,
"Copy: " << get_node());
1050 void set_copy_index(
Int v) {
1053 } RMF_DECORATOR_CATCH( );
1055 void set_frame_copy_index(
Int v) {
1058 } RMF_DECORATOR_CATCH( );
1060 void set_static_copy_index(
Int v) {
1063 } RMF_DECORATOR_CATCH( );
1066 static std::string get_decorator_type_name() {
1080 cat_(fh.get_category(
"sequence")),
1081 copy_index_(fh.
get_key<IntTag>(cat_,
"copy index")) {
1084 cat_(fh.get_category(
"sequence")),
1085 copy_index_(fh.
get_key<IntTag>(cat_,
"copy index")) {
1090 + boost::lexical_cast<std::string>(nh.
get_type())
1091 +
"\" in decorator type Copy");
1097 + boost::lexical_cast<std::string>(nh.
get_type())
1098 +
"\" in decorator type Copy");
1099 return Copy(nh, copy_index_);
1105 && !nh.get_value(copy_index_).get_is_null();
1109 && !nh.get_static_value(copy_index_).get_is_null();
1111 RMF_SHOWABLE(CopyFactory,
"CopyFactory");
1114 struct CopyConstFactory:
public CopyFactory {
1115 CopyConstFactory(FileConstHandle fh):
1118 CopyConstFactory(FileHandle fh):
1137 state_index_(state_index) {
1141 Int get_state_index()
const {
1143 return get_node().get_value(state_index_);
1144 } RMF_DECORATOR_CATCH( );
1146 Int get_frame_state_index()
const {
1148 return get_node().get_frame_value(state_index_);
1149 } RMF_DECORATOR_CATCH( );
1151 Int get_static_state_index()
const {
1153 return get_node().get_static_value(state_index_);
1154 } RMF_DECORATOR_CATCH( );
1157 static std::string get_decorator_type_name() {
1158 return "StateConst";
1160 RMF_SHOWABLE(
StateConst,
"State: " << get_node());
1172 void set_state_index(
Int v) {
1175 } RMF_DECORATOR_CATCH( );
1177 void set_frame_state_index(
Int v) {
1180 } RMF_DECORATOR_CATCH( );
1182 void set_static_state_index(
Int v) {
1185 } RMF_DECORATOR_CATCH( );
1188 static std::string get_decorator_type_name() {
1202 cat_(fh.get_category(
"sequence")),
1203 state_index_(fh.
get_key<IntTag>(cat_,
"state index")) {
1206 cat_(fh.get_category(
"sequence")),
1207 state_index_(fh.
get_key<IntTag>(cat_,
"state index")) {
1212 + boost::lexical_cast<std::string>(nh.
get_type())
1213 +
"\" in decorator type State");
1219 + boost::lexical_cast<std::string>(nh.
get_type())
1220 +
"\" in decorator type State");
1221 return State(nh, state_index_);
1227 && !nh.get_value(state_index_).get_is_null();
1231 && !nh.get_static_value(state_index_).get_is_null();
1233 RMF_SHOWABLE(StateFactory,
"StateFactory");
1236 struct StateConstFactory:
public StateFactory {
1237 StateConstFactory(FileConstHandle fh):
1240 StateConstFactory(FileHandle fh):
1259 explicit_resolution_(explicit_resolution) {
1263 Float get_explicit_resolution()
const {
1265 return get_node().get_value(explicit_resolution_);
1266 } RMF_DECORATOR_CATCH( );
1268 Float get_frame_explicit_resolution()
const {
1270 return get_node().get_frame_value(explicit_resolution_);
1271 } RMF_DECORATOR_CATCH( );
1273 Float get_static_explicit_resolution()
const {
1275 return get_node().get_static_value(explicit_resolution_);
1276 } RMF_DECORATOR_CATCH( );
1279 static std::string get_decorator_type_name() {
1280 return "ExplicitResolutionConst";
1294 void set_explicit_resolution(
Float v) {
1296 get_node().
set_value(explicit_resolution_, v);
1297 } RMF_DECORATOR_CATCH( );
1299 void set_frame_explicit_resolution(
Float v) {
1302 } RMF_DECORATOR_CATCH( );
1304 void set_static_explicit_resolution(
Float v) {
1307 } RMF_DECORATOR_CATCH( );
1310 static std::string get_decorator_type_name() {
1311 return "ExplicitResolution";
1324 cat_(fh.get_category(
"sequence")),
1325 explicit_resolution_(fh.
get_key<FloatTag>(cat_,
"explicit resolution")) {
1328 cat_(fh.get_category(
"sequence")),
1329 explicit_resolution_(fh.
get_key<FloatTag>(cat_,
"explicit resolution")) {
1334 + boost::lexical_cast<std::string>(nh.
get_type())
1335 +
"\" in decorator type ExplicitResolution");
1341 + boost::lexical_cast<std::string>(nh.
get_type())
1342 +
"\" in decorator type ExplicitResolution");
1349 && !nh.get_value(explicit_resolution_).get_is_null();
1353 && !nh.get_static_value(explicit_resolution_).get_is_null();
1355 RMF_SHOWABLE(ExplicitResolutionFactory,
"ExplicitResolutionFactory");
1358 struct ExplicitResolutionConstFactory:
public ExplicitResolutionFactory {
1359 ExplicitResolutionConstFactory(FileConstHandle fh):
1360 ExplicitResolutionFactory(fh) {
1362 ExplicitResolutionConstFactory(FileHandle fh):
1363 ExplicitResolutionFactory(fh) {
1373 RMF_DISABLE_WARNINGS
Mostly empty base classes for decorators and factories.
const NodeType REPRESENTATION
Represent part of a molecule.
bool get_is(NodeConstHandle nh) const
A handle for a particular node in the hierarchy.
bool get_is(NodeConstHandle nh) const
The base class for decorators.
NodeType get_type() const
get the type of this node
bool get_is(NodeConstHandle nh) const
bool get_is(NodeConstHandle nh) const
A handle for a particular node in a read-only hierarchy.
bool get_is(NodeConstHandle nh) const
A handle for a read-only RMF file.
void set_value(ID< Tag > k, typename Tag::ArgumentType v) const
A handle for an RMF file.
The base class for Factories.
Declaration for RMF::FileHandle.
Declaration of NodeHandle.
bool get_is(NodeConstHandle nh) const
bool get_is(NodeConstHandle nh) const
void set_static_value(ID< Tag > k, typename Tag::ArgumentType v) const
set the value of the attribute k for all frames.
bool get_is(NodeConstHandle nh) const
ID< Tag > get_key(Category category, std::string name) const
Various general useful macros for IMP.
bool get_is(NodeConstHandle nh) const
void set_frame_value(ID< Tag > k, typename Tag::ArgumentType v) const
set the value of the attribute k for this node on the current frame.