| 322 | //----------------------------------------------------------------------------- |
| 323 | |
| 324 | double GetPointDepth(ImPlot3DPoint p) { |
| 325 | ImPlot3DContext& gp = *GImPlot3D; |
| 326 | ImPlot3DPlot& plot = *gp.CurrentPlot; |
| 327 | |
| 328 | // Adjust for inverted axes before rotation |
| 329 | if (ImHasFlag(plot.Axes[0].Flags, ImPlot3DAxisFlags_Invert)) |
| 330 | p.x = -p.x; |
| 331 | if (ImHasFlag(plot.Axes[1].Flags, ImPlot3DAxisFlags_Invert)) |
| 332 | p.y = -p.y; |
| 333 | if (ImHasFlag(plot.Axes[2].Flags, ImPlot3DAxisFlags_Invert)) |
| 334 | p.z = -p.z; |
| 335 | |
| 336 | ImPlot3DPoint p_rot = plot.Rotation * p; |
| 337 | return p_rot.z; |
| 338 | } |
| 339 | |
| 340 | struct RendererBase { |
| 341 | RendererBase(int prims, int idx_consumed, int vtx_consumed) : Prims(prims), IdxConsumed(idx_consumed), VtxConsumed(vtx_consumed) {} |