The Tinman 3D Workshop Application provides users with a sandbox GUI environment for exploring the features of the Tinman 3D SDK.
The Tinman 3D SDK offers its functionality by providing native C# and C++ APIs, which can be used separately. A subset of this functionality is exposed via the ConfigScript API (see Reference), which the Workshop wraps in a slick GUI.
Tinman 3D Workshop Application |
A logfile is written to each time the Workshop runs (tinman3d_workshop.log
). The full path to the logfile is indicated in the console output.
2017-10-07 06:29:44 [C] Location of application log file: c:\Users\Pikantos\tinman3d_workshop.log [Tinman.Workshop.App]
Errors are indicated with [E], warnings with [W].
During normal operation, neither errors nor warnings should occur.
The main ribbon of the Workshop provides these functions:
|
|||
Application Menu Shows the application menu (see About Box). |
|
Show Project Explorer Activates and shows the tool window. |
|
|
New Project Creates a new empty project. ( |
|
Show Type Explorer Activates and shows the tool window. |
|
Open Project Opens an existing project ( |
|
Show Inspector Tool Activates and shows the tool window. |
|
Save All Saves all changes (project and scripts). |
|
Show Browser Tool Activates and shows the tool window. |
|
New Script Adds a new empty script to the project. |
|
Show Processor Tool Activates and shows the tool window. |
|
Add Script Adds an existing script to the project. |
|
Show Message List Activates and shows the tool window. |
|
Remove Script Removes a script from the project. |
|
Save Window Layout Saves the current window layout. |
|
Load Window Layout Loads the previously saved window layout |
|
Default Layout Restores the default window layout. |
Tinman 3D Workshop Application - Main Window Ribbon |
The following tool windows are used by the Workshop:
The Project Explorer shows the model tree of the currently loaded Tinman 3D Workshop Project (*.twp
).
The first tree level displays the Tinman 3D Workshop Script Files (*.tws
) that are associated with the project. The ConfigScript class is used to parse the script files. The scripts of a project at put into a ConfigDomain instance, which allows them to reference each other's members.
The second tree level lists the members (see ConfigMember) of each script.
|
Commands:
Context Menu:
|
|||||||||||||||||||||||||||||||||||||||||||
Tinman 3D Workshop - Project Explorer Tool |
The Script Editor is used to edit script files.
|
Context Menu:
|
||||||||||||||||||||||||||||||||||||||||
Tinman 3D Workshop - Script Editor |
The Message List windows shows all errors and warnings that have been generated for the script files in the project or the value being browsed resp. inspected in the Browser resp. Inspector Tool.
Errors and warnings are generated by using the Validator class and friends.
|
|||
|
An error message (see ValidateMessageType).
Use the toggle button to show/hide error messages. |
|
Messages from the Browser Tool, regarding the value that is currently being browsed. Use the toggle button to show/hide Browser Tool messages. |
|
A warning message (see ValidateMessageType). Use the toggle button to show/hide warning messages. |
|
Messages from the Inspector Tool, regarding the value that is currently being inspected. Use the toggle button to show/hide Inspector Tool messages. |
|
An informative message. Use the toggle button to show/hide information messages. |
|
Messages from the Script Editor windows, regarding syntax and semantic errors in the script. Use the radio button to choose which messages to show: |
Tinman 3D Workshop - Message List |
The Type Explorer shows all ConfigType instances, and provides filtering and search functions.
|
Commands:
Context Menu:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
Tinman 3D Workshop - Type Explorer |
The Help Browser shows the documentation of the config types (see ConfigDoc).
|
Tinman 3D Workshop - Help Browser |
The Inspector Tool shows the ConfigValue hierarchy of the inspected value. The lower part of the property grid shows the textual representation of the selected ConfigValue.
|
Legend:
Context Menu:
|
|||||||||||||||||||||||||||
Tinman 3D Workshop - Inspector Tool |
The Browser Tool runs an IApplication object, using a WPF application host.
|
Context Menu:
|
|||||||||||||||||||||||||||||||||||
Tinman 3D Workshop - Browser Tool |
The Processor Tool shows the IOperation objects that have been created and run from script members.
|
Commands:
Context Menu:
|
|||||||||||||||||||||||||
Tinman 3D Workshop - Processor Tool |
The following sections describe the various dialog windows that are used by the Workshop.
Dialog Windows can be interactive; in this case there will be hyperlinks in the dialog content, which can be clicked to perform the described action.
The About Box window shows a system information dump (see TinmanModule.SystemInfo).
You can reach the About Box from the Application Menu.
|
About Box - Tinman 3D Workshop Application |
The Abount Box can be used to quickly determine which 3rd-party libraries and plugins have been detected.
For the Workshop, this primarily affects the set of available file formats (see FileFormat) and config value browsers (see ConfigValueBrowser).
Tinman.Terrain v1.0 - 2017/10/06 [...] ImageFormat 'Any' : Automatic image format 'BMP' : Built-in support for BMP 'DDS' : Built-in support for DDS 'JPG' : Built-in support for JPEG 'PNG' : Built-in support for PNG 'PXB' : Tinman 3D PiXel Buffer 'TGA' : Built-in support for TGA 'TIFF' : Built-in support for TIFF, GeoTIFF, BigTIFF 'TXB' : Tinman 3D TeXel Buffer 'GDAL' : GDAL 2.2.1, released 2017/06/23 'GDAL+PROJ' : GDAL 2.2.1, released 2017/06/23 ShapeFormat 'Any' : Automatic shape format 'CSH' : Tinman 3D Compiled SHape 'SHP' : ESRI Shapefile Tinman.AddOns v1.0 - 2017/10/06 [...] ModelFormat 'Any' : Automatic model format 'CMH' : Tinman 3D Compiled Model Hierarchy 'LAS' : LASer (LAS) File Format 1.3 'OBJ' : Wavefront OBJ 'OFF' : Object File Format ConfigValueBrowser: 'Tinman' [...] Tinman.Workshop v1.0 - 2017/10/06 AppData : c:\ProgramData\Tinman3D\Tinman.Workshop UserData : c:\Users\Pikantos\AppData\Local\Tinman3D\Tinman.Workshop GeoRegistry : EPSG 9.1 / Tinman 1.0
The Workshop stores some settings in its UserData
directory:
Settings.json
This is a JSON file that stores user-specific application settings:
{ "CodeFontFamily": "Consolas", "CodeFontSize": 14, "LastProjectFilePath": "e:\\Hive\\svn.tinman\\release\\src.twp\\geodata_examples.twp", "ActiveScriptFile": "bluemarble2.tms", "OpenScriptFiles": ["bluemarble2.tms", "egm96.tms"], "DockSiteLayout": "..." }
These settings will be read on startup and written on shutdown; so any manual editing should take place before the Workshop is started.
A valid User, Site or Academic licence key is required to run the Workshop.
Licence keys are taken from the TINMAN_3D_LICENCEKEY
environment variable and from the %LOCALAPPDATA%\Tinman3D\Tinman.Workshop\
file.licence-key.txt
The Licence Key dialog is displayed if no licence key has been found or if none of the licence keys is valid (e.g. expired).
|
Tinman 3D Workshop - Licence Key Dialog |
If you close a script, project or the Workshop, you will be prompted if there are any unsaved changes.
You can toggle which changes to save and which ones to discard, by clicking on the displayed dialog actions.
|
Tinman 3D Workshop - Unsaved Changes Dialog |
When modifying script files both in the Workshop and in some external editor, conflicting changes may occur. In this case this dialog will be displayed.
Use the dialog action to choose which external changes to apply and which ones to discard.
|
Tinman 3D Workshop - Conflicting Changes Dialog |
When importing a file into a script, the Browser or the Inspector, this dialog will be displayed.
Use the dialog actions to choose how to import the file.
|
Tinman 3D Workshop - File Import Dialog |
If an unexpected error occurs, this dialog will be displayed.
A detaild error description will have been copied to the clipboard when this dialog is shown. The same information can be found in the logfile.
|
Tinman 3D Workshop - Error Report Dialog |
When starting up, the Tinman 3D Workshop Application scans its working directory for plug-in files:
tinman3d_workshop.plugin.*.dll
tinman3d_workshop.plugin.*.exe
To be loaded successfully by the Workshop, a plug-in must meet these requirements:
Once loaded, a plug-in will contribute the following entities to the Workshop:
The following tokens can be specified via the command-line (separated by whitespaces):