ImPlot3D’s internal API (implot3d_internal.h): the structures and helpers that ImPlot3D is built with.
It may change between versions of ImPlot3D.
The module imgui_bundle.implot3d.internal, the Python API of ImPlot3D, from bindings/imgui_bundle/implot3d/internal.pyi: 41 functions, 10 classes, 1 enums. Each entry gives the Python signature, then the C++ one, then the doc of the C++ header. The sections are the header’s.
implot3d_internal.h¶
im_log10¶
def im_log10(x: float) -> floatstatic inline double ImLog10(double x);Computes the common (base-10) logarithm (private API)
im_sinh¶
def im_sinh(x: float) -> floatstatic inline double ImSinh(double x);Computes the hyperbolic sine (private API)
im_asinh¶
def im_asinh(x: float) -> floatstatic inline double ImAsinh(double x);Computes the inverse hyperbolic sine (private API)
Flips a flag in a flagset¶
im_pos_mod¶
def im_pos_mod(l: int, r: int) -> intstatic inline int ImPosMod(int l, int r);Returns always positive modulo (assumes r != 0) (private API)
im_nan¶
def im_nan(val: float) -> boolstatic inline bool ImNan(double val);Returns True if val is NAN (private API)
im_nan_or_inf¶
def im_nan_or_inf(val: float) -> boolstatic inline bool ImNanOrInf(double val);Returns True if val is NAN or INFINITY (private API)
im_constrain_nan¶
def im_constrain_nan(val: float) -> floatstatic inline double ImConstrainNan(double val);Turns NANs to 0s (private API)
im_constrain_inf¶
def im_constrain_inf(val: float) -> floatstatic inline double ImConstrainInf(double val);Turns infinity to floating point maximums
Clamped to half DBL_MAX to prevent overflow in size calculations (Max - Min)
(private API)
im_almost_equal¶
def im_almost_equal(v1: float, v2: float, ulp: int = 2) -> boolstatic inline bool ImAlmostEqual(double v1, double v2, int ulp = 2);True if two numbers are approximately equal using units in the last place. (private API)
im_alpha_u32¶
def im_alpha_u32(col: ImU32, alpha: float) -> ImU32static inline ImU32 ImAlphaU32(ImU32 col, float alpha);Set alpha channel of 32-bit color from float in range [0.0 1.0] (private API)
im_mix_u32¶
def im_mix_u32(a: ImU32, b: ImU32, s: ImU32) -> ImU32static inline ImU32 ImMixU32(ImU32 a, ImU32 b, ImU32 s);Mix color a and b by factor s in [0 256] (private API)
Internal Enumerations¶
MarkerInternal_ (enum)¶
| Member | Value | C++ | |
|---|---|---|---|
im_plot3_d_marker_invalid | -3 | ImPlot3DMarker_Invalid = -3, } |
NextItemData (class)¶
| Attribute | C++ | |
|---|---|---|
spec: Spec | ImPlot3DSpec Spec; | |
render_line: bool | bool RenderLine; | |
render_fill: bool | bool RenderFill; | |
render_marker_line: bool | bool RenderMarkerLine; | |
render_marker_fill: bool | bool RenderMarkerFill; | |
is_auto_fill: bool | bool IsAutoFill; | |
is_auto_line: bool | bool IsAutoLine; | |
hidden: bool | bool Hidden; |
NextItemData.__init__¶
def __init__(self) -> NoneImPlot3DNextItemData();NextItemData.reset¶
def reset(self) -> Nonevoid Reset();(private API)
ColormapData (class)¶
Colormap data storage
| Attribute | C++ | |
|---|---|---|
count: int | int Count; |
ColormapData.__init__¶
def __init__(self) -> NoneImPlot3DColormapData();ColormapData.append¶
def append(self, name: str, keys: ImU32, count: int, qual: bool) -> intint Append(const char* name, const ImU32* keys, int count, bool qual);(private API)
ColormapData.rebuild_tables¶
def rebuild_tables(self) -> Nonevoid RebuildTables();(private API)
ColormapData.is_qual¶
def is_qual(self, cmap: Colormap) -> boolinline bool IsQual(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_name¶
def get_name(self, cmap: Colormap) -> strinline const char* GetName(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_index¶
def get_index(self, name: str) -> Colormapinline ImPlot3DColormap GetIndex(const char* name) const;(private API)
ColormapData.get_keys¶
def get_keys(self, cmap: Colormap) -> ImU32inline const ImU32* GetKeys(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_key_count¶
def get_key_count(self, cmap: Colormap) -> intinline int GetKeyCount(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_key_color¶
def get_key_color(self, cmap: Colormap, idx: int) -> ImU32inline ImU32 GetKeyColor(ImPlot3DColormap cmap, int idx) const;(private API)
ColormapData.set_key_color¶
def set_key_color(self, cmap: Colormap, idx: int, value: ImU32) -> Noneinline void SetKeyColor(ImPlot3DColormap cmap, int idx, ImU32 value);(private API)
ColormapData.get_table¶
def get_table(self, cmap: Colormap) -> ImU32inline const ImU32* GetTable(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_table_size¶
def get_table_size(self, cmap: Colormap) -> intinline int GetTableSize(ImPlot3DColormap cmap) const;(private API)
ColormapData.get_table_color¶
def get_table_color(self, cmap: Colormap, idx: int) -> ImU32inline ImU32 GetTableColor(ImPlot3DColormap cmap, int idx) const;(private API)
ColormapData.lerp_table¶
def lerp_table(self, cmap: Colormap, t: float) -> ImU32inline ImU32 LerpTable(ImPlot3DColormap cmap, float t) const;(private API)
Item (class)¶
State information for plot items
| Attribute | C++ | |
|---|---|---|
id_: ID | ImGuiID ID; | |
color: ImU32 | ImU32 Color; | |
marker: Marker | ImPlot3DMarker Marker; | |
name_offset: int | int NameOffset; | |
show: bool | bool Show; | |
legend_hovered: bool | bool LegendHovered; | |
seen_this_frame: bool | bool SeenThisFrame; |
Item.__init__¶
def __init__(self) -> NoneImPlot3DItem();Legend (class)¶
Holds legend state
| Attribute | C++ | |
|---|---|---|
flags: LegendFlags | ImPlot3DLegendFlags Flags; | |
previous_flags: LegendFlags | ImPlot3DLegendFlags PreviousFlags; | |
location: Location | ImPlot3DLocation Location; | |
previous_location: Location | ImPlot3DLocation PreviousLocation; | |
scroll: ImVec2 | ImVec2 Scroll; | |
rect: ImRect | ImRect Rect; | |
rect_clamped: ImRect | ImRect RectClamped; | |
hovered: bool | bool Hovered; | |
held: bool | bool Held; |
Legend.__init__¶
def __init__(self) -> NoneImPlot3DLegend();Legend.reset¶
def reset(self) -> Nonevoid Reset();(private API)
ItemGroup (class)¶
Holds items
| Attribute | C++ | |
|---|---|---|
id_: ID | ImGuiID ID; | |
legend: Legend | ImPlot3DLegend Legend; | |
colormap_idx: int | int ColormapIdx; | |
marker_idx: Marker | ImPlot3DMarker MarkerIdx; |
ItemGroup.__init__¶
def __init__(self) -> NoneImPlot3DItemGroup();ItemGroup.get_item_count¶
def get_item_count(self) -> intint GetItemCount() const;(private API)
ItemGroup.get_item_id¶
def get_item_id(self, label_id: str) -> IDImGuiID GetItemID(const char* label_id);(private API)
ItemGroup.get_item¶
@overload
def get_item(self, id_: ID) -> Item
@overload
def get_item(self, label_id: str) -> ItemImPlot3DItem* GetItem(ImGuiID id);
ImPlot3DItem* GetItem(const char* label_id);(private API)
ItemGroup.get_or_add_item¶
def get_or_add_item(self, id_: ID) -> ItemImPlot3DItem* GetOrAddItem(ImGuiID id);(private API)
ItemGroup.get_item_by_index¶
def get_item_by_index(self, i: int) -> ItemImPlot3DItem* GetItemByIndex(int i);(private API)
ItemGroup.get_item_index¶
def get_item_index(self, item: Item) -> intint GetItemIndex(ImPlot3DItem* item);(private API)
ItemGroup.get_legend_count¶
def get_legend_count(self) -> intint GetLegendCount() const;(private API)
ItemGroup.get_legend_item¶
def get_legend_item(self, i: int) -> ItemImPlot3DItem* GetLegendItem(int i);(private API)
ItemGroup.get_legend_label¶
def get_legend_label(self, i: int) -> strconst char* GetLegendLabel(int i);(private API)
ItemGroup.reset¶
def reset(self) -> Nonevoid Reset();(private API)
Tick (class)¶
Tick mark info
| Attribute | C++ | |
|---|---|---|
plot_pos: float | double PlotPos; | |
major: bool | bool Major; | |
show_label: bool | bool ShowLabel; | |
label_size: ImVec2 | ImVec2 LabelSize; | |
text_offset: int | int TextOffset; | |
idx: int | int Idx; |
Tick.__init__¶
def __init__(self, value: float, major: bool, show_label: bool) -> NoneImPlot3DTick(double value, bool major, bool show_label);Ticker (class)¶
Collection of ticks
Ticker.__init__¶
def __init__(self) -> NoneImPlot3DTicker();Ticker.add_tick¶
@overload
def add_tick(self, value: float, major: bool, show_label: bool, label: str) -> Tick
@overload
def add_tick(self, tick: Tick) -> TickImPlot3DTick& AddTick(double value, bool major, bool show_label, const char* label);
inline ImPlot3DTick& AddTick(ImPlot3DTick tick);(private API)
Ticker.get_text¶
@overload
def get_text(self, idx: int) -> str
@overload
def get_text(self, tick: Tick) -> strconst char* GetText(int idx) const;
const char* GetText(const ImPlot3DTick& tick) const;(private API)
Ticker.reset¶
def reset(self) -> Nonevoid Reset();(private API)
Ticker.tick_count¶
def tick_count(self) -> intint TickCount() const;(private API)
Axis (class)¶
Holds axis information
| Attribute | C++ | |
|---|---|---|
flags: AxisFlags | ImPlot3DAxisFlags Flags; | |
previous_flags: AxisFlags | ImPlot3DAxisFlags PreviousFlags; | |
range: Range | ImPlot3DRange Range; | |
range_cond: Cond | ImPlot3DCond RangeCond; | |
ndc_scale: float | double NDCScale; | |
scale: Scale | ImPlot3DScale Scale; | |
ticker: Ticker | ImPlot3DTicker Ticker; | |
formatter_data: Any | void* FormatterData; | |
show_default_ticks: bool | bool ShowDefaultTicks; | |
transform_data: Any | void* TransformData; | Custom transform data set by the user |
scaled_range: Range | ImPlot3DRange ScaledRange; | Cached scaled range values |
fit_this_frame: bool | bool FitThisFrame; | |
fit_extents: Range | ImPlot3DRange FitExtents; | |
constraint_range: Range | ImPlot3DRange ConstraintRange; | |
constraint_zoom: Range | ImPlot3DRange ConstraintZoom; | |
hovered: bool | bool Hovered; | |
held: bool | bool Held; | |
color_bg: ImU32 | ImU32 ColorBg; | |
color_hov: ImU32 | ImU32 ColorHov; | |
color_act: ImU32 | ImU32 ColorAct; |
Axis.__init__¶
def __init__(self) -> NoneImPlot3DAxis();Constructor
Axis.reset¶
def reset(self) -> Noneinline void Reset();(private API)
Axis.set_range¶
def set_range(self, v1: float, v2: float) -> Noneinline void SetRange(double v1, double v2);(private API)
Axis.set_min¶
def set_min(self, _min: float, force: bool = False) -> boolinline bool SetMin(double _min, bool force = false);(private API)
Axis.set_max¶
def set_max(self, _max: float, force: bool = False) -> boolinline bool SetMax(double _max, bool force = false);(private API)
Axis.constrain¶
def constrain(self) -> Noneinline void Constrain();(private API)
Axis.update_transform_cache¶
def update_transform_cache(self) -> Noneinline void UpdateTransformCache();(private API)
Axis.plot_to_ndc¶
def plot_to_ndc(self, plt: float) -> floatinline double PlotToNDC(double plt) const;(private API)
Axis.ndc_to_plot¶
def ndc_to_plot(self, t: float) -> floatinline double NDCToPlot(double t) const;(private API)
Axis.is_range_locked¶
def is_range_locked(self) -> boolinline bool IsRangeLocked() const;(private API)
Axis.is_locked_min¶
def is_locked_min(self) -> boolinline bool IsLockedMin() const;(private API)
Axis.is_locked_max¶
def is_locked_max(self) -> boolinline bool IsLockedMax() const;(private API)
Axis.is_locked¶
def is_locked(self) -> boolinline bool IsLocked() const;(private API)
Axis.is_input_locked_min¶
def is_input_locked_min(self) -> boolinline bool IsInputLockedMin() const;(private API)
Axis.is_input_locked_max¶
def is_input_locked_max(self) -> boolinline bool IsInputLockedMax() const;(private API)
Axis.is_input_locked¶
def is_input_locked(self) -> boolinline bool IsInputLocked() const;(private API)
Axis.is_pan_locked¶
def is_pan_locked(self, increasing: bool) -> boolinline bool IsPanLocked(bool increasing);(private API)
Axis.set_label¶
def set_label(self, label: str) -> Noneinline void SetLabel(const char* label);(private API)
Axis.get_label¶
def get_label(self) -> strinline const char* GetLabel() const;(private API)
Axis.ndc_size¶
def ndc_size(self) -> floatinline double NDCSize() const;(private API)
Axis.set_aspect¶
def set_aspect(self, units_per_ndc_unit: float) -> Noneinline void SetAspect(double units_per_ndc_unit);(private API)
Axis.get_aspect¶
def get_aspect(self) -> floatdouble GetAspect() const;(private API)
Axis.has_label¶
def has_label(self) -> boolbool HasLabel() const;(private API)
Axis.has_grid_lines¶
def has_grid_lines(self) -> boolbool HasGridLines() const;(private API)
Axis.has_tick_labels¶
def has_tick_labels(self) -> boolbool HasTickLabels() const;(private API)
Axis.has_tick_marks¶
def has_tick_marks(self) -> boolbool HasTickMarks() const;(private API)
Axis.is_auto_fitting¶
def is_auto_fitting(self) -> boolbool IsAutoFitting() const;(private API)
Axis.extend_fit¶
def extend_fit(self, value: float) -> Nonevoid ExtendFit(double value);(private API)
Axis.apply_fit¶
def apply_fit(self) -> Nonevoid ApplyFit();(private API)
Plot (class)¶
Holds plot state information that must persist after EndPlot
| Attribute | C++ | |
|---|---|---|
id_: ID | ImGuiID ID; | |
flags: Flags | ImPlot3DFlags Flags; | |
previous_flags: Flags | ImPlot3DFlags PreviousFlags; | |
just_created: bool | bool JustCreated; | |
initialized: bool | bool Initialized; | |
frame_rect: ImRect | ImRect FrameRect; | Outermost bounding rectangle that encapsulates whole the plot/title/padding/etc |
canvas_rect: ImRect | ImRect CanvasRect; | Frame rectangle reduced by padding |
plot_rect: ImRect | ImRect PlotRect; | Bounding rectangle for the actual plot area |
initial_rotation: Quat | ImPlot3DQuat InitialRotation; | Initial rotation quaternion |
rotation: Quat | ImPlot3DQuat Rotation; | Current rotation quaternion |
rotation_cond: Cond | ImPlot3DCond RotationCond; | |
animation_time: float | float AnimationTime; | Remaining animation time |
rotation_animation_end: Quat | ImPlot3DQuat RotationAnimationEnd; | End rotation for animation |
setup_locked: bool | bool SetupLocked; | |
hovered: bool | bool Hovered; | |
held: bool | bool Held; | |
held_edge_idx: int | int HeldEdgeIdx; | Index of the edge being held |
held_plane_idx: int | int HeldPlaneIdx; | Index of the plane being held |
drag_rotation_axis: Point | ImPlot3DPoint DragRotationAxis; | Axis of rotation for the duration of a drag |
fit_this_frame: bool | bool FitThisFrame; | |
items: ItemGroup | ImPlot3DItemGroup Items; | |
context_click: bool | bool ContextClick; | True if context button was clicked (to distinguish from double click) |
open_context_this_frame: bool | bool OpenContextThisFrame; |
Plot.__init__¶
def __init__(self) -> NoneImPlot3DPlot();Plot.set_title¶
def set_title(self, title: str) -> Noneinline void SetTitle(const char* title);(private API)
Plot.has_title¶
def has_title(self) -> boolinline bool HasTitle() const;(private API)
Plot.get_title¶
def get_title(self) -> strinline const char* GetTitle() const;(private API)
Plot.is_rotation_locked¶
def is_rotation_locked(self) -> boolinline bool IsRotationLocked() const;(private API)
Plot.extend_fit¶
def extend_fit(self, point: Point) -> Nonevoid ExtendFit(const ImPlot3DPoint& point);Extends the fit range of all three axes to include the provided point (private API)
Plot.range_min¶
def range_min(self) -> PointImPlot3DPoint RangeMin() const;Returns the minimum of the range in all three dimensions (private API)
Plot.range_max¶
def range_max(self) -> PointImPlot3DPoint RangeMax() const;Returns the maximum of the range in all three dimensions (private API)
Plot.range_center¶
def range_center(self) -> PointImPlot3DPoint RangeCenter() const;Returns the point at the center of the range in all three dimensions (private API)
Plot.set_range¶
def set_range(self, min: Point, max: Point) -> Nonevoid SetRange(const ImPlot3DPoint& min, const ImPlot3DPoint& max);Sets the range of all three axes (private API)
Plot.get_view_scale¶
def get_view_scale(self) -> floatfloat GetViewScale() const;Returns the scale of the plot view (constant to convert from NDC coordinates to pixels coordinates) (private API)
Plot.get_box_scale¶
def get_box_scale(self) -> PointImPlot3DPoint GetBoxScale() const;Returns the scale of the plot box in each dimension (private API)
Plot.apply_equal_aspect¶
def apply_equal_aspect(self, ref_axis: ImAxis3D) -> Nonevoid ApplyEqualAspect(ImAxis3D ref_axis);Applies equal aspect ratio constraint using the specified axis as reference.
Other axes are adjusted to match the reference axis’s aspect ratio (units per NDC unit).
(private API)
Context (class)¶
| Attribute | C++ | |
|---|---|---|
current_plot: Plot | ImPlot3DPlot* CurrentPlot; | |
current_items: ItemGroup | ImPlot3DItemGroup* CurrentItems; | |
current_item: Item | ImPlot3DItem* CurrentItem; | |
next_item_data: NextItemData | ImPlot3DNextItemData NextItemData; | |
style: Style | ImPlot3DStyle Style; | |
colormap_data: ColormapData | ImPlot3DColormapData ColormapData; |
Context.__init__¶
def __init__(self, next_item_data: Optional[NextItemData] = None, style: Optional[Style] = None, colormap_data: Optional[ColormapData] = None) -> NoneAuto-generated default constructor with named params
Python bindings defaults:
If any of the params below is None, then its default value below will be used:
* NextItemData: NextItemData()
* Style: Style()
* ColormapData: ColormapData()
Context Utils¶
initialize_context¶
def initialize_context(ctx: Context) -> NoneIMPLOT3D_API void InitializeContext(ImPlot3DContext* ctx);Initialize ImPlot3DContext
reset_context¶
def reset_context(ctx: Context) -> NoneIMPLOT3D_API void ResetContext(ImPlot3DContext* ctx);Reset ImPlot3DContext
Style Utils¶
is_color_auto¶
@overload
def is_color_auto(col: ImVec4Like) -> bool
@overload
def is_color_auto(idx: Col) -> boolIMPLOT3D_API bool IsColorAuto(const ImVec4& col);
IMPLOT3D_API bool IsColorAuto(ImPlot3DCol idx);get_auto_color¶
def get_auto_color(idx: Col) -> ImVec4IMPLOT3D_API ImVec4 GetAutoColor(ImPlot3DCol idx);get_style_color_name¶
def get_style_color_name(idx: Col) -> strIMPLOT3D_API const char* GetStyleColorName(ImPlot3DCol idx);Returns white or black text given background color¶
calc_text_color¶
@overload
def calc_text_color(bg: ImVec4Like) -> ImU32
@overload
def calc_text_color(bg: ImU32) -> ImU32static inline ImU32 CalcTextColor(const ImVec4& bg);
static inline ImU32 CalcTextColor(ImU32 bg);(private API)
get_item_data¶
def get_item_data() -> NextItemDataIMPLOT3D_API const ImPlot3DNextItemData& GetItemData();Get styling data for next item (call between BeginItem/EndItem)
get_colormap_color_u32¶
def get_colormap_color_u32(idx: int, cmap: Colormap) -> ImU32IMPLOT3D_API ImU32 GetColormapColorU32(int idx, ImPlot3DColormap cmap);Returns a color from the Color map given an index >= 0 (modulo will be performed)
next_colormap_color_u32¶
def next_colormap_color_u32() -> ImU32IMPLOT3D_API ImU32 NextColormapColorU32();Returns the next unused colormap color and advances the colormap. Can be used to skip colors if desired
render_color_bar¶
def render_color_bar(colors: ImU32, size: int, draw_list: ImDrawList, bounds: ImRect, vert: bool, reversed: bool, continuous: bool) -> NoneIMPLOT3D_API void RenderColorBar(const ImU32* colors, int size, ImDrawList& DrawList, const ImRect& bounds, bool vert, bool reversed, bool continuous);Render a colormap bar
Item Utils¶
begin_item¶
def begin_item(label_id: str, spec: Optional[Spec] = None, item_col: Optional[ImVec4Like] = None, item_mkr: Optional[Marker] = None) -> boolIMPLOT3D_API bool BeginItem(const char* label_id, const ImPlot3DSpec& spec = ImPlot3DSpec(), const ImVec4& item_col = IMPLOT3D_AUTO_COL, ImPlot3DMarker item_mkr = ImPlot3DMarker_Invalid);Begins a new item. Returns False if the item should not be plotted
Python bindings defaults:
If any of the params below is None, then its default value below will be used:
* spec: Spec()
* item_col: IMPLOT3D_AUTO_COL
* item_mkr: Marker_Invalid
end_item¶
def end_item() -> NoneIMPLOT3D_API void EndItem();register_or_get_item¶
def register_or_get_item(label_id: str, flags: ItemFlags, just_created: Optional[bool] = None) -> Tuple[Item, Optional[bool]]IMPLOT3D_API ImPlot3DItem* RegisterOrGetItem(const char* label_id, ImPlot3DItemFlags flags, bool* just_created = nullptr);Register or get an existing item from the current plot
get_current_item¶
def get_current_item() -> ItemIMPLOT3D_API ImPlot3DItem* GetCurrentItem();Gets the current item from ImPlot3DContext
bust_item_cache¶
def bust_item_cache() -> NoneIMPLOT3D_API void BustItemCache();Busts the cache for every item for every plot in the current context
add_text_rotated¶
def add_text_rotated(draw_list: ImDrawList, pos: ImVec2Like, angle: float, col: ImU32, text_begin: str, text_end: Optional[str] = None) -> NoneIMPLOT3D_API void AddTextRotated(ImDrawList* draw_list, ImVec2 pos, float angle, ImU32 col, const char* text_begin, const char* text_end = nullptr);TODO move to another place
Plot Utils¶
get_current_plot¶
def get_current_plot() -> PlotIMPLOT3D_API ImPlot3DPlot* GetCurrentPlot();Gets the current plot from ImPlot3DContext
bust_plot_cache¶
def bust_plot_cache() -> NoneIMPLOT3D_API void BustPlotCache();Busts the cache for every plot in the current context
get_frame_pos¶
def get_frame_pos() -> ImVec2IMPLOT3D_API ImVec2 GetFramePos();Get the current frame position (top-left) in pixels
get_frame_size¶
def get_frame_size() -> ImVec2IMPLOT3D_API ImVec2 GetFrameSize();Get the current frame size in pixels
plot_to_ndc¶
def plot_to_ndc(point: Point) -> PointIMPLOT3D_API ImPlot3DPoint PlotToNDC(const ImPlot3DPoint& point);Convert a position in the current plot’s coordinate system to the current plot’s normalized device coordinate system (NDC)
When the cube’s aspect ratio is [1,1,1], the NDC ranges from [-0.5, 0.5] along each axis
ndc_to_plot¶
def ndc_to_plot(point: Point) -> PointIMPLOT3D_API ImPlot3DPoint NDCToPlot(const ImPlot3DPoint& point);ndc_to_pixels¶
def ndc_to_pixels(point: Point) -> ImVec2IMPLOT3D_API ImVec2 NDCToPixels(const ImPlot3DPoint& point);Convert a position in the current plot’s NDC to pixels
pixels_to_ndc_ray¶
def pixels_to_ndc_ray(pix: ImVec2Like) -> RayIMPLOT3D_API ImPlot3DRay PixelsToNDCRay(const ImVec2& pix);Convert a pixel coordinate to a ray in the NDC
ndc_ray_to_plot_ray¶
def ndc_ray_to_plot_ray(ray: Ray) -> RayIMPLOT3D_API ImPlot3DRay NDCRayToPlotRay(const ImPlot3DRay& ray);Convert a ray in the NDC to a ray in the current plot’s coordinate system
Setup Utils¶
setup_lock¶
def setup_lock() -> NoneIMPLOT3D_API void SetupLock();Transforms¶
transform_forward_log10¶
def transform_forward_log10(v: float, param_1: Any) -> floatstatic inline double TransformForward_Log10(double v, void*);(private API)
transform_inverse_log10¶
def transform_inverse_log10(v: float, param_1: Any) -> floatstatic inline double TransformInverse_Log10(double v, void*);(private API)
transform_forward_sym_log¶
def transform_forward_sym_log(v: float, param_1: Any) -> floatstatic inline double TransformForward_SymLog(double v, void*);(private API)
transform_inverse_sym_log¶
def transform_inverse_sym_log(v: float, param_1: Any) -> floatstatic inline double TransformInverse_SymLog(double v, void*);(private API)