TINMAN 3D / REALTIME TERRAIN
Software Development Kit - User Manual

Licensing

This page provides information about licensing from a practical point of view.

If you are interested in the legal aspects, please refer to the Terms and Conditions.

How to order

The easiest way to obtain a licence for the Tinman 3D SDK is provided by MyCommerce.

To do so, click one of the Order buttons below or visit the Tinman 3D SDK product page.

Alternatively, you can use the Licence baKErY tool to initiate a purchase.

  1. Choose a licence type and start the order process.
  2. Provide the metadata to bind your licence key to (see example order form to the right).
  3. Complete the order process.
  4. Receive your licence key via email.
  5. Use your licence key:
    1. Activate the Tinman 3D SDK (see Licence Keys)
    2. Unlock additional content (see Unlock Keys)
  6. Use the Tinman 3D SDK resp. the additional content. 

After purchasing a licence key that is bound to metadata, you can request extra licence keys for different metadata free of charge, given that the requested metadata correlates with the licensed product resp. you as the licence owner:

  1. Generate licence request filesfor the metadata you need (e.g. tinman_3d.licence-request.user.id-C9F9A1B9.json.txt).
    Please refer to Licence Requests for details.
  2. Lookup your the MyCommerce Order Number (e.g. #537515913).
    You can find the order number in the purchase notification email and on the invoice document.
  3. Send an email to sales@tinman3d.com, including the above information.
    We handle extra licence key requests manually, so please allow us a couple of workdays to process your request. In most cases, extra licence keys can be issued almost instantly.

Please contact sales@tinman3d.com if you have any more questions regarding licensing.

Licence Types

The following table shows the licence types that are available for the Tinman 3D SDK:

Licence Type Releases Keys Bindinga) Priceb) Order

Evaluation trial

- all -

0 c) - none - - free -  

Terms

Evaluate the Tinman 3D SDK by running the Demo Application executable and browsing its source code.

  • No licence key required  
  • No time limit
User annual / short-term

- all -

d) User 30 EUR / monthe)

Terms

Allows a single user to use the Tinman 3D SDK during the licence period.

  • Choose between either annual subscription (12 months) or short-term use (3 months).
  • All SDK releases
  • Allows use of SDK by licensed user on any machine.
  • Licence keys are bound to user metadata.
Site annual

- all -

d) Domain 400 EUR / monthe)
 
Terms

Allows all users that belong to the licensed company site to use the Tinman 3D SDK during the subscription period.

  • All SDK releases
  • Allows use of SDK by all users on licensed company site on any machine.
  • Licence keys are bound to domain metadata.
Academic annual

- all -

d) Domain 150 EUR / month e)
Terms

Allows all users that belong to the licensed academic entity to use the Tinman 3D SDK during the subscription period.

  • All SDK releases
  • Allows use of SDK by all users of licensed academic entity on any machine.
  • Licence keys are bound to domain metadata.

Commercial use is not included in this licence.

Product perpetual current + 1 year d) Product

7.500 EUR

Terms

Allows perpetual use of the Tinman 3D SDK in a specific software product.

  • Current SDK release, plus one year of free updates
  • Embed SDK redistributables in licensed product.
  • Licence keys are bound to product metadata.
Company perpetual current + 1 year d) Company 25.000 EUR
Terms

Allows perpetual use of the Tinman 3D SDK in all products of the licence owner.

  • Current SDK release, plus one year of free updates
  • Embed SDK redistributables in any product of the licence owner.
  • Licence keys are bound to company metadata.
Full perpetual current + 1 year 1 - none - - on request -

 

Terms

Allows perpetual use of the Tinman 3D SDK by the licence owner.

  • Current SDK release, plus one year of free updates
  • Embed SDK redistributables in any product of the licence owner or any derived product.
  • Licence keys have no metadata binding.

Source Code content current + 1 year 1 - none -

25.000 EUR 7.500 EUR

Terms

Grants access f) to the source code of the following components of the Tinman 3D SDK:

CodeX.System | Tinman.Core | Tinman.Terrain | tinmanpc

  • Source code is licensed separately for each programming language (C#, C++).  
  • Current SDK release, plus one year of free updates
  • Fully documented, not obfuscated
  • Custom code modifications (e.g. platform abstraction)
  • Access is granted to the licence owner.
Renewal
renewal-perpetual g) + 1 year + 1 - none -

65 % of original price

 




 

Prolongs the SDK update period of an existing perpetual licence by one year:

  • Product
  • Company
  • Full

New licence keys will be issued for the prolonged update period.

renewal-content g) + 1 year + 1 - none - 45 % of original price

 

Prolongs the SDK update period of an existing content licence by one year:

  • Source Code C#
  • Source Code C++

New unlock keys will be issued for the prolonged update period.

a) Licence keys are bound to the specified metadata using asymmetric encryption.
b) All prices are given in EUR, excluding VAT. You can make payments in any currency supported by MyCommerce, though.
c) No separate licence key is necessary, you can start your evaluation right after downloading the Tinman 3D SDK.
d) Extra licence keys are issued for free, provided that the bound metadata correlates with the licenced product resp. licence owner.
e) Billing period is 1 year = 12 months.
f) You will receive an unlock key after completing your order. Please make sure you also download the corresponding SDK packages, if necessary.
g) Renewals are triggered automatically by your MyCommerce subscription, which you can cancel at any time.

Licence Keys

Before the Tinman 3D SDK can be used by an application, it must be activated. Activation is done by providing one or more licence keys during application startup.

This can be done by code (usually for perpetual licences):

global::Tinman.Core.TinmanLicenceDomain.Instance.LicenceKey("..."); // C# 
::Tinman::Core::TinmanLicenceDomain::Instance->LicenceKey("...");   // C++

As an alternative, a single licence key can be provided by setting an environment variable (usually for subscription licences):

TINMAN_3D_LICENCEKEY = ...

A licence key is a base-85 number with 100 digits, and looks like this:

CIk!6Dh6Ui;lSE+Z{{jx7$Y~8,#TSt~o%CK#(e,F#O9.d;fGc+bU35%HVl;[.+s#@h.bo1~{riL.4|UreHfeuac}5ZV~DBocxU}@

These are the base-85 digits:

!#$%()*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_abcdefghijklmnopqrstuvwxyz{|}~
^         ^         ^         ^         ^         ^         ^         ^         ^    ^
0         10        20        30        40        50        60        70        80   85

The characters of a licence key are "programming-language-safe", so the plain key value can be put into XML files or string literals without escaping.

A licence key can be bound to some metadata, using asymmetric encryption.

A bound licence key will only work if the metadata values found in the current execution context correlate with those that have been used to create the key.

Metadata Binding

The following table shows the relevant information for each licence key metadata binding.

  Computer Login Product Details System Time
 

User Name

Domain Name

Product Name

Company Name

Copyright Notice

Expiration Date

User yes yes no no no yes
Domain no yes no no no yes
Product no no yes yes yes no
Company no no no yes yes no
Full no no no no no no

You can use the Licence baKErY to determine the metadata of your application quickly.

Also you can generate a licence request from within your application using the API of the Tinman 3D SDK:

Tinman.Core.TinmanLicenceDomain.Instance.Request

Computer Login

The computer login contains the name and domain of the user that is currently logged.

Computer login - Windows

Please note that extra licence requests for a computer login like above might be rejected, because it is not apparent which individual the login belongs to. Another 'bad' example would be:

C:\Users\Anyone\whoami
SomeBigCompany\Anyone

Product Details

This is the metadata of the product executable that is linking against the Tinman 3D libraries.

On Windows, this information is accessible as part of the executable properties (right click -> Properties).

When developing with Visual Studio C#, you can specify the metadata for your project in the project properties:

Executable properties - Windows Project properties - Visual Studio C#

Alternatively, you can set the metadata values of your product directly in the AssembyInfo.cs file:

AssemblyInfo.cs

For Visual Studio C++, the metadata values can be configured as a VERSIONINFO object that is stored in the executables resources.

Resource View - VERSIONINFO - Visual Studio C++

Alternatively you can configure these values directly in your resource file (*.rc):

SomeResources.rc - Visual Studio C++

Licence Requests

Licence keys are generated from the information found in licence requests. A licence request is a JSON text file (UTF-8 encoding) that contains all required information.

Licence requests can be generated using the Licence baKErY tool or from within your application using the API of the Tinman 3D SDK:

global::Tinman.Core.TinmanLicenceDomain.Instance.Request(...) // C# 
::Tinman::Core::TinmanLicenceDomain::Instance->Request(...)   // C++ 

You do not have to deal with licence request files when ordering a licence for the Tinman 3D SDK.

Only when submitting extra licence key requests you need to upload one or more licence request files.

This is an example for a User licence request:

{
  // -------------------------------------------------------
  // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com
  // -------------------------------------------------------
  "FileInfo": {
    "Format": "Licence Request v1.0",
    "Name": "tinman_3d.licence-request.user.id-0505223D.json.txt",
    "Created": "2016-02-17 08:15:41 UTC",
    "Encoding": "utf-8/bom"
  },
  "LicenceDomain": "tinman_3d",
  "LicenceInfo": {
    "Timestamp": 54,
    "User": "Pikantos",
    "Domain": "Pikantos-PC",
    "Product": "*",
    "Company": "*",
    "Copyright": "*"
  },
  "SystemInfo": {
    "PlatformName": "Windows",
    "LanguageName": "C#"
  },
  "Checksum": "44EBCA2D-3CFE-C63C-40CE-E32B28D37FC9"
}

This is an example for a Product licence request:

{
  // -------------------------------------------------------
  // Tinman 3D - http://www.tinman3d.com - info@tinman3d.com
  // -------------------------------------------------------
  "FileInfo": {
    "Format": "Licence Request v1.0",
    "Name": "tinman_3d.licence-request.product.id-1F151262.json.txt",
    "Created": "2016-02-17 08:15:41 UTC",
    "Encoding": "utf-8/bom"
  },
  "LicenceDomain": "tinman_3d",
  "LicenceInfo": {
    "Timestamp": 54,
    "User": "*",
    "Domain": "*",
    "Product": "Tinman 3D - http://www.tinman3d.com",
    "Company": "Tinman 3D - http://www.tinman3d.com",
    "Copyright": "Copyright (C) 2015 Matthias Englert. All rights reserved."
  },
  "SystemInfo": {
    "PlatformName": "Windows",
    "LanguageName": "C#"
  },
  "Checksum": "A991F2DC-0174-7729-D91E-A75EA5409690"
}

Unlock Keys

Unlock keys are used to access locked content of the Tinman 3D SDK, for example:

Use the Geodata Processor to apply an unlock key to a locked content archive.