MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::Palette Class Reference

Class to hold one dimension texture with value to UV mapping. More...

#include <MRPalette.h>

Classes

struct  Label
 structure for label More...
 
struct  Parameters
 base parameters of palette More...
 

Public Member Functions

MRVIEWER_API Palette (const std::vector< Color > &colors)
 
MRVIEWER_API void setBaseColors (const std::vector< Color > &colors)
 Set base palette colors colors.size() should be more or equal 2 for discrete palette using vector of colors calculated by mixing the base colors i.e. base {blue, red} -> discrete 3 {blue, 0.5*blue + 0.5*red, red}.
 
MRVIEWER_API void setRangeMinMax (float min, float max)
 set range limits for palette (need for find color by value) all palette colors are evenly distributed between min and max
 
MRVIEWER_API void setRangeMinMaxNegPos (float minNeg, float maxNeg, float minPos, float maxPos)
 set range limits for palette (need for find color by value) two half palette colors are evenly distributed between MinNeg / MaxNeg and MinPos / MaxPos for values between MaxNeg / MinPos return one color (from center palette)
 
MRVIEWER_API void setDiscretizationNumber (int discretization)
 set number of different colors for discrete palette
 
MRVIEWER_API void setFilterType (FilterType type)
 set palette type (linear / discrete)
 
MRVIEWER_API void draw (const std::string &windowName, const ImVec2 &pose, const ImVec2 &size, bool onlyTopHalf=false)
 
MRVIEWER_API void draw (ImDrawList *drawList, float scaling, const ImVec2 &pos, const ImVec2 &size, const Color &labelBgColor, bool onlyTopHalf=false) const
 
MRVIEWER_API void draw (ImDrawList *drawList, float scaling, const ImVec2 &pos, const ImVec2 &size, bool onlyTopHalf=false) const
 
MRVIEWER_API void resetLabels ()
 reset labels to standard view
 
MRVIEWER_API void setCustomLabels (const std::vector< Label > &labels)
 set labels manually
 
MRVIEWER_API void setLabelsVisible (bool visible)
 set labels visible
 
MRVIEWER_API bool loadFromJson (const Json::Value &root)
 
MRVIEWER_API void saveCurrentToJson (Json::Value &root) const
 Serialize this palette data to JsonValue.
 
MRVIEWER_API Color getColor (float relativeValue) const
 
Color getInvalidColor () const
 return invalid color
 
MRVIEWER_API VertColors getVertColors (const VertScalars &values, const VertBitSet &region, const VertBitSet *valids, const VertBitSet *validsForStats)
 
const MeshTexturegetTexture () const
 
MRVIEWER_API float getRelativePos (float val) const
 get relative position in [0,1], where 0 is for minimum and 1 is for maximum
 
UVCoord getUVcoord (float val, bool valid=true) const
 
MRVIEWER_API VertUVCoords getUVcoords (const VertScalars &values, const VertBitSet &region, const VertPredicate &valids={}, const VertPredicate &validsForStats={})
 
VertUVCoords getUVcoords (const VertScalars &values, const VertBitSet &region, const VertBitSet *valids, const VertBitSet *validsForStats=nullptr)
 
const ParametersgetParameters () const
 
float getRangeMin () const
 returns minimum value in the palette's range
 
float getRangeMax () const
 returns maximum value in the palette's range
 
float getRangeSq () const
 returns minimum squared value, not smaller than all squared values of palette's range
 
MRVIEWER_API std::string getStringValue (float value) const
 returns formated string for this value of palette
 
MRVIEWER_API int getMaxLabelCount ()
 returns maximal label count
 
MRVIEWER_API void setMaxLabelCount (int val)
 sets maximal label count
 
MRVIEWER_API void setLegendLimits (const MinMaxf &limits)
 set legend limits. if min > max - limits are disabled
 
bool isHistogramEnabled () const
 Histogram:
 
MRVIEWER_API int getNumHistogramBuckets () const
 
MRVIEWER_API void setNumHistogramBuckets (int n)
 
MRVIEWER_API int getDefaultNumHistogramBuckets () const
 Returns the recommended argument for setNumHistogramBuckets().
 
bool isDiscretizationPercentagesEnabled () const
 Should we maintain the percentages of distances in each discretization step?
 
void enableDiscretizationPercentages (bool enable)
 

Static Public Member Functions

static const std::vector< Color > & BlueGreenRedColors ()
 
static MRVIEWER_API const std::vector< Color > & GreenRedColors ()
 simpler palette colors: from green to red
 
static MRVIEWER_API VertPredicate predFromBitSet (const VertBitSet *bits)
 
static void resizeCallback_ (ImGuiSizeCallbackData *data)
 

Public Attributes

int drawDelayFrames_ = 0
 

Static Public Attributes

static MRVIEWER_API const std::vector< ColorDefaultColors
 preset palette colors: from blue via green to red
 

Detailed Description

Class to hold one dimension texture with value to UV mapping.

Discrete mode will draw rectangle for each color Continuous mode will draw interpolated color


The documentation for this class was generated from the following file: