#include "MRMesh/MRFlagOperators.h"
#include "MRViewer/exports.h"
#include "MRViewer/MRImGuiVectorOperators.h"
#include <imgui.h>
#include <cassert>
#include <optional>
#include <span>
#include <variant>
Go to the source code of this file.
Namespaces | |
namespace | MR |
namespace | MR::ImGuiMeasurementIndicators |
Enumerations | |
enum class | MR::ImGuiMeasurementIndicators::Element { MR::ImGuiMeasurementIndicators::main = 1 << 0 , MR::ImGuiMeasurementIndicators::outline = 1 << 1 , MR::ImGuiMeasurementIndicators::both = main | outline } |
enum class | MR::ImGuiMeasurementIndicators::TextIcon { MR::ImGuiMeasurementIndicators::diameter } |
enum class | MR::ImGuiMeasurementIndicators::LineCapDecoration { MR::ImGuiMeasurementIndicators::none , MR::ImGuiMeasurementIndicators::noOutline , MR::ImGuiMeasurementIndicators::extend , MR::ImGuiMeasurementIndicators::arrow , MR::ImGuiMeasurementIndicators::point } |
enum class | MR::ImGuiMeasurementIndicators::LineFlags { MR::ImGuiMeasurementIndicators::narrow = 1 << 0 , MR::ImGuiMeasurementIndicators::noBackwardArrowTipOffset = 1 << 1 , MR::ImGuiMeasurementIndicators::onlyOutline = 1 << 2 } |
Functions | |
MRVIEWER_API void | MR::ImGuiMeasurementIndicators::point (Element elem, const Params ¶ms, ImVec2 point) |
MRVIEWER_API std::optional< TextResult > | MR::ImGuiMeasurementIndicators::text (Element elem, const Params ¶ms, ImVec2 pos, const Text &text, const TextParams &textParams={}, ImVec2 push={}, ImVec2 pivot={ 0.5f, 0.5f }) |
MRVIEWER_API void | MR::ImGuiMeasurementIndicators::arrowTriangle (Element elem, const Params ¶ms, ImVec2 point, ImVec2 dir) |
MRVIEWER_API std::optional< LineResult > | MR::ImGuiMeasurementIndicators::line (Element elem, const Params ¶ms, ImVec2 a, ImVec2 b, const LineParams &lineParams={}) |
MRVIEWER_API std::optional< DistanceResult > | MR::ImGuiMeasurementIndicators::distance (Element elem, const Params ¶ms, ImVec2 a, ImVec2 b, const Text &text, const DistanceParams &distanceParams={}) |
template<typename A , typename B , typename F , typename G , typename H = std::nullptr_t> | |
PreparedCurve | MR::ImGuiMeasurementIndicators::prepareCurve (const CurveParams &curveParams, std::vector< ImVec2 > &pointBuffer, const A &stateA, const B &stateB, F &&stateToPoint, G &&bisectState, H &&onInsertPoint=nullptr) |