PresentationJSONSchema

Gets the presentation JSON schema that defines the required format and structure of a presentation JSON.

{

  "$schema": "http://json-schema.org/draft-07/schema#",

  "$ref": "#/definitions/Presentation",

  "definitions": {

    "Presentation": {

      "type": "object",

      "required": [

        "presentation"

      ],

      "title": "Presentation",

      "additionalProperties": false,

      "properties": {

        "presentation": {

          "$ref": "#/definitions/PresentationClass"

        },

        "events": {

          "type": "array",

          "anyOf": [

            {

              "$ref": "#/definitions/eventPresentationStarted"

            },

            {

              "$ref": "#/definitions/eventActionStarted"

            },

            {

              "$ref": "#/definitions/eventActionFinished"

            },

            {

              "$ref": "#/definitions/eventWaitProgress"

            },

            {

              "$ref": "#/definitions/eventError"

            },

            {

              "$ref": "#/definitions/eventStatusChanged"

            }

          ]

        }

      }

    },

    "stepsArray": {

      "type": "array",

      "items": {

        "$ref": "#/definitions/PresentationStep"

      }

    },

    "actionsArray": {

      "type": "array",

      "items": {

        "anyOf": [

          {

            "$ref": "#/definitions/ClickAction"

          },

          {

            "$ref": "#/definitions/MenuAction"

          },

          {

            "$ref": "#/definitions/DynamicObjectAction"

          },

          {

            "$ref": "#/definitions/ShowAction"

          },

          {

            "$ref": "#/definitions/HideAction"

          },

          {

            "$ref": "#/definitions/FlyToAction"

          },

          {

            "$ref": "#/definitions/CaptionAction"

          },

          {

            "$ref": "#/definitions/WaitAction"

          },

          {

            "$ref": "#/definitions/MessageAction"

          },

          {

            "$ref": "#/definitions/UndergroundModeAction"

          },

          {

            "$ref": "#/definitions/SetTimeAction"

          },

          {

            "$ref": "#/definitions/PlayAnotherPresentationAction"

          }

        ]

      }

    },

    "PresentationClass": {

      "type": "object",

      "required": [

        "description",

        "steps"

      ],

      "title": "PresentationClass",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "steps": {

          "description": "An array of the presentation's steps. Steps are the chapter headings that group together related presentation actions.",

          "$ref": "#/definitions/stepsArray"

        },

        "settings": {

          "type": "object",

          "additionalProperties": false,

          "properties": {

            "loopPresentation": {

              "description": "A Boolean that determines whether a presentation should automatically restart when the end of the presentation is reached.",

              "type": "boolean",

              "title": "Loop Presentation",

              "default": false

            },

            "chainedflightModel": {

              "type": "boolean",

              "title": "Use Spline Play Algorithm",

              "default": false

            },

            "unattendedPlayMode": {

              "description": "A Boolean that determines whether the presentation advances between steps automatically as well as restarts presentation when the end is reached.",

              "type": "boolean",

              "title": "Auto-Play",

              "default": false

            },

            "playSpeedFactor": {

              "description": "Integer that determines the play speed factor of the presentation.",

              "type": "number",

              "minimum": 1,

              "maximum": 8,

              "title": "Play Speed Factor",

              "default": 1

            }

          }

        },

        "movieSettings": {

          "type": "object",

          "additionalProperties": false,

          "properties": {

            "frameSize": {

              "description": "An integer that determines the size of each frame. The following are the possible values: 0 - 640x480 (NTSC Online), 1 - 768x576 (PAL Online), 2 - 720x480 (SD 480p), 3 - 1280x720 (HD 720p), 4- 1920x1080 (HD1080p)",

              "type": "string",

              "enum": [

                "Current Size",

                "640x480 (NTSC Online)",

                "768x576 (PAL Online)",

                "720x480 (SD 480p)",

                "1280x720 (HD 720p)",

                "1920x1080 (HD 1080p)"

              ],

              "title": "Frame Size"

            },

            "framesPerSec": {

              "description": "The number of movie frames per second.",

              "type": "number",

              "minimum": 10,

              "maximum": 60,

              "title": "Frames per Second",

              "default": 25

            },

            "hideOverlay": {

              "description": "A Boolean that determines whether HUD controls will be shown in the recorded movie. When set to FALSE, any HUD control that is visible during the creation of the movie will be shown in the movie as well. The presentation control will never be shown (even if HideScreenOverlays is set to FALSE).",

              "type": "boolean",

              "title": "Hide Screen Overlays",

              "default": false

            }

          }

        }

      }

    },

    "PresentationStep": {

      "description": "Defines a presentation step. Presentations are created from a combination of actions and steps. Actions are the specific activities that the presentation tool is to perform when the presentation is played, such as 'Record Route' or 'Show Object'. While steps are like chapter headings that group together related actions and provide increased flexibility for displaying a presentation by enabling you to quickly jump from one step to another in the presentation.",

      "type": "object",

      "required": [

        "actions"

      ],

      "title": "Step",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Name"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "RequireClick": {

          "description": "A Boolean that determines whether a user click is required to advance to the next step. The default value is True, requiring a click.",

          "type": "boolean",

          "title": "Requires click",

          "default": true

        },

        "actions": {

          "description": "An array of the presentation actions. Actions are the specific activities that the presentation tool is to perform when the presentation is played, such as 'Record Route' or 'Show Object'.",

          "$ref": "#/definitions/actionsArray"

        }

      }

    },

    "MenuAction": {

      "description": "Executes a menu command.",

      "type": "object",

      "required": [

        "actionType"

      ],

      "title": "Click menu item",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "MenuCommand"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "teCommandId",

            "checked"

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "teCommandId": {

              "type": "integer",

              "title": "Command ID"

            },

            "checked": {

              "type": "boolean",

              "title": "Display",

              "default": true

            }

          }

        }

      }

    },

    "DynamicObjectAction": {

      "description": "Restarts or follows a dynamic object. In the Options, you set whether to restart the dynamic object from the beginning of its route but not fly to the location of the dynamic object or whether to fly to the location of the dynamic object and then follow it.",

      "type": "object",

      "required": [

        "actionType"

      ],

      "title": "Dynamic Object",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "DynamicObject"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "TeObjectId"

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "TeObjectId": {

              "type": "string",

              "title": "TerraExplorer Object ID"

            },

            "operation": {

              "description": "Determines whether the dynamic object is restarted from the beginning of its route but TE does not fly to the location of the dynamic object or whether TE flies to the location of the dynamic object and then follows it.",

              "type": "string",

              "enum": [

                "Restart",

                "Follow"

              ],

              "title": "Operation"

            },

            "duration": {

              "description": "The length of time in seconds the dynamic object is followed.",

              "type": "number",

              "title": "Follow time (Seconds)",

              "default": 3

            }

          }

        }

      }

    },

    "ShowAction": {

      "description": "Shows an object or group.",

      "type": "object",

      "required": [

        "actionType"

      ],

      "title": "Show Group/Object",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "Show"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "oneOf": [

            {

              "required": [

                "TeObjectId"

              ]

            },

            {

              "required": [

                "pathToGroup"

              ]

            }

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "TeObjectId": {

              "type": "string",

              "title": "TerraExplorer Object ID"

            },

            "pathToGroup": {

              "type": "string",

              "title": "Path to a Group"

            }

          }

        }

      }

    },

    "HideAction": {

      "description": "Hides an object or group.",

      "type": "object",

      "required": [

        "actionType"

      ],

      "title": "Hide Group/Object",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "Hide"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "oneOf": [

            {

              "required": [

                "TeObjectId"

              ]

            },

            {

              "required": [

                "pathToGroup"

              ]

            }

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "TeObjectId": {

              "type": "string",

              "title": "TerraExplorer Object ID"

            },

            "pathToGroup": {

              "type": "string",

              "title": "Path to a Group"

            }

          }

        }

      }

    },

    "FlyToAction": {

      "description": "Flies to a location.",

      "type": "object",

      "required": [

        "actionType",

        "options"

      ],

      "title": "Fly To",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "FlyTo"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "additionalProperties": false,

          "properties": {

            "poi": {

              "description": "Sets the geographical coordinates of the location as well as the position from which the location is to be viewed.",

              "type": "object",

              "additionalProperties": false,

              "properties": {

                "x": {

                  "type": "number"

                },

                "y": {

                  "type": "number"

                },

                "altitude": {

                  "type": "number"

                },

                "viewerYaw": {

                  "type": "number"

                },

                "viewerPitch": {

                  "type": "number"

                },

                "distance": {

                  "type": "number"

                },

                "isRelative": {

                  "type": "boolean"

                }

              },

              "required": [

                "x",

                "y",

                "altitude",

                "viewerYaw",

                "viewerPitch",

                "distance",

                "isRelative"

              ]

            },

            "TeObjectId": {

              "description": "The location's ID.",

              "type": "string",

              "title": "TerraExplorer Object ID"

            },

            "duration": {

              "description": "Duration of the flight (in seconds) from the previous location to this location.",

              "type": "number",

              "title": "Flight time (Seconds)",

              "default": 3

            }

          }

        }

      }

    },

    "CaptionAction": {

      "description": "Adds a caption to a presentation. The captions are added at the bottom of the 3D Window.",

      "type": "object",

      "required": [

        "actionType",

        "options"

      ],

      "additionalProperties": false,

      "title": "Caption",

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "Caption"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "captionText"

          ],

          "title": "Options",

          "properties": {

            "captionText": {

              "type": "string",

              "title": "Caption",

              "default": "New caption"

            },

            "lifespan": {

              "type": "string",

              "enum": [

                "Step",

                "Time",

                "Until replaced"

              ],

              "title": "Lifespan"

            },

            "timeOutInterval": {

              "type": "number",

              "title": "Duration (Seconds)"

            },

            "RTL": {

              "type": "boolean",

              "title": "Use Right to Left"

            }

          }

        }

      }

    },

    "WaitAction": {

      "description": "Sets a wait time between actions, in seconds.",

      "type": "object",

      "required": [

        "actionType"

      ],

      "title": "Wait",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "Wait"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "duration": {

              "type": "number",

              "title": "Wait (Seconds)",

              "default": 5

            }

          }

        }

      }

    },

    "MessageAction": {

      "description": "Displays a message.",

      "type": "object",

      "required": [

        "actionType",

        "description",

        "options"

      ],

      "title": "Message",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "Message"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "TeObjectId"

          ],

          "title": "Options",

          "properties": {

            "TeObjectId": {

              "type": "string",

              "title": "TerraExplorer Object ID"

            }

          }

        }

      }

    },

    "UndergroundModeAction": {

      "description": "Turns underground mode on or off.",

      "type": "object",

      "required": [

        "actionType",

        "options"

      ],

      "title": "Underground Mode",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "UndergroundMode"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "showUnderground"

          ],

          "title": "options",

          "additionalProperties": false,

          "properties": {

            "showUnderground": {

              "type": "boolean",

              "title": "Underground mode"

            }

          }

        }

      }

    },

    "RouteWaypoint": {

      "type": "object",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string"

        },

        "x": {

          "type": "number"

        },

        "y": {

          "type": "number"

        },

        "altitude": {

          "type": "number"

        },

        "yaw": {

          "type": "number"

        },

        "pitch": {

          "type": "number"

        },

        "dis": {

          "type": "number"

        },

        "cameraYaw": {

          "type": "number"

        },

        "cameraPitch": {

          "type": "number"

        },

        "timeFromPrevWaypoint": {

          "type": "number"

        }

      },

      "required": [],

      "title": "Route Waypoint"

    },

    "PlayRouteAction": {

     

      "type": "object",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string"

        },

        "id": {

          "type": "string"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "PlayRoute"

          ]

        },

        "options": {

          "type": "object",

          "additionalProperties": false,

          "properties": {

            "waypoints": {

              "type": "array",

              "minItems": 2,

              "waypoints": {

                "$ref": "#/definitions/RouteWaypoint"

              }

            }

          }

        }

      },

      "required": [

        "actionType",

        "options"

      ],

      "title": "PlayRouteAction"

    },

    "SetTimeAction": {

      "description": "Sets the TerraExplorer date and time. The TerraExplorer time settings affect the visibility of objects and groups with set timespans.",  

      "type": "object",

      "required": [

        "actionType",

        "options"

      ],

      "title": "Set Time",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "SetTime"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "year",

            "month",

            "day",

            "hour",

            "minute",

            "second"

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "year": {

              "type": "integer",

              "title": "Year"

            },

            "month": {

              "type": "integer",

              "title": "Month"

            },

            "day": {

              "type": "integer",

              "title": "Day"

            },

            "hour": {

              "type": "integer",

              "title": "Hour"

            },

            "minute": {

              "type": "integer",

              "title": "Minute"

            },

            "second": {

              "type": "integer",

              "title": "Second"

            }

          }

        }

      }

    },

    "PlayAnotherPresentationAction": {

      "description": "Launches another presentation from the current presentation.",

      "type": "object",

      "required": [

        "actionType",

        "options"

      ],

      "title": "Play Another Presentation",

      "additionalProperties": false,

      "properties": {

        "description": {

          "type": "string",

          "title": "Description"

        },

        "id": {

          "type": "string",

          "title": "ID"

        },

        "actionType": {

          "type": "string",

          "enum": [

            "PlayAnotherPresentation"

          ],

          "title": "Action Type"

        },

        "options": {

          "type": "object",

          "required": [

            "TeObjectId"

          ],

          "title": "Options",

          "additionalProperties": false,

          "properties": {

            "TeObjectId": {

              "type": "string",

              "title": "TerraExplorer Presentation ID"

            }

          }

        }

      }

    },

    "eventPresentationStarted": {

      "description": "This event occurs when the playback of a presentation begins.",

      "type": "object",

      "properties": {

        "eventName": {

          "const": "Started"

        },

        "presentationId": {

          "type": "string"

        },

        "flatPresentation": {

          "type": "object",

          "properties": {

            "steps": {

              "$ref": "#/definitions/PresentationStep"

            }

          }

        },

        "creatingMovie": {

          "type": "boolean"

        }

      }

    },

    "eventActionStarted": {

      "eventName": {

        "const": "ActionStarting"

      },

      "itemId": {

        "type": "string"

      },

      "presentationId": {

        "type": "string"

      }

    },

    "eventActionFinished": {

      "description": "This event occurs when an action is finished.",

      "eventName": {

        "const": "ActionFinished"

      },

      "itemId": {

        "type": "string"

      },

      "presentationId": {

        "type": "string"

      },

      "progress": {

        "type": "number",

        "minimum": 0,

        "maximum": 1

      }

    },

    "eventWaitProgress": {

      "description": "This event occurs when there's a WaitAction. It provides information as to the defined total wait time and the number of seconds that have already elapsed.",

      "type": "object",

      "properties": {

        "eventName": {

          "const": "WaitProgress"

        },

        "itemId": {

          "type": "string"

        },

        "presentationId": {

          "type": "string"

        },

        "progress": {

          "type": "number",

          "minimum": 0,

          "maximum": 1

        },

        "totalWaitTime": {

          "type": "number"

        }

      }

    },

    "eventError": {

      "description": "This event occurs when there's a presentation-related error.",

      "type": "object",

      "properties": {

        "eventName": {

          "const": "Error"

        },

        "message": {

          "type": "string"

        }

      }

    },

    "eventEditorOpening": {

      "description": "This event occurs when the Presentation Editor is opened.",

      "type": "object",

      "properties": {

        "eventName": {

          "const": "OpenEditor"

        },

        "presentationId": {

          "type": "string"

        }

      }

    },

    "eventStatusChanged": {

      "description": "This event occurs when a presentation's play status changes (e.g. to paused, stopped, play, rewind to previous step).",

      "type": "object",

      "properties": {

        "eventName": {

          "const": "StatusChanged"

        },

        "presentationId": {

          "type": "string"

        },

        "oldStatus": {

          "$ref": "#/definitions/presentationStatus"

        },

        "newStatus": {

          "$ref": "#/definitions/presentationStatus"

        }

      }

    },

    "presentationStatus": {

      "enum": [

        "FastRewinding",

        "PrevStepping",

        "Playing",

        "NextStepping",

        "FastForwarding",

        "Paused",

        "Stopped"

      ]

    }

  }

}

 

JavaScript

 

PresentationJSONSchema

 

C#

 

string PresentationJSONSchema { get; }

 

C++

 

HRESULT PresentationJSONSchema ([out,retval] BSTR pVal)