Table of Contents

Interface IPTZMoveTransport

Namespace
VisioForge.Core.AI.PTZ
Assembly
VisioForge.Core.AI.dll

Thin transport abstraction over a PTZ camera, used by VisioForge.Core.AI.PTZ.PTZAutoTrackingController to actuate continuous-move and stop commands.

public interface IPTZMoveTransport

Remarks

The primary implementation is VisioForge.Core.AI.PTZ.OnvifPTZMoveTransport, which forwards to an ONVIF client. The interface is public so that tests can supply a recording fake without reflection. All speeds are in the range [-1, 1]; positive pan is right, positive tilt is up, positive zoom is in.

Methods

ContinuousMoveAsync(float, float, float)

Starts (or updates) continuous PTZ movement at the given per-axis speeds.

Task ContinuousMoveAsync(float panSpeed, float tiltSpeed, float zoomSpeed)

Parameters

panSpeed float

Pan speed in [-1, 1]; positive is right.

tiltSpeed float

Tilt speed in [-1, 1]; positive is up.

zoomSpeed float

Zoom speed in [-1, 1]; positive is in.

Returns

Task

A task that completes when the command has been issued.

GoToPresetAsync(string)

Moves the camera to a named preset. Used to return home when the target is lost. Implementations that do not support presets may treat this as a no-op.

Task GoToPresetAsync(string presetToken)

Parameters

presetToken string

The preset token to move to.

Returns

Task

A task that completes when the command has been issued.

StopAsync(bool, bool)

Stops PTZ movement on the selected axes.

Task StopAsync(bool panTilt, bool zoom)

Parameters

panTilt bool

When true, stops pan/tilt movement.

zoom bool

When true, stops zoom movement.

Returns

Task

A task that completes when the stop has been issued.