Skip to content

Commit

Permalink
Finish implementing basic FunctionCurveViewerPopup
Browse files Browse the repository at this point in the history
  • Loading branch information
adamkewley committed Jul 23, 2024
1 parent f08fdda commit 7b47fb2
Show file tree
Hide file tree
Showing 28 changed files with 357 additions and 96 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ class osc::PreviewExperimentalDataTab::Impl final : public StandardTabImpl {
ui::enable_dockspace_over_viewport(ui::get_main_viewport(), ImGuiDockNodeFlags_PassthruCentralNode);

ui::begin_panel("render");
Vec2 dims = ui::get_content_region_avail();
Vec2 dims = ui::get_content_region_available();
if (m_RenderIsMousedOver)
{
ui::update_polar_camera_from_mouse_inputs(m_Camera, dims);
Expand Down
6 changes: 3 additions & 3 deletions src/OpenSimCreator/UI/Experimental/TPS2DTab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ class osc::TPS2DTab::Impl final {

ui::begin_panel("Input");
{
const Vec2 windowDims = ui::get_content_region_avail();
const Vec2 windowDims = ui::get_content_region_available();
const float minDim = min(windowDims.x, windowDims.y);
const Vec2i texDims = Vec2i{minDim, minDim};

Expand All @@ -365,7 +365,7 @@ class osc::TPS2DTab::Impl final {
ui::begin_panel("Output");
{
outputWindowPos = ui::get_cursor_screen_pos();
outputWindowDims = ui::get_content_region_avail();
outputWindowDims = ui::get_content_region_available();
const float minDim = min(outputWindowDims.x, outputWindowDims.y);
const Vec2i texDims = Vec2i{minDim, minDim};

Expand Down Expand Up @@ -396,7 +396,7 @@ class osc::TPS2DTab::Impl final {
ui::set_next_panel_pos({ outputWindowPos.x + leftPadding, outputWindowPos.y + outputWindowDims.y - panelHeight - bottomPadding });
ui::set_next_panel_size({ outputWindowDims.x - leftPadding, panelHeight });
ui::begin_panel("##scrubber", nullptr, ui::get_minimal_panel_flags() & ~ImGuiWindowFlags_NoInputs);
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_float_slider("##blend", &m_BlendingFactor, 0.0f, 1.0f);
ui::end_panel();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ namespace osc
const ImGuiSliderFlags flags = ImGuiSliderFlags_Logarithmic;

const CStringView label = "landmark radius";
ui::set_next_item_width(ui::get_content_region_avail().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_State->getOverlayPadding().x);
ui::set_next_item_width(ui::get_content_region_available().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_State->getOverlayPadding().x);
ui::draw_float_slider(label, &m_LandmarkRadius, 0.0001f, 100.0f, "%.4f", flags);
}

Expand Down
10 changes: 5 additions & 5 deletions src/OpenSimCreator/UI/MeshWarper/MeshWarpingTabNavigatorPanel.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ namespace osc
return;
}

ui::table_setup_column("Name", 0, 0.7f*ui::get_content_region_avail().x);
ui::table_setup_column("Source", 0, 0.15f*ui::get_content_region_avail().x);
ui::table_setup_column("Destination", 0, 0.15f*ui::get_content_region_avail().x);
ui::table_setup_column("Name", 0, 0.7f*ui::get_content_region_available().x);
ui::table_setup_column("Source", 0, 0.15f*ui::get_content_region_available().x);
ui::table_setup_column("Destination", 0, 0.15f*ui::get_content_region_available().x);

int id = 0;
for (const auto& lm : m_State->getScratch().landmarkPairs)
Expand Down Expand Up @@ -182,8 +182,8 @@ namespace osc
return;
}

ui::table_setup_column("Name", 0, 0.7f*ui::get_content_region_avail().x);
ui::table_setup_column("Location", 0, 0.3f*ui::get_content_region_avail().x);
ui::table_setup_column("Name", 0, 0.7f*ui::get_content_region_available().x);
ui::table_setup_column("Location", 0, 0.3f*ui::get_content_region_available().x);

int id = 0;
for (const auto& npl : m_State->getScratch().nonParticipatingLandmarks)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ namespace osc
void impl_draw_content() final
{
// fill the entire available region with the render
const Vec2 dims = ui::get_content_region_avail();
const Vec2 dims = ui::get_content_region_available();

updateCamera();

Expand Down Expand Up @@ -195,7 +195,7 @@ namespace osc
const ImGuiSliderFlags flags = ImGuiSliderFlags_Logarithmic;

const CStringView label = "landmark radius";
ui::set_next_item_width(ui::get_content_region_avail().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_State->getOverlayPadding().x);
ui::set_next_item_width(ui::get_content_region_available().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_State->getOverlayPadding().x);
ui::draw_float_slider(label, &m_LandmarkRadius, 0.0001f, 100.0f, "%.4f", flags);
}

Expand All @@ -204,7 +204,7 @@ namespace osc
ui::set_cursor_pos_x(m_CursorXAtExportButton); // align with "export" button in row above

const CStringView label = "blending factor "; // deliberate trailing spaces (for alignment with "landmark radius")
ui::set_next_item_width(ui::get_content_region_avail().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_OverlayPadding.x);
ui::set_next_item_width(ui::get_content_region_available().x - ui::calc_text_size(label).x - ui::get_style_item_inner_spacing().x - m_OverlayPadding.x);

float factor = m_State->getScratch().blendingFactor;
if (ui::draw_float_slider(label, &factor, 0.0f, 1.0f))
Expand Down
10 changes: 5 additions & 5 deletions src/OpenSimCreator/UI/ModelEditor/AddBodyPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ class osc::AddBodyPopup::Impl final : public StandardPopup {
ui::same_line();
ui::draw_help_marker("The name used to identify the OpenSim::Body in the model. OpenSim typically uses the name to identify connections between components in a model, so the name should be unique.");
ui::next_column();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_string_input("##bodyname", m_BodyDetails.bodyName);
App::upd().add_frame_annotation("AddBodyPopup::BodyNameInput", ui::get_last_drawn_item_screen_rect());
ui::next_column();
Expand All @@ -77,7 +77,7 @@ class osc::AddBodyPopup::Impl final : public StandardPopup {
ui::same_line();
ui::draw_help_marker("The mass of the body in kilograms");
ui::next_column();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_float_kilogram_input("##mass", m_BodyDetails.mass);
ui::next_column();
}
Expand All @@ -88,7 +88,7 @@ class osc::AddBodyPopup::Impl final : public StandardPopup {
ui::same_line();
ui::draw_help_marker("The location of the mass center in the body frame.");
ui::next_column();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_float3_meters_input("##comeditor", m_BodyDetails.centerOfMass);
ui::next_column();
}
Expand All @@ -99,7 +99,7 @@ class osc::AddBodyPopup::Impl final : public StandardPopup {
ui::same_line();
ui::draw_help_marker("The elements of the inertia tensor (Vec6) as [Ixx Iyy Izz Ixy Ixz Iyz]. These are measured about the center of mass, *not* the center of the body frame.");
ui::next_column();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_float3_meters_input("##inertiaeditor", m_BodyDetails.inertia);
ui::next_column();
}
Expand Down Expand Up @@ -153,7 +153,7 @@ class osc::AddBodyPopup::Impl final : public StandardPopup {
ui::same_line();
ui::draw_help_marker("The name of the OpenSim::Joint that will join the new body to the existing frame specified above");
ui::next_column();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_string_input("##jointnameinput", m_BodyDetails.jointName);
App::upd().add_frame_annotation("AddBodyPopup::JointNameInput", ui::get_last_drawn_item_screen_rect());
ui::next_column();
Expand Down
8 changes: 4 additions & 4 deletions src/OpenSimCreator/UI/ModelEditor/AddComponentPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,9 +240,9 @@ class osc::AddComponentPopup::Impl final : public StandardPopup {
ui::push_id(static_cast<int>(i));
ui::draw_text_unformatted(ICON_FA_SEARCH);
ui::same_line();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_string_input("##search", m_SocketSearchStrings[i]);
ui::begin_child_panel("##pfselector", {ui::get_content_region_avail().x, 128.0f});
ui::begin_child_panel("##pfselector", {ui::get_content_region_available().x, 128.0f});

// iterate through potential connectees in model and print connect-able options
int innerID = 0;
Expand Down Expand Up @@ -291,7 +291,7 @@ class osc::AddComponentPopup::Impl final : public StandardPopup {
const OpenSim::Model& model = m_Uum->getModel();

// show list of choices
ui::begin_child_panel("##pf_ppchoices", {ui::get_content_region_avail().x, 128.0f});
ui::begin_child_panel("##pf_ppchoices", {ui::get_content_region_available().x, 128.0f});

// choices
for (const OpenSim::Component& c : model.getComponentList())
Expand Down Expand Up @@ -366,7 +366,7 @@ class osc::AddComponentPopup::Impl final : public StandardPopup {
{
const OpenSim::Model& model = m_Uum->getModel();

ui::begin_child_panel("##pf_pathpoints", {ui::get_content_region_avail().x, 128.0f});
ui::begin_child_panel("##pf_pathpoints", {ui::get_content_region_available().x, 128.0f});

std::optional<ptrdiff_t> maybeIndexToErase;
for (ptrdiff_t i = 0; i < std::ssize(m_PathPoints); ++i)
Expand Down
4 changes: 2 additions & 2 deletions src/OpenSimCreator/UI/ModelEditor/CoordinateEditorPanel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ class osc::CoordinateEditorPanel::Impl final : public StandardPanelImpl {
{
const bool coordinateLocked = c.getLocked(m_Model->getState());

ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);

float minValue = ConvertCoordValueToDisplayValue(c, c.getRangeMin());
float maxValue = ConvertCoordValueToDisplayValue(c, c.getRangeMax());
Expand Down Expand Up @@ -230,7 +230,7 @@ class osc::CoordinateEditorPanel::Impl final : public StandardPanelImpl {
{
float displayedSpeed = ConvertCoordValueToDisplayValue(c, c.getSpeedValue(m_Model->getState()));

ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
if (ui::draw_float_meters_input("##coordinatespeededitor", displayedSpeed))
{
double storedSpeed = ConvertCoordDisplayValueToStorageValue(c, displayedSpeed);
Expand Down
8 changes: 4 additions & 4 deletions src/OpenSimCreator/UI/ModelEditor/ModelMusclePlotPanel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1572,7 +1572,7 @@ namespace

drawPlotTitle(coord, plotTitle); // draw a custom title bar
ImPlot::PushStyleVar(ImPlotStyleVar_FitPadding, {0.025f, 0.05f});
if (ImPlot::BeginPlot(plotTitle.c_str(), ui::get_content_region_avail(), m_PlotFlags)) {
if (ImPlot::BeginPlot(plotTitle.c_str(), ui::get_content_region_available(), m_PlotFlags)) {
const PlotParameters& plotParams = getShared().getPlotParams();

ImPlot::SetupLegend(
Expand Down Expand Up @@ -1651,7 +1651,7 @@ namespace
ui::calc_text_size(ICON_FA_BARS " Options").x +
ui::get_style_frame_padding().x;

float cursorStart = 0.5f*(ui::get_content_region_avail().x - totalWidth);
float cursorStart = 0.5f*(ui::get_content_region_available().x - totalWidth);
ui::set_cursor_pos_x(cursorStart);

ui::set_next_item_width(muscleNameWidth);
Expand Down Expand Up @@ -1754,7 +1754,7 @@ namespace

ImPlot::PushStyleColor(ImPlotCol_Line, Vec4{color});
PlotLine(lineName, plot);
ImPlot::PopStyleColor(ImPlotCol_Line);
ImPlot::PopStyleColor();

if (ImPlot::BeginLegendPopup(lineName.c_str()))
{
Expand Down Expand Up @@ -1810,7 +1810,7 @@ namespace

ImPlot::PushStyleColor(ImPlotCol_Line, Vec4{color});
PlotLine(lineName, plot);
ImPlot::PopStyleColor(ImPlotCol_Line);
ImPlot::PopStyleColor();

if (ImPlot::BeginLegendPopup(lineName.c_str()))
{
Expand Down
2 changes: 1 addition & 1 deletion src/OpenSimCreator/UI/ModelEditor/ReassignSocketPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ class osc::ReassignSocketPopup::Impl final : public StandardPopup {

if (!m_Error.empty())
{
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_text_wrapped(m_Error);
}

Expand Down
2 changes: 1 addition & 1 deletion src/OpenSimCreator/UI/ModelEditor/SelectGeometryPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ class osc::SelectGeometryPopup::Impl final : public StandardPopup {

ui::begin_child_panel(
"mesh list",
Vec2{ui::get_content_region_avail().x, 256},
Vec2{ui::get_content_region_available().x, 256},
ImGuiChildFlags_None,
ImGuiWindowFlags_HorizontalScrollbar);

Expand Down
2 changes: 1 addition & 1 deletion src/OpenSimCreator/UI/Shared/BasicWidgets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ void osc::DrawSearchBar(std::string& out)
// draw search bar

ui::same_line();
ui::set_next_item_width(ui::get_content_region_avail().x);
ui::set_next_item_width(ui::get_content_region_available().x);
ui::draw_string_input("##hirarchtsearchbar", out);
}

Expand Down
Loading

0 comments on commit 7b47fb2

Please sign in to comment.