oa::NodeCanvas

NodeCanvas class in the OA Ui public surface.

Public Methods

oa::Status oa::NodeCanvas::fitToView(const WorldAabb & inBounds, oa::F32 inPaddingPixels = 32.0F)
oa::Result<NodeCanvasGrid> oa::NodeCanvas::grid(oa::F32 inMinimumScreenSpacing = 8.0F, oa::F32 inBaseWorldStep = 10.0F, oa::U32 inMajorEvery = 10U, oa::U32 inSuperMajorEvery = 100U)
oa::Result<oa::Optional<NodeCanvasHit>> oa::NodeCanvas::hitTest(oa::vlm::Vec2 inScreen, oa::Span<const NodeCanvasHitItem> inItems)
bool oa::NodeCanvas::isAnimating()
oa::Status oa::NodeCanvas::pan(oa::vlm::Vec2 inDeltaScreen)
oa::vlm::Vec2 oa::NodeCanvas::screenToWorld(oa::vlm::Vec2 inScreen)
oa::Status oa::NodeCanvas::setState(const NodeCanvasState & inState)
oa::Status oa::NodeCanvas::setViewSize(oa::F32 inW, oa::F32 inH)
const NodeCanvasState & oa::NodeCanvas::state()
oa::Status oa::NodeCanvas::stepAnimation(oa::F32 inDeltaMs)
WorldAabb oa::NodeCanvas::visibleWorldRect()
oa::vlm::Vec2 oa::NodeCanvas::worldToScreen(oa::vlm::Vec2 inWorld)
oa::Status oa::NodeCanvas::zoomAt(oa::F32 inFactor, oa::vlm::Vec2 inFocusScreen)

Public Data Members

kZoomMaxconst oa::F32static
kZoomMinconst oa::F32static

Constructor & Destructor Documentation

oa::NodeCanvas::NodeCanvas()
No public source comment is attached to this declaration.

Public Method Documentation

oa::Status oa::NodeCanvas::fitToView( const WorldAabb & inBounds, oa::F32 inPaddingPixels = 32.0F )
Animate pan/zoom to fit all nodes. call every frame until isAnimating().

Parameters

inBounds
const WorldAabb &

inPaddingPixels
oa::F32

Default: 32.0F

Returns

oa::Status

The declared return value.

oa::Result<NodeCanvasGrid> oa::NodeCanvas::grid( oa::F32 inMinimumScreenSpacing = 8.0F, oa::F32 inBaseWorldStep = 10.0F, oa::U32 inMajorEvery = 10U, oa::U32 inSuperMajorEvery = 100U )
No public source comment is attached to this declaration.

Parameters

inMinimumScreenSpacing
oa::F32

Default: 8.0F

inBaseWorldStep
oa::F32

Default: 10.0F

inMajorEvery
oa::U32

Default: 10U

inSuperMajorEvery
oa::U32

Default: 100U

Returns

oa::Result<NodeCanvasGrid>

The declared return value.

oa::Result<oa::Optional<NodeCanvasHit>> oa::NodeCanvas::hitTest( oa::vlm::Vec2 inScreen, oa::Span<const NodeCanvasHitItem> inItems )
No public source comment is attached to this declaration.

Parameters

inScreen
oa::vlm::Vec2

inItems
oa::Span<const NodeCanvasHitItem>

Returns

oa::Result<oa::Optional<NodeCanvasHit>>

The declared return value.

bool oa::NodeCanvas::isAnimating()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

oa::Status oa::NodeCanvas::pan( oa::vlm::Vec2 inDeltaScreen )
No public source comment is attached to this declaration.

Parameters

inDeltaScreen
oa::vlm::Vec2

Returns

oa::Status

The declared return value.

oa::vlm::Vec2 oa::NodeCanvas::screenToWorld( oa::vlm::Vec2 inScreen )
No public source comment is attached to this declaration.

Parameters

inScreen
oa::vlm::Vec2

Returns

oa::vlm::Vec2

The declared return value.

oa::Status oa::NodeCanvas::setState( const NodeCanvasState & inState )
── input: update pan/zoom from raw deltas ────────────────────────────────

Parameters

inState
const NodeCanvasState &

Returns

oa::Status

The declared return value.

oa::Status oa::NodeCanvas::setViewSize( oa::F32 inW, oa::F32 inH )
No public source comment is attached to this declaration.

Parameters

inW
oa::F32

inH
oa::F32

Returns

oa::Status

The declared return value.

const NodeCanvasState & oa::NodeCanvas::state()
No public source comment is attached to this declaration.

Returns

const NodeCanvasState &

The declared return value.

oa::Status oa::NodeCanvas::stepAnimation( oa::F32 inDeltaMs )
No public source comment is attached to this declaration.

Parameters

inDeltaMs
oa::F32

Returns

oa::Status

The declared return value.

WorldAabb oa::NodeCanvas::visibleWorldRect()
No public source comment is attached to this declaration.

Returns

WorldAabb

The declared return value.

oa::vlm::Vec2 oa::NodeCanvas::worldToScreen( oa::vlm::Vec2 inWorld )
── Coordinate transforms ─────────────────────────────────────────────────

Parameters

inWorld
oa::vlm::Vec2

Returns

oa::vlm::Vec2

The declared return value.

oa::Status oa::NodeCanvas::zoomAt( oa::F32 inFactor, oa::vlm::Vec2 inFocusScreen )
zoom centered on inFocusScreen (screen pixel).

Parameters

inFactor
oa::F32

inFocusScreen
oa::vlm::Vec2

Returns

oa::Status

The declared return value.