A Quick Look at the SDK

 
 
 

The Showcase Application Programming Interface (API) is packaged as a Software Development Kit (SDK). Its libraries and other tools allow add-in developers to communicate with the running Showcase application, for the purpose of adding customized behavior and controlling native functionality, including controlling Showcase from a web browser on a remote client.

As illustrated in the following diagram, the Showcase SDK consists of an API, sample add-ins, the Showcase Console and exposed services and architecture.

Note The modules, classes and functions exposed in the public API to Showcase are also used for in-house development of Showcase itself.

Custom Add-Ins

At the top are the custom add-ins you write that make use of the architecture and services exposed through the Showcase SDK. Add-ins can be as simple as a short script to activate built-in Showcase functionality from a pushbutton in an HTML-based UI you have already built. Or, they can be more complex, significantly extending or customizing Showcase functionality. The SDK is designed to accommodate all levels of sophistication and programming experience.

Showcase SDK

Sitting between the add-ins and Showcase is the SDK. It contains the public face of Showcase services and architecture, plus tools and utilities to get the job done. The application programming interface (API) is an extensive collection of Python modules and utilities. Also provided is a version of Showcase that runs with a console window (see below).

Showcase Console

The Showcase Console is an indispensable tool during the development of an add-in. It is a Windows Console that launches with Showcase (ShowcaseConsole.exe only) and displays error messages related to Showcase activity. It also displays the output of print statements.

In addition, the EchoMessagesCustom.py sample add-in has been provided to assist in exploring Showcase functionality and its Message Passing Architecture in particular. It echoes all Messages seen by Showcase to the Showcase Console. If EchoMessagesCustom.py is loaded, selecting an item from a Showcase menu will display the corresponding Message is shown in the Showcase Console.

Services

At the lowest level, a collection of services define and provide access to specific Showcase functionality. Foremost amongst them is the Message Passing Architecture, a simple but powerful communication protocol your add-ins use to control Showcase functionality, and used by Showcase to provide feedback to the add-ins. More sophisticated add-ins can use Messages to act on the scene graph directly, at the level of nodes and geometries. For those wanting to control Showcase from across a network (including the web), Showcase implements the Asynchronous Javascript and XML (AJAX) client-server model for web applications.