Skip to content
ChartForgeX
Class

ChartPolarProjection

ChartForgeX.Rendering

Namespace
ChartForgeX.Rendering
Assembly
ChartForgeX
Modifiers
sealed

A detached directional and radius projection captured by a usable continuous Polar preparation.

Inheritance

  • object
  • ChartPolarProjection

Remarks

Angular windows clip a sector; they never stretch or rewrite source bearings. Each radius window uniformly magnifies captured full-domain geometry and crops an annulus. The nearer projected boundary is an inner aperture, not a nonlinear remapping to the center. Original cubic curves, tangents and closed areas remain intact before the shared SVG/native-raster paint clip.

Usage

Explore 1 API references to this type

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Returned or exposed by 1

Methods

public ChartAxisWindow? ConstrainRadius(ChartAxisWindow window, ChartAxisSide axis = Primary) #

Confines a requested radius window using the captured axis transform. Null means the full domain.

Parameters

window ChartForgeX.Core.ChartAxisWindow required
axis ChartForgeX.Core.ChartAxisSide = Primary optional
public bool Contains(double angle, double radius, ChartAxisSide axis = Primary) #

Tests source-mark membership without filtering or rewriting captured observations.

Parameters

angle double required
radius double required
axis ChartForgeX.Core.ChartAxisSide = Primary optional

Returns

bool
public double GetInnerRadius(ChartAxisSide axis = Primary) #

Gets the selected radius axis's captured inner aperture in logical drawing units.

Parameters

axis ChartForgeX.Core.ChartAxisSide = Primary optional

Returns

double
public double GetOuterRadius(ChartAxisSide axis = Primary) #

Gets the selected radius axis's captured outer crop radius in logical drawing units.

Parameters

axis ChartForgeX.Core.ChartAxisSide = Primary optional

Returns

double
public ChartAxisWindow GetRadiusWindow(ChartAxisSide axis = Primary, bool fullDomain = false) #

Gets the current or full source-radius window for an available selected axis.

Parameters

axis ChartForgeX.Core.ChartAxisSide = Primary optional
fullDomain bool = false optional
public ChartPolarViewport? Pan(double clockwiseAngleDelta, double outwardLogicalRadiusDelta, ChartPolarNavigationAxes axes = Angle, Radius) #

Moves selected captured windows by clockwise screen radians and outward logical drawing units.

Parameters

clockwiseAngleDelta double required
outwardLogicalRadiusDelta double required
axes ChartForgeX.Core.ChartPolarNavigationAxes = Angle, Radius optional

Returns

ChartPolarViewport? An immutable native request, or null for the complete view.

Exceptions

  • ArgumentOutOfRangeException – A delta, selected axes or resulting span is invalid or unrepresentable.
  • NotSupportedException – A selected radius axis is unavailable.
public ChartPoint Project(double angle, double radius, ChartAxisSide axis = Primary) #

Maps raw radians and a supported nonnegative radius onto the uniformly magnified full-domain geometry.

Parameters

angle double required
radius double required
axis ChartForgeX.Core.ChartAxisSide = Primary optional

Returns

ChartPoint
public double UnprojectRadius(double logicalRadius, ChartAxisSide axis = Primary) #

Converts a nonnegative logical distance from the center into the selected source radius.

Parameters

logicalRadius double required
axis ChartForgeX.Core.ChartAxisSide = Primary optional

Returns

double
Zoom 2 overloads
public ChartPolarViewport? Zoom(double factor, ChartPolarNavigationAxes axes = Angle, Radius) #

Crops selected captured coordinates around the visible sector and selected-annulus midpoint.

Parameters

factor double required
axes ChartForgeX.Core.ChartPolarNavigationAxes = Angle, Radius optional

Returns

ChartPolarViewport? An immutable native request, or null for the complete view.

Exceptions

  • ArgumentOutOfRangeException – The factor or selected axes are invalid, or a span is unrepresentable.
  • NotSupportedException – A selected radius axis is unavailable.
public ChartPolarViewport? Zoom(double factor, ChartPoint logicalAnchor, ChartPolarNavigationAxes axes = Angle, Radius) #

Crops selected captured coordinates around a logical pointer anchor. Factors above one zoom in.

Parameters

factor double required
logicalAnchor ChartForgeX.Primitives.ChartPoint required
axes ChartForgeX.Core.ChartPolarNavigationAxes = Angle, Radius optional

Returns

ChartPolarViewport? An immutable native request, or null when all coordinates return to their complete domains.

Exceptions

  • ArgumentOutOfRangeException – The factor, anchor or selected axes are invalid, or a span is unrepresentable.
  • NotSupportedException – A selected radius axis is unavailable.

Properties

public ChartPolarViewport? Viewport { get; } #

Gets the captured immutable request, or null for the full view.

public ChartPoint Center { get; } #

Gets the center in logical drawing units.

public double OuterRadius { get; } #

Gets the outer drawing radius in logical units.

public double RotationRadians { get; } #

Gets the authored clockwise display rotation in radians.

public bool AngleReversed { get; } #

Gets whether increasing authored angles run clockwise.

public ChartAxisWindow AngleWindow { get; } #

Gets the current unwrapped directional interval. The full view is 0..2π.