1 #ifndef VTESTBED_GUI_TESTBEDDB_HH 2 #define VTESTBED_GUI_TESTBEDDB_HH 4 #include <vtestbed/db/compartments.hh> 5 #include <vtestbed/db/hull.hh> 6 #include <vtestbed/db/marine_object_database.hh> 7 #include <vtestbed/db/ship.hh> 8 #include <vtestbed/graphics/ShipHullObject.hh> 9 #include <vtestbed/gui/ApplicationBase.hh> 10 #include <vtestbed/gui/DatabaseWindow.hh> 11 #include <vtestbed/gui/InputNumber.hh> 12 #include <vtestbed/gui/types.hh> 26 using Transformations = vtb::db::Transformations;
28 using database_t = sqlite::connection;
29 using vec3 = vtb::core::Vector3<T>;
31 using action_type =
typename dbwindow_type::Action;
32 using int3 =
typename compartments_type::int3;
37 DrawableGroup3D _drawables;
41 int _transformationIndex = 0;
43 bool show_window_saved =
false;
53 TestbedDB(
const Arguments& args,
const Configuration& conf);
55 void drawEvent()
override;
58 void openCompartments();
60 void updateShipHull();
62 void transformHull(Transformations trans);
66 inline database_t* db() {
return &this->_db; }
67 inline ship_type& ship() {
return this->_ship; }
69 inline hull_type& hull() {
return this->_ship.hull(); }
77 #endif // vim:filetype=cpp