MCPcopy Create free account
hub / github.com/brenocq/implot3d / PlotTriangleEx

Function PlotTriangleEx

implot3d_items.cpp:1348–1377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1346//-----------------------------------------------------------------------------
1347
1348template <typename _Getter> void PlotTriangleEx(const char* label_id, const _Getter& getter, const ImPlot3DSpec& spec) {
1349 if (BeginItemEx(label_id, getter, spec, spec.FillColor, spec.Marker)) {
1350 const ImPlot3DNextItemData& n = GetItemData();
1351 const ImPlot3DSpec& s = n.Spec;
1352
1353 // Render fill
1354 if (getter.Count >= 3 && n.RenderFill && !ImHasFlag(spec.Flags, ImPlot3DTriangleFlags_NoFill)) {
1355 if (s.FillColors != nullptr)
1356 RenderPrimitives2<RendererTriangleFill>(getter, GetterIdxColor(s.FillColors, getter.Count, s.FillAlpha));
1357 else
1358 RenderPrimitives2<RendererTriangleFill>(getter, GetterConstColor(ImGui::GetColorU32(s.FillColor)));
1359 }
1360
1361 // Render lines
1362 if (getter.Count >= 2 && n.RenderLine && !ImHasFlag(spec.Flags, ImPlot3DTriangleFlags_NoLines)) {
1363 if (s.LineColors != nullptr)
1364 RenderPrimitives2<RendererLineSegments>(GetterTriangleLines<_Getter>(getter), GetterIdxColor(s.LineColors, getter.Count),
1365 s.LineWeight);
1366 else
1367 RenderPrimitives2<RendererLineSegments>(GetterTriangleLines<_Getter>(getter), GetterConstColor(ImGui::GetColorU32(s.LineColor)),
1368 s.LineWeight);
1369 }
1370
1371 // Render markers
1372 if (s.Marker != ImPlot3DMarker_None && !ImHasFlag(spec.Flags, ImPlot3DTriangleFlags_NoMarkers))
1373 RenderColoredMarkers(getter, n);
1374
1375 EndItem();
1376 }
1377}
1378
1379IMPLOT3D_TMP void PlotTriangle(const char* label_id, const T* xs, const T* ys, const T* zs, int count, const ImPlot3DSpec& spec) {
1380 if (count < 3)

Callers 1

PlotTriangleFunction · 0.85

Calls 6

BeginItemExFunction · 0.85
ImHasFlagFunction · 0.85
GetterIdxColorClass · 0.85
GetterConstColorClass · 0.85
RenderColoredMarkersFunction · 0.85
EndItemFunction · 0.85

Tested by

no test coverage detected