MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::ImGuiMeasurementIndicators Namespace Reference

Classes

struct  CurveParams
 
struct  DistanceParams
 
struct  DistanceResult
 
struct  LineBodyParams
 
struct  LineCap
 
struct  LineParams
 
struct  LineResult
 
struct  Params
 
struct  PreparedCurve
 
struct  Stipple
 
struct  Text
 
struct  TextColor
 
struct  TextFont
 
struct  TextParams
 
struct  TextResult
 

Enumerations

enum class  Element { main = 1 << 0 , outline = 1 << 1 , both = main | outline }
 
enum class  TextIcon { diameter }
 
enum class  LineCapDecoration {
  none , noOutline , extend , arrow ,
  point
}
 
enum class  LineFlags { narrow = 1 << 0 , noBackwardArrowTipOffset = 1 << 1 , onlyOutline = 1 << 2 }
 

Functions

MRVIEWER_API void point (Element elem, const Params &params, ImVec2 point)
 
MRVIEWER_API std::optional< TextResulttext (Element elem, const Params &params, ImVec2 pos, const Text &text, const TextParams &textParams={}, ImVec2 push={}, ImVec2 pivot={ 0.5f, 0.5f })
 
MRVIEWER_API void arrowTriangle (Element elem, const Params &params, ImVec2 point, ImVec2 dir)
 
MRVIEWER_API std::optional< LineResultline (Element elem, const Params &params, ImVec2 a, ImVec2 b, const LineParams &lineParams={})
 
MRVIEWER_API std::optional< DistanceResultdistance (Element elem, const Params &params, 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 prepareCurve (const CurveParams &curveParams, std::vector< ImVec2 > &pointBuffer, const A &stateA, const B &stateB, F &&stateToPoint, G &&bisectState, H &&onInsertPoint=nullptr)
 

Enumeration Type Documentation

◆ Element

Enumerator
main 
outline 
both 

◆ LineCapDecoration

Enumerator
none 
noOutline 
extend 
arrow 
point 

◆ LineFlags

Enumerator
narrow 
noBackwardArrowTipOffset 
onlyOutline 

◆ TextIcon

Enumerator
diameter 

Function Documentation

◆ arrowTriangle()

MRVIEWER_API void MR::ImGuiMeasurementIndicators::arrowTriangle ( Element elem,
const Params & params,
ImVec2 point,
ImVec2 dir )

◆ distance()

MRVIEWER_API std::optional< DistanceResult > MR::ImGuiMeasurementIndicators::distance ( Element elem,
const Params & params,
ImVec2 a,
ImVec2 b,
const Text & text,
const DistanceParams & distanceParams = {} )

◆ line()

MRVIEWER_API std::optional< LineResult > MR::ImGuiMeasurementIndicators::line ( Element elem,
const Params & params,
ImVec2 a,
ImVec2 b,
const LineParams & lineParams = {} )

◆ point()

MRVIEWER_API void MR::ImGuiMeasurementIndicators::point ( Element elem,
const Params & params,
ImVec2 point )

◆ prepareCurve()

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 )
nodiscard

◆ text()

MRVIEWER_API std::optional< TextResult > MR::ImGuiMeasurementIndicators::text ( Element elem,
const Params & params,
ImVec2 pos,
const Text & text,
const TextParams & textParams = {},
ImVec2 push = {},
ImVec2 pivot = { 0.5f, 0.5f } )