19 #include <basic/Tracer.hh>
20 #include <utility/exit.hh>
21 #include <utility/tag/Tag.hh>
23 #include <utility/vector0.hh>
24 #include <utility/vector1.hh>
31 static basic::Tracer
TR(
"protocols.filters.FilterFactory" );
54 runtime_assert( creator );
55 std::string const filter_type( creator->keyname() );
56 if ( filter_type ==
"UNDEFINED NAME" ) {
57 utility_exit_with_message(
"Can't map derived Filter with undefined type name.");
60 utility_exit_with_message(
"FilterFactory::factory_register already has a filter creator with name \"" + filter_type +
"\". Conflicting Filter names" );
72 if ( ! iter->second ) {
73 utility_exit_with_message(
"Error: FilterCreatorOP prototype for " + filter_type +
" is NULL!" );
78 return iter->second->create_filter();
80 TR<<
"Available filters: ";
82 TR<<filt_it->first<<
", ";
84 utility_exit_with_message( filter_type +
" is not known to the FilterFactory. Was it registered via a FilterRegistrator in one of the init.cc files (devel/init.cc or protocols/init.cc)?" );
114 runtime_assert( filter );
115 if ( ! tag->hasOption(
"name") )
116 utility_exit_with_message(
"Can't define unnamed Filter");
117 filter->set_user_defined_name( tag->getOption<
std::string>(
"name") );
118 filter->parse_my_tag( tag, data, filters, movers, pose );
121 if ( confidence < 0.999 ) {
124 fuzzy_statement.push_back( std::make_pair( stochastic_filter->clone(),
OR ) );
125 fuzzy_statement.push_back( std::make_pair( filter->clone(),
OR ) );
127 compound_filter->set_user_defined_name( tag->getOption<
std::string>(
"name") );
128 return compound_filter;