ITerrainVideo80

Objects that implement this interface use an external video file or stream to play video draped on the terrain. Some of the capabilities provided for this object manage parameters for the video projector. The projector object can get its positioning information from a telemetry file or its position can be controlled with the Position property of the ITerrainLocation80 interface. Play, stop, pause, and seek operations can also be performed on the video object using the ITerrainVideo80 interface.

 

 

Properties

 

Action

An IAction80 representing the operation that takes place when the object is clicked in the Project Tree.

Attachment

An IAttachment80 representing the attachment behavior of the object.

CanSeek

Gets a Boolean that identifies if the video is capable of seeking a specific time in its duration.

ID

Gets the ID of the object. (Inherited from ITerraExplorerObject80)

MaximumProjectionDistance

Gets and sets the distance from the camera at which the Video on Terrain disappears.

Message

An IMessageObject80 representing the message object assigned to the Video on Terrain.

Mute

Gets and sets a Boolean that determines whether the audio playback is muted.

ObjectType

Gets an enum that identifies the type of the object. (Inherited from ITerraExplorerObject80)

PlayStatus

Gets the play status of the video.

PlayVideoOnStartup

Gets and sets a Boolean that determines whether the video starts playing when a FLY project opens.

Position

An IPosition80 representing the position and orientation of the object on the terrain.

ProjectionFieldOfView

Gets and sets the projector field of view, in degrees.

ProjectionLinesLength

Gets and sets the length, in meters, of the projector rays in the 3D Window.

ProjectOnHiddenSurfaces

Gets and sets a Boolean that determines whether video is projected only on surfaces that are visible to the projector.

ProjectorLength

Gets and sets the length, in meters, of the projector in the 3D Window.

SaveInFlyFile

Gets and sets a Boolean that determines whether the object is saved in the Fly file. (Inherited from ITerraExplorerObject80)

ShowProjectionLines

Gets and sets a Boolean that determines whether to show the projector rays in the 3D Window.

ShowProjector

Gets and sets a Boolean that determines whether to show the projector pyramid in the 3D Window.

TelemetryFileName

Gets and sets a full path name to the telemetry file that the projector object should use.

Terrain

An ITerrainObject80 representing terrain properties including draw order and ground object status.

TimeSpan

An ITimeSpan80 representing the timespan in which the object is visible on the terrain.

Tooltip

An ITooltip80 representing the tooltip that displays when a mouse cursor is placed over the object in the 3D Window.

TreeItem

An ITreeItem80 representing details about the representation of the object in the Project Tree.

UseTelemetry

Gets and sets a Boolean that determines whether the object uses the positioning information in the telemetry file assigned in the TelemetryFileName property.

VideoFileName

Gets and sets a full path name or a URL to the video file or stream.

VideoLength

Gets the length, in seconds, of the video file.

VideoOpacity

Gets and sets the opacity or transparency of the video image.

VideoPosition

Gets and sets the current playing time, in seconds, from the beginning of the video.

Visibility

An IVisibility80 representing the visibility of the object at different distances.

Volume

Gets and sets the audio volume level.

 

Methods

 

GetClientData

Gets an array of text strings assigned to each object global namespace. (Inherited from ITerraExplorerObject80)

GetParam

Reserved. Currently not used. (Inherited from ITerraExplorerObject80)

PlayVideo

Calling this method sets the video play mode for play, stop, and pause.

SetClientData

Sets an array of text strings assigned to each object global namespace. (Inherited from ITerraExplorerObject80)

SetImage

Reserved. Currently not used.

SetParam

Reserved. Currently not used. (Inherited from ITerraExplorerObject80)

CanSeek

Gets a Boolean that identifies if the video is capable of seeking a specific time in its duration.

 

JavaScript

 

CanSeek

 

C#

 

bool CanSeek { get; }

 

C++

 

HRESULT CanSeek([out, retval] VARIANT_BOOL* pVal)

MaximumProjectionDistance

Gets and sets the distance from the camera at which the Video on Terrain disappears.

 

JavaScript

 

MaximumProjectionDistance

 

C#

 

double MaximumProjectionDistance { get; set; }

 

C++

 

HRESULT MaximumProjectionDistance([out, retval] double* pVal)

HRESULT MaximumProjectionDistance([in] double pVal)

Mute

Gets and sets a Boolean that determines whether the audio playback is muted.

 

JavaScript

 

Mute

 

C#

 

bool Mute { get; set; }

 

C++

 

HRESULT Mute([out, retval] VARIANT_BOOL* pVal)

HRESULT Mute([in] VARIANT_BOOL pVal)

 

PlayStatus

Gets the play status of the video. The following are possible values:

§   0 – Pause.

§   1 – Play.

§   2 – Stop.

JavaScript

 

PlayStatus

§    

C#

 

VideoPlayStatus PlayStatus { get; }

§    

C++

 

HRESULT PlayStatus([out, retval] VideoPlayStatus* pVal)

PlayVideoOnStartup

Gets and sets a Boolean that determines whether the video starts playing when a FLY project opens.

 

JavaScript

 

PlayVideoOnStartup

 

C#

 

bool PlayVideoOnStartup { get; set; }

 

C++

 

HRESULT PlayVideoOnStartup([out, retval] VARIANT_BOOL* pVal)

HRESULT PlayVideoOnStartup([in] VARIANT_BOOL pVal)

 

ProjectionFieldOfView

Gets and sets the projector field of view, in degrees. The default field of view is 53°.

 

JavaScript

 

ProjectionFieldOfView

 

C#

 

double ProjectionFieldOfView { get; set; }

 

C++

 

HRESULT ProjectionFieldOfView([out, retval] double* pVal)

HRESULT ProjectionFieldOfView([in] double pVal)

 

ProjectionLinesLength

Gets and sets the length, in meters, of the projector rays in the 3D Window. To see the lines, the ShowProjectionLines property must be set to TRUE.

 

JavaScript

 

ProjectionLinesLength

 

C#

 

double ProjectionLinesLength { get; set; }

 

C++

 

HRESULT ProjectionLinesLength([out, retval] double* pVal)

HRESULT ProjectionLinesLength([in] double pVal)

 

ProjectOnHiddenSurfaces

Gets and sets a Boolean that determines whether video is projected only on surfaces that are visible to the projector.

 

JavaScript

 

ProjectOnHiddenSurfaces

 

C#

 

double Proj ProjectOnHiddenSurfaces { get; set; }

 

C++

 

HRESULT ProjectOnHiddenSurfaces ([out, retval] VARIANT_BOOL* pVal)

HRESULT ProjectOnHiddenSurfaces ([in] VARIANT_BOOL pVal)

 

ProjectorLength

Gets and sets the length, in meters, of the projector pyramid in the 3D Window.

 

JavaScript

 

ProjectorLength

 

C#

 

double ProjectorLength { get; set; }

 

C++

 

HRESULT ProjectorLength([out, retval] double* pVal)

HRESULT ProjectorLength([in] double pVal)

 

ShowProjectionLines

Gets and sets a Boolean that determines whether the projector rays are shown in the 3D Window.

 

JavaScript

 

ShowProjectionLines

 

C#

 

bool ShowProjectionLines { get; set; }

 

C++

 

HRESULT ShowProjectionLines([out, retval] VARIANT_BOOL* pVal)

HRESULT ShowProjectionLines([in] VARIANT_BOOL pVal)

ShowProjector

Gets and sets a Boolean that determines whether the projector pyramid is shown in the 3D Window.

 

JavaScript

 

ShowProjector

 

C#

 

bool ShowProjector { get; set; }

 

C++

 

HRESULT ShowProjector([out, retval] VARIANT_BOOL* pVal)

HRESULT ShowProjector([in] VARIANT_BOOL pVal)

TelemetryFileName

Gets and sets a full path name to the telemetry file that the projector object should use.

 

JavaScript

 

TelemetryFileName

 

C#

 

string TelemetryFileName { get; set; }

 

C++

 

HRESULT TelemetryFileName([out, retval] BSTR* pVal)

HRESULT TelemetryFileName([in] BSTR pVal)

UseTelemetry

Gets and sets a Boolean that determines whether the object uses the positioning information in the telemetry file assigned in the TelemetryFileName property.

 

JavaScript

 

UseTelemetry

 

C#

 

bool UseTelemetry { get; set; }

 

C++

 

HRESULT UseTelemetry([out, retval] VARIANT_BOOL* pVal)

HRESULT UseTelemetry([in] VARIANT_BOOL pVal)

VideoFileName

Gets and sets a full path name or a URL to the video file or stream that this object should use.

 

JavaScript

 

VideoFileName

 

C#

 

string VideoFileName { get; set; }

 

C++

 

HRESULT VideoFileName([out, retval] BSTR* pVal)

HRESULT VideoFileName([in] BSTR pVal)

VideoLength

Gets the length, in seconds, of the video file. For streaming media (MMS), returns zero.

 

JavaScript

 

VideoLength

 

C#

 

double VideoLength { get; }

 

C++

 

HRESULT VideoLength([out, retval] double* pVal)

VideoOpacity

Gets and sets the opacity or transparency of the video image. This value can be any value between 0, for transparent, and 1 for opaque.

 

JavaScript

 

VideoOpacity

 

C#

 

double VideoOpacity { get; set; }

 

C++

 

HRESULT VideoOpacity([out, retval] double pVal)

HRESULT VideoOpacity([in] double pVal)

VideoPosition

Gets and sets the current playing time, in seconds, from the beginning of the video. When setting this property, the video begins playing from the location of the value set. The property cannot be set if the CanSeek property returns FALSE.

 

JavaScript

 

VideoPosition

 

C#

 

double VideoPosition { get; set; }

 

C++

 

HRESULT VideoPosition([out, retval] double* pVal)

HRESULT VideoPosition([in] double pVal)

Volume

Gets and sets the audio volume level. This value can be any value between 0, for minimum volume, and 100 for maximum volume. The value is ignored if the Mute property is set to TRUE.

 

JavaScript

 

Volume

 

C#

 

int Volume { get; set; }

 

C++

 

HRESULT Volume([out, retval] long* pVal)

HRESULT Volume([in] long pVal)

PlayVideo

Calling this method sets the video play mode for play, stop, and pause.

 

JavaScript

 

PlayVideo(

       Play)

 

C#

 

void PlayVideo(

       VideoPlayStatus Play = VideoPlayStatus.VPS_PLAY)

 

C++

 

HRESULT PlayVideo(

       VideoPlayStatus Play)

Parameters

Play

An enum determining the play operation. The VideoPlayStatus enum can use any of the following values:

·          VPS_PAUSE = 0,

·          VPS_PLAY = 1

·          VPS_STOP = 2

Exceptions

See: HRESULT Return Values for a list of possible values returned by the HRESULT.