int main(int argc, char** argv) { astra::initialize(); set_key_handler(); astra::StreamSet streamSet; astra::StreamReader reader = streamSet.create_reader(); SampleFrameListener listener; reader.stream<astra::DepthStream>().start(); std::cout << "depthStream -- hFov: " << reader.stream<astra::DepthStream>().hFov() << " vFov: " << reader.stream<astra::DepthStream>().vFov() << std::endl; reader.add_listener(listener); do { astra_temp_update(); } while (shouldContinue); reader.remove_listener(listener); astra::terminate(); }
int main(int argc, char** argv) { astra::initialize(); set_key_handler(); sf::RenderWindow window(sf::VideoMode(1280, 960), "Hand Viewer"); astra::StreamSet streamSet; astra::StreamReader reader = streamSet.create_reader(); reader.stream<astra::PointStream>().start(); reader.stream<astra::HandStream>().start(); HandFrameListener listener; reader.add_listener(listener); while (window.isOpen()) { astra_temp_update(); sf::Event event; while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Closed: window.close(); break; case sf::Event::KeyPressed: { if (event.key.code == sf::Keyboard::Escape || (event.key.code == sf::Keyboard::C && event.key.control)) { window.close(); } } default: break; } } // clear the window with black color window.clear(sf::Color::Black); listener.draw_to(window); window.display(); if (!shouldContinue) { window.close(); } } astra::terminate(); return 0; }
int main(int argc, char* argv[]) { set_key_handler(); astra_initialize(); astra_streamsetconnection_t sensor; astra_streamset_open("device/default", &sensor); astra_reader_t reader; astra_reader_create(sensor, &reader); astra_depthstream_t depthStream; astra_reader_get_depthstream(reader, &depthStream); float hFov, vFov; astra_depthstream_get_hfov(depthStream, &hFov); astra_depthstream_get_vfov(depthStream, &vFov); printf("depth sensor -- hFov: %f radians vFov: %f radians\n", hFov, vFov); astra_stream_start(depthStream); astra_frame_index_t lastFrameIndex = -1; do { astra_temp_update(); astra_reader_frame_t frame; astra_status_t rc = astra_reader_open_frame(reader, 0, &frame); if (rc == ASTRA_STATUS_SUCCESS) { astra_depthframe_t depthFrame; astra_frame_get_depthframe(frame, &depthFrame); astra_frame_index_t newFrameIndex; astra_depthframe_get_frameindex(depthFrame, &newFrameIndex); if (lastFrameIndex == newFrameIndex) { printf("duplicate frame index: %d\n", lastFrameIndex); } lastFrameIndex = newFrameIndex; print_depth(depthFrame); astra_reader_close_frame(&frame); } } while (shouldContinue); astra_reader_destroy(&reader); astra_streamset_close(&sensor); astra_terminate(); }
Evas_Object *init_entrybox(Evas *evas,const char* title,const char *defaultentry,int maxlength,entry_handler handler, Evas_Object *parent) { entry_info_struct *info = (entry_info_struct *) malloc(sizeof(entry_info_struct)); info->entry=(char*)malloc(sizeof(char)*(maxlength+1)); (info->entry)[0]='\0'; if(strlen(defaultentry) <= maxlength) { info->curchar = strlen(defaultentry); strcpy(info->entry,defaultentry); } else info->curchar = 0; info->maxchar = maxlength; info->handler = handler; info->parent = parent; Evas_Object *win=edje_object_add(evas); char *themefile=get_theme_file(); edje_object_file_set(win,themefile, "dlg_entrybox"); evas_object_data_set(win,"entry_info",(void *)info); set_key_handler(win, &entrybox_handlers); int edje_w,edje_h; edje_object_size_min_get(win, &edje_w, &edje_h); evas_object_resize(win,edje_w,edje_h); evas_object_move (win,0,0); if(title) edje_object_part_text_set(win,"dlg_entrybox/titletext",title); edje_object_part_text_set(win,"dlg_entrybox/entrytext",info->entry); evas_object_show(win); evas_object_focus_set(win,1); free(themefile); return win; }
int main(int argc, char** argv) { astra::initialize(); set_key_handler(); #ifdef _WIN32 auto fullscreenStyle = sf::Style::None; #else auto fullscreenStyle = sf::Style::Fullscreen; #endif const sf::VideoMode fullScreenMode = sf::VideoMode::getFullscreenModes()[0]; const sf::VideoMode windowedMode(1800, 675); bool isFullScreen = false; sf::RenderWindow window(windowedMode, "Stream Viewer"); astra::StreamSet streamSet; astra::StreamReader reader = streamSet.create_reader(); reader.stream<astra::PointStream>().start(); auto depthStream = configure_depth(reader); depthStream.start(); auto colorStream = configure_color(reader); colorStream.start(); auto irStream = configure_ir(reader, false); MultiFrameListener listener; listener.set_mode(MODE_COLOR); reader.add_listener(listener); while (window.isOpen()) { astra_temp_update(); sf::Event event; while (window.pollEvent(event)) { switch (event.type) { case sf::Event::Closed: window.close(); break; case sf::Event::KeyPressed: { switch (event.key.code) { case sf::Keyboard::Escape: window.close(); break; case sf::Keyboard::F: if (isFullScreen) { isFullScreen = false; window.create(windowedMode, "Stream Viewer", sf::Style::Default); } else { isFullScreen = true; window.create(fullScreenMode, "Stream Viewer", fullscreenStyle); } break; case sf::Keyboard::R: depthStream.enable_registration(!depthStream.registration_enabled()); break; case sf::Keyboard::M: { const bool newMirroring = !depthStream.mirroring_enabled(); depthStream.enable_mirroring(newMirroring); colorStream.enable_mirroring(newMirroring); irStream.enable_mirroring(newMirroring); } break; case sf::Keyboard::G: colorStream.stop(); configure_ir(reader, false); listener.set_mode(MODE_IR_16); irStream.start(); break; case sf::Keyboard::I: colorStream.stop(); configure_ir(reader, true); listener.set_mode(MODE_IR_RGB); irStream.start(); break; case sf::Keyboard::O: listener.toggle_depth_overlay(); if (listener.get_overlay_depth()) { depthStream.enable_registration(true); } break; case sf::Keyboard::P: listener.toggle_paused(); break; case sf::Keyboard::C: if (event.key.control) { window.close(); } else { irStream.stop(); listener.set_mode(MODE_COLOR); colorStream.start(); } break; default: break; } break; } default: break; } } // clear the window with black color window.clear(sf::Color::Black); listener.draw_to(window, sf::Vector2f(0.f, 0.f), sf::Vector2f(window.getSize().x, window.getSize().y)); window.display(); if (!shouldContinue) { window.close(); } } astra::terminate(); return 0; }