25   qi::AnyReferenceVector anyref;
    27   std::ostringstream ss;
    29     anyref = value.asListValuePtr();
    31   catch(std::runtime_error& e)
    33     ss << 
"Could not transform AnyValue into list: " << e.what();
    34     throw std::runtime_error(ss.str());
    39   ref = anyref[0].content();
    40   if(ref.kind() == qi::TypeKind_Int)
    42     result.
width = ref.asInt32();
    46     ss << 
"Could not retrieve width";
    47     throw std::runtime_error(ss.str());
    51   ref = anyref[1].content();
    52   if(ref.kind() == qi::TypeKind_Int)
    54     result.
height = ref.asInt32();
    58     ss << 
"Could not retrieve height";
    59     throw std::runtime_error(ss.str());
    63   ref = anyref[2].content();
    64   if(ref.kind() == qi::TypeKind_Int)
    70     ss << 
"Could not retrieve number of layers";
    71     throw std::runtime_error(ss.str());
    75   ref = anyref[3].content();
    76   if(ref.kind() == qi::TypeKind_Int)
    82     ss << 
"Could not retrieve colorspace";
    83     throw std::runtime_error(ss.str());
    87   ref = anyref[4].content();
    88   if(ref.kind() == qi::TypeKind_Int)
    94     ss << 
"Could not retrieve timestamp_s";
    95     throw std::runtime_error(ss.str());
    99   ref = anyref[5].content();
   100   if(ref.kind() == qi::TypeKind_Int)
   106     ss << 
"Could not retrieve timestamp_us";
   107     throw std::runtime_error(ss.str());
   111   ref = anyref[6].content();
   112   if(ref.kind() == qi::TypeKind_Raw)
   114     result.
buffer = (
void*)ref.asRaw().first;
   118     ss << 
"Could not retrieve buffer";
   119     throw std::runtime_error(ss.str());
   123   ref = anyref[7].content();
   124   if(ref.kind() == qi::TypeKind_Int)
   126     result.
cam_id = ref.asInt32();
   130     ss << 
"Could not retrieve cam_id";
   131     throw std::runtime_error(ss.str());
   135   ref = anyref[8].content();
   136   if(ref.kind() == qi::TypeKind_Float)
   142     ss << 
"Could not retrieve fov_left";
   143     throw std::runtime_error(ss.str());
   147   ref = anyref[9].content();
   148   if(ref.kind() == qi::TypeKind_Float)
   150     result.
fov_top = ref.asFloat();
   154     ss << 
"Could not retrieve fov_top";
   155     throw std::runtime_error(ss.str());
   159   ref = anyref[10].content();
   160   if(ref.kind() == qi::TypeKind_Float)
   166     ss << 
"Could not retrieve fov_right";
   167     throw std::runtime_error(ss.str());
   171   ref = anyref[11].content();
   172   if(ref.kind() == qi::TypeKind_Float)
   178     ss << 
"Could not retrieve fov_bottom";
   179     throw std::runtime_error(ss.str());
   186   qi::AnyReferenceVector anyrefs = value.asListValuePtr();
   188   for(
int i=0; i<anyrefs.size();i++)
   192       result.push_back(anyrefs[i].content().toFloat());
   194     catch(std::runtime_error& e)
   196       result.push_back(-1.0);
   197       std::cout << e.what() << 
"=> set to -1" << std::endl;
   204   qi::AnyReferenceVector anyrefs = value.asListValuePtr();
   206   for(
int i=0; i<anyrefs.size();i++)
   210       result.push_back(anyrefs[i].content().toString());
   212     catch(std::runtime_error& e)
   214       result.push_back(
"Not available");
   215       std::cout << e.what() << 
" => set to 'Not available'" << std::endl;
   224         std::vector< std::vector<float> > &result) {
   226   qi::AnyReferenceVector anyrefs;
   229     anyrefs = value.asListValuePtr();
   231   } 
catch (
const std::exception& e) {
   232     throw std::exception(e);
   235   result.resize(anyrefs.size());
   237   for(
int i=0; i<anyrefs.size(); i++) {
   238     qi::AnyReferenceVector anyref;
   241       anyref = anyrefs[i].asListValuePtr();
   243     } 
catch (
const std::exception& e) {
   244       throw std::exception(e);
   247     result[i].resize(anyref.size());
   249     for(
int j=0; j<anyref.size(); j++) {
   251         result[i][j] = anyref[j].content().toFloat();
   253       } 
catch(std::runtime_error& e) {
   254         throw std::exception(e);