34PyObjectToVMD::PyObjectToVMD(
const object &p) : m_obj(p), m_alreadyVMD(false) {
36 extract<Kernel::VMD> converter(p);
37 if (converter.check()) {
43 const size_t length = len(p);
45 throw std::invalid_argument(
"Must be > 2 for conversion to VMD");
48 p.attr(
"__getitem__")(0);
49 }
catch (boost::python::error_already_set &) {
50 throw std::invalid_argument(std::string(
"Cannot convert object to VMD. "
51 "Expected a python sequence found: ") +
52 p.ptr()->ob_type->tp_name);