MeshLib
 
Loading...
Searching...
No Matches
MRImGuiMeasurementIndicators.h File Reference
#include "MRMesh/MRFlagOperators.h"
#include "MRViewer/exports.h"
#include "MRViewer/MRImGuiVectorOperators.h"
#include <imgui.h>
#include <optional>
#include <span>

Go to the source code of this file.

Classes

struct  MR::ImGuiMeasurementIndicators::Params
 
struct  MR::ImGuiMeasurementIndicators::StringWithIcon
 
struct  MR::ImGuiMeasurementIndicators::LineCap
 
struct  MR::ImGuiMeasurementIndicators::LineParams
 
struct  MR::ImGuiMeasurementIndicators::DistanceParams
 
struct  MR::ImGuiMeasurementIndicators::CurveParams
 
struct  MR::ImGuiMeasurementIndicators::PreparedCurve
 

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::StringIcon { MR::ImGuiMeasurementIndicators::none , MR::ImGuiMeasurementIndicators::diameter }
 
enum class  MR::ImGuiMeasurementIndicators::LineFlags { MR::ImGuiMeasurementIndicators::narrow = 1 << 0 , MR::ImGuiMeasurementIndicators::noBackwardArrowTipOffset = 1 << 1 }
 

Functions

MRVIEWER_API void MR::ImGuiMeasurementIndicators::point (Element elem, float menuScaling, const Params &params, ImVec2 point)
 
MRVIEWER_API void MR::ImGuiMeasurementIndicators::text (Element elem, float menuScaling, const Params &params, ImVec2 pos, StringWithIcon string, ImVec2 push={}, ImVec2 pivot={ 0.5f, 0.5f })
 
MRVIEWER_API void MR::ImGuiMeasurementIndicators::arrowTriangle (Element elem, float menuScaling, const Params &params, ImVec2 point, ImVec2 dir)
 
MRVIEWER_API void MR::ImGuiMeasurementIndicators::line (Element elem, float menuScaling, const Params &params, ImVec2 a, ImVec2 b, const LineParams &lineParams={})
 
MRVIEWER_API void MR::ImGuiMeasurementIndicators::distance (Element elem, float menuScaling, const Params &params, ImVec2 a, ImVec2 b, StringWithIcon string, 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)