Plan Position Indicator (PPI)

The Plan Position Indicator (PPI) provides a radar-style situational awareness display used on the SA screen as a camera overlay and on the DEF screen as the primary radar view.

Overview

The PlanPositionIndicator widget renders a circular radar display showing:

  • Vehicle heading indicator and compass rose
  • Range rings at configurable intervals
  • Threat contacts as colour-coded markers
  • Field of view arc
  • Sight line indicator (optional)

Styles

The PPI supports 7 core rendering styles:

Style 0 - Classic

PPI Classic

Traditional radar display with green phosphor look.

Style 1 - Simple

PPI Simple

Enhanced visibility with prominent range rings.

Style 2 - Combat

PPI Combat

High contrast display for combat operations.

Style 3 - Tactical

PPI Tactical

Tactical display mode with threat contacts.

Style 4 - Classic Tank

PPI Classic Tank

Classic tank display with outline rendering and sight line.

Style 5 - Classic Arrow

PPI Classic Arrow

Classic arrow display with outline rendering and sight line.

Style 6 - Modern Tank

PPI Modern Tank

Modern tactical display with sight line.

Variations

Large Display

Extended size PPI for full-screen operation:

PPI Large

Classic Large

Classic style with an extended view area:

PPI Classic Large

Wide FOV

Extended field of view for peripheral awareness:

PPI Wide FOV

Threat Variants

PPI styles that show threat contacts:

Simple with Threats Classic with Threats Modern with Threats
Simple Threats Classic Threats Modern Threats

No Sight Variants

Display styles without the sight line overlay:

Classic Tank Classic Arrow Modern Tank
Classic Tank No Sight Classic Arrow No Sight Modern Tank No Sight

Usage

#include <PlanPositionIndicator.h>

// Create PPI widget
PlanPositionIndicator* ppi = new PlanPositionIndicator(parent);

// Set display style
ppi->setStyle(PPIStyle::Classic);

// Set range (meters)
ppi->setRange(5000);

// Add track
Track track;
track.id = "T001";
track.bearing = 45.0;
track.range = 2000.0;
track.hostility = Hostility::Hostile;
ppi->addTrack(track);
  • SA — PPI overlay on Situational Awareness screen
  • DEF — Dedicated radar view on Defence screen
  • Threats — Threat lifecycle and display integration
  • Widgets Reference — Full widget reference