Table of Contents

Class CircleVideoEffect

Namespace
VisioForge.Core.Types.X.VideoEffects
Assembly
VisioForge.Core.dll

Represents a circular arc perspective effect that maps the video onto a circular arc segment creating cylindrical distortion.

public class CircleVideoEffect : BaseVideoEffect, IBaseVideoEffect, IVideoEditXVideoEffect

Inheritance

Implements

Inherited Members

Remarks

SDK Availability: VideoCaptureCoreX, MediaPlayerCoreX, VideoEditCoreX, Media Blocks SDK

Platforms: Windows, Linux, macOS, Android, iOS

This effect creates a perspective transformation that maps the video image onto a circular arc, simulating viewing the content on a curved cylindrical surface. The effect can create partial or complete circular wrapping, panoramic views, or cylindrical distortions.

The circle effect is controlled by three parameters:

  • Angle: Starting angle of the arc in radians (rotation position)
  • Height: Vertical size/radius of the circular arc
  • SpreadAngle: Arc length in radians (how much of circle is used)

The circle effect is commonly used for:

  • Panoramic Views: Simulate wide-angle or 360° panoramas
  • Cylindrical Projection: Map flat video to curved surfaces
  • Fish-eye Simulation: Create circular distortion effects
  • Artistic Effects: Curved, warped perspectives
  • VR Content: Cylindrical video mapping for immersive content

This is a cross-platform effect using the circle element with parametric arc mapping. The effect is GPU-accelerated where available for real-time performance.

Performance: Real-time capable on modern hardware. GPU-accelerated geometric transformation with cylindrical projection. Performance scales with arc complexity and resolution.

Constructors

CircleVideoEffect(string)

Initializes a new instance of the VisioForge.Core.Types.X.VideoEffects.CircleVideoEffect class with specified name.

public CircleVideoEffect(string name = "circle")

Parameters

name string

The unique name for this effect instance. Defaults to "circle".

Fields

DefaultName

The default name for circle effects.

public static string DefaultName

Field Value

string

Properties

Angle

Gets or sets the starting angle of the circular arc in radians.

public double Angle { get; set; }

Property Value

double

Remarks

Angle defines the rotational starting position of the arc. Use this to orient the circular mapping in different directions. Negative values rotate counter-clockwise.

Height

Gets or sets the height/radius of the circular arc.

public int Height { get; set; }

Property Value

int

Remarks

Height controls the radius of curvature for the cylindrical projection. Smaller values create tighter curvature (more pronounced cylindrical effect), while larger values create gentler curves approaching flat perspective.

SpreadAngle

Gets or sets the angular length/spread of the arc in radians.

public double SpreadAngle { get; set; }

Property Value

double

Remarks

SpreadAngle determines how much of the circular arc is used for the mapping. Larger values wrap more of the video around the circular path. A full 2π creates a complete cylindrical wrap-around effect.

StartTime

Gets or sets the start time for the circle effect (VideoEditCoreX only).

public TimeSpan StartTime { get; set; }

Property Value

TimeSpan

Remarks

This property is only used in VideoEditCoreX for time-based effect control.

StopTime

Gets or sets the stop time for the circle effect (VideoEditCoreX only).

public TimeSpan StopTime { get; set; }

Property Value

TimeSpan

Remarks

This property is only used in VideoEditCoreX for time-based effect control.

Methods

GenerateDescription()

Generates the description.

public string GenerateDescription()

Returns

string

A string containing the GStreamer element description for the circle effect.