ITerrainDynamicObject80

The ITerrainDynamicObject80 interface gives the client access to the TerraExplorer dynamic object. Using this object, the client can create a pre-defined set of waypoints that the object will then follow (within the given parameters).

 

 

Properties

 

Acceleration

Gets and sets the acceleration, in meter per second² of the object. (valid only if MoveByTime is set to False)

Action

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

AltitudeType

Gets and sets an enum determining how the waypoint heights are interpreted.

Attachment

An IAttachment80 representing the attachment behavior of the object.

BackgroundColor

An IColor80 representing the background color. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

CircularRoute

Gets and sets an enum that determines the behavior of the dynamic object upon reaching the route’s endpoint. (valid only if MoveByTime is set to False)

DynamicType

Gets and sets an enum that determines the object type.

FileName

Gets and sets a full path name or a URL to a model or an image file that this object should use.

FlipTexture

Gets and sets a Boolean that determines whether the model’s textures are automatically flipped.

FontName

Gets and sets the name of the font. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

FontSize

Gets and sets the size of the text, from 8 to 72 points. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

FontStyle

Gets and sets the font style of the text. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

ID

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

LimitScreenSize

Gets and sets a Boolean that determines whether the label keeps its original size in pixels or whether it grows as you fly closer. (valid only for DYNAMIC_TEXT_LABEL or DYNAMIC_IMAGE_LABEL DynamicType)

Message

An IMessageObject80 representing the message object assigned to the object.

MotionStyle

Gets and sets the characteristics of the object’s motion.

MoveByTime

Gets and sets a Boolean that determines whether a dynamic object's movement is based on a start and end time.

ObjectType

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

Pause

Gets and sets a Boolean that determines whether the object pauses in the middle of its route.

PlayRouteOnStartup

Gets and sets a Boolean that determines whether the dynamic object starts moving when a FLY project opens.

Position

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

SaveInFlyFile

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

ScaleFactor

Gets and sets the dimensions, in meters per pixel, of the object.

ShowTrack

Gets and sets a Boolean that determines whether a track line indicating the dynamic object’s path is displayed even after the object’s property sheet is closed.

Terrain

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

Text

Gets and sets the text of the label that follows the dynamic object route. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

TextColor

An IColor80 representing the text color. (valid only for DYNAMIC_TEXT_LABEL DynamicType)

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.

TrackLineStyle

An ILineStyle80 representing the line style of the track.

TreeItem

An ITreeItem80 describing the representation of the object in the Project Tree.

TurnSpeed

Gets and sets the turn speed of the object in degrees per second. (valid only if MoveByTime  is set to False)

Visibility

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

Waypoints

An IRouteWaypoints80 representing the dynamic route’s waypoints. When IRouteWaypoints80 represents the waypoints of a dynamic object, the IRouteWaypoint80 orientation properties (Yaw, Pitch, Roll) are ignored.

 

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)

RestartRoute

Resets the object position to the given waypoint index.

SetClientData

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

SetParam

Reserved. Currently not used. (Inherited from ITerraExplorerObject80)

Acceleration

Gets and sets the acceleration, in meter per second² of the object. If each waypoint has a different speed value, this property determines how the object accelerates (or decelerates) between the waypoints (valid only if MoveByTime is set to False).

 

JavaScript

 

 

 

Acceleration

 

C#

 

 

 

double Acceleration { get; set; }

 

C++

 

 

 

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

HRESULT Acceleration([in] double pVal)

AltitudeType

Gets and sets an enum determining how the waypoint heights are interpreted. The following are the possible values:

§   ATC_TERRAIN_RELATIVE = 0
Places the object’s pivot point at a specified altitude above the ground.

§   ATC_TERRAIN_ABSOLUTE = 3
Places the object’s pivot point at a specified altitude above the terrain database vertical datum base ellipsoid.

Note:    For objects whose MotionStyle property is set to MOTION_GROUND_VEHICLE, the AltitudeTypeCode is always set to ATC_TERRAIN_RELATIVE.

 

JavaScript

 

 

 

AltitudeType

 

C#

 

 

 

AltitudeTypeCode AltitudeType { get; set; }

 

C++

 

 

 

HRESULT AltitudeType([out, retval] AltitudeTypeCode* pVal)

HRESULT AltitudeType([in] AltitudeTypeCode pVal)

CircularRoute

Gets and sets an enum that determines the behavior of the dynamic object upon reaching the route’s endpoint (valid only if MoveByTime is set to False). The enum has the following values:

§   CRT_STOP_AT_THE_END = 0
The object stops at the end of the route.

§   CRT_MOVE_TO_START = 1
The object drives/flies/walks back to the beginning of the route when it reaches the end.

§   CRT_JUMP_TO_START = 2
The object jumps back to the beginning of the route when it reaches the end.

JavaScript

 

 

 

CircularRoute

 

C#

 

 

 

CircularRouteType CircularRoute { get; set; }

 

C++

 

 

 

HRESULT CircularRoute([out, retval] CircularRouteType* pVal)

HRESULT CircularRoute([in] CircularRouteType* pVal)

DynamicType

Gets and sets an enum that determines the object type. The enum has the following values:

§   DYNAMIC_3D_MODEL = 0
When this type is selected, the client must also supply a valid model file name (using the FileName property). This model can be either an X file or FLT file.

§   DYNAMIC_TEXT_LABEL = 1
When this type is selected, the client must also supply a text string for the object (using the Text property).

§   DYNAMIC_IMAGE_LABEL = 2
When this type is selected, the client must also supply a valid image file name (using the FileName property). This image can be a BMP, GIF or JPEG file.

§   DYNAMIC_VIRTUAL = 3
When this type is selected, the dynamic object does not have any visual representation on the terrain. This option is useful when the attachment mechanism of TerraExplorer is used to allow several objects to follow a pre-defined route.

 

JavaScript

 

 

 

DynamicType

 

C#

 

 

 

DynamicObjectType DynamicType { get; set; }

 

C++

 

 

 

HRESULT DynamicType([out, retval] DynamicObjectType* pVal)

HRESULT DynamicType([in] DynamicObjectType pVal)

FileName

Gets and sets a full path name or a URL to a model or an image file that this object should use. This property is ignored for DYNAMIC_TEXT_LABEL and DYNAMIC_VIRTUAL types. The DynamicType property determines the file type that should be used.

 

JavaScript

 

 

 

FileName

 

C#

 

 

 

string FileName { get; set; }

 

C++

 

 

 

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

HRESULT FileName([in] BSTR pVal)

FlipTexture

Gets and sets a Boolean that determines whether the model’s textures are automatically flipped (valid only for DYNAMIC_3D_MODEL DynamicType).

 

JavaScript

 

 

 

FlipTexture

 

C#

 

 

 

bool FlipTexture { get; set; }

 

C++

 

 

 

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

HRESULT FlipTexture([in] VARIANT_BOOL pVal)

FontName

Gets and sets the name of the font (e.g., Arial) of the dynamic text label (valid only for DYNAMIC_TEXT_LABEL DynamicType).

 

JavaScript

 

 

 

FontName

 

C#

 

 

 

string FontName { get; set; }

 

C++

 

 

 

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

HRESULT FontName([in] BSTR pVal)

FontSize

Gets and sets the size of the text, from 8 to 72 points (valid only for DYNAMIC_TEXT_LABEL DynamicType).

 

JavaScript

 

 

 

FontSize

 

C#

 

 

 

int FontSize { get; set; }

 

C++

 

 

 

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

HRESULT FontSize([in] long pVal)

FontStyle

Gets and sets the appearance of the text (valid only for DYNAMIC_TEXT_LABEL DynamicType). The style can be any combination of the following values (or 0 for regular font):

§   TE_FONT_BOLD = 1

§   TE_FONT_ITALIC = 2

§   TE_FONT_UNDERLINE = 4

 

JavaScript

 

 

 

FontStyle

 

C#

 

 

 

int FontStyle { get; set; }

 

C++

 

 

 

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

HRESULT FontStyle([in] long pVal)

LimitScreenSize

Gets and sets a Boolean that determines whether the label keeps its original size in pixels or whether it grows as you fly closer (valid only for DYNAMIC_TEXT_LABEL or DYNAMIC_IMAGE_LABEL DynamicType).

 

JavaScript

 

 

 

LimitScreenSize()

 

C#

 

 

 

bool LimitScreenSize { get; set; }

 

C++

 

 

 

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

HRESULT LimitScreenSize([in] *VARIANT_BOOL pVal)

 

MotionStyle

Gets and sets an enum that determines the characteristics of the object’s motion. The enum has the following values:

§   MOTION_GROUND_VEHICLE = 0
The object pitch and roll are determined by the terrain underneath the object.

§   MOTION_AIRPLANE = 1
The object rolls like an airplane on turns and its nose pitch points to the next waypoint.

§   MOTION_HELICOPTER = 2
The object pitch is always -30° and its roll is always 0.

§   MOTION_HOVER = 3
The object pitch and roll are both always 0.

§   MOTION_MANUAL = 4
The object turns as fast as required to point to the next waypoint defined by IRouteWaypoint80, ignoring the TurnSpeed (this is equivalent to setting TurnSpeed over 1000). The API client can set the yaw, pitch, and roll at each waypoint. If the value -9999 is entered for any of these parameters, a default value will be calculated for this parameter so that the object will point to the next waypoint.

 

JavaScript

 

 

 

MotionStyle

 

C#

 

 

 

DynamicMotionStyle MotionStyle { get; set; }

 

C++

 

 

 

HRESULT MotionStyle([out, retval] DynamicMotionStyle* pVal)

HRESULT MotionStyle([in] DynamicMotionStyle pVal)

 

MoveByTime

Gets and sets a Boolean that determines whether a dynamic object's movement is based on a start and end time.

 

JavaScript

 

 

 

MoveByTime

 

C#

 

 

 

DynamicMotionStyle MoveByTime { get; set; }

 

C++

 

 

 

HRESULT MoveByTime ([out, retval] VARIANT_BOOL* pVal);

HRESULT MoveByTime ([in] VARIANT_BOOL pVal);)

 

Pause

Gets and sets a Boolean that determines whether the object pauses in the middle of its route.

JavaScript

 

 

 

Pause

 

C#

 

 

 

bool Pause { get; set; }

 

C++

 

 

 

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

HRESULT Pause([in] VARIANT_BOOL pVal)

 

PlayRouteOnStartup

Gets and sets a Boolean that determines whether the dynamic object starts moving when a FLY project opens.

JavaScript

 

 

 

PlayRouteOnStartup

 

C#

 

 

 

bool PlayRouteOnStartup { get; set; }

 

C++

 

 

 

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

HRESULT PlayRouteOnStartup([in] VARIANT_BOOL pVal)

 

ScaleFactor

Gets and sets the scale factor of the object. The specific scale effect depends on the object type.

 

JavaScript

 

 

 

ScaleFactor

 

C#

 

 

 

double ScaleFactor { get; set; }

 

C++

 

 

 

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

HRESULT ScaleFactor([in] double pVal)

ShowTrack

Gets and sets a Boolean that determines whether a track line indicating the dynamic object’s path is displayed.

Note:    A track is displayed while the dynamic object is being edited (i.e., as long as its property sheet is open), regardless of this property value. This property only determines whether a track will continue to display even after the object’s property sheet is closed.

 

JavaScript

 

 

 

ShowTrack

 

C#

 

 

 

bool ShowTrack { get; set; }

 

C++

 

 

 

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

HRESULT ShowTrack ([in] VARIANT_BOOL* pVal)

 

Text

If the DynamicType is DYNAMIC_TEXT_LABEL, this is the text of the label that follows the dynamic object route (valid only for DYNAMIC_TEXT_LABEL DynamicType).

 

JavaScript

 

 

 

Text

 

C#

 

 

 

string Text { get; set; }

 

C++

 

 

 

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

HRESULT Text([in] BSTR pVal)

TurnSpeed

Gets and sets the turn speed of the object in degrees per second. If the object has a very low turn speed value and a very high speed value, it may not be able to follow the exact route, especially at tight turns (valid only if MoveByTime  is set to False).

Note:    To ensure that the object will always point to the next waypoint on the route, set a TurnSpeed that is equal to or greater than 1000.

 

JavaScript

 

 

 

TurnSpeed

 

C#

 

 

 

double TurnSpeed { get; set; }

 

C++

 

 

 

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

HRESULT TurnSpeed([in] double pVal)

RestartRoute

Resets the object position to the given waypoint index. Usually, this is used to reset the object position to the beginning of the route (index = 0).

 

JavaScript

 

 

 

RestartRoute(

       Index)

 

C#

 

 

 

void RestartRoute(

       int Index = 0)

 

C++

 

 

 

HRESULT RestartRoute(

       long Index)

Parameters

Index

A zero based index of the waypoint at which the object should restart.

Exceptions

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