29 #include <utility/string_util.hh>
32 #include <basic/Tracer.hh>
35 #include <utility/exit.hh>
36 #include <utility/vector0.hh>
37 #include <utility/vector1.hh>
49 void lregister_Mover( lua_State * lstate ) {
50 luabind::module(lstate,
"protocols")
52 luabind::namespace_(
"moves" )
54 luabind::class_<Mover>(
"Mover")
63 void lregister_SerializableState( lua_State * lstate ){
64 luabind::module(lstate,
"protocols")
66 luabind::namespace_(
"moves" )
68 luabind::class_<SerializableState>(
"SerializableState")
83 static basic::Tracer
TR(
"protocols.moves.Mover");
87 utility::pointer::ReferenceCount(),
89 current_tag_(
"NoTag" ),
98 utility::pointer::ReferenceCount(),
100 current_tag_(
"NoTag" ),
107 utility::pointer::ReferenceCount(),
108 type_( other.type_ ),
109 current_tag_( other.current_tag_ ),
110 input_pose_(other.input_pose_),
111 native_pose_(other.native_pose_),
112 last_status_( other.last_status_ ),
113 current_job_( other.current_job_ )
120 if (
this == &rhs)
return *
this;
146 a.relinquish_ownership();
151 for( core::io::serialization::Pipe::iterator itr = pmap[
"input"]->begin(); itr != pmap[
"input"]->end(); itr++ ) {
158 utility_exit_with_message(
"This Mover has not implemented parse_state()");
162 utility::lua::LuaObject
const & ,
163 utility::lua::LuaObject
const & ,
165 utility_exit_with_message(
"This Mover has not implemented parse_def()");
169 utility_exit_with_message(
"This Mover has not implemented save_state()");
182 TR <<
"***WARNING!!!! WARNING!!!*** parse_my_tag has been invoked for this mover but it hasn't been defined. Are you sure this is appropriate?" << std::endl;
223 utility_exit_with_message(
"fresh_instance has been called on a Mover which has not overridden the base class implementation. Probably you tried to pass a Mover to the job distributor which does not have fresh_instance implemented. Implement the function and try again.\n");
230 utility_exit_with_message(
"clone has been called on a Mover which has not overridden the base class implementation. Probably you tried to pass a Mover to the job distributor or parser which does not have clone implemented. Implement the function and try again.\n");
246 (*state)[key] = utility::to_string(val);
249 if( state->find( key ) != state->end() ) {
250 return (*state)[key];