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

class TinmanModule in Tinman.Core

Abstract base class for Tinman module descriptors.

abstract class TinmanModule implements IComparable<TinmanModule>
  IPleaseIncludeInBinaryThanks
  base of TinmanAddOnsAssimpModule
  TinmanAddOnsDirectXModule
  TinmanAddOnsGDALModule
  TinmanAddOnsModule
  TinmanCoreModule
  TinmanDemoModule
  TinmanDemoStandAloneModule
  TinmanTerrainModule

Public / Constants

Welcome

The Tinman 3D welcome ASCII art.

public constant Welcome = "\r\n _____ _______ ____ _____ \r\n ,-:` \\;\',`\'-, |__ _(_) |___ \\ | __ \\ \r\n .\'-;_,; \':-;_,\'. | | _ _ __ _ __ ___ __ _ _ __ __) || | | |\r\n /; \'/ , _`.-\\ | || || \'_ \\ | \'_ ` _ \\ / _` || \'_ \\ |__ < | | | |\r\n | \'`. (` /` ` \\`| | || || | | || | | | | || (_| || | | | ___) || |__| |\r\n |:. `\\`-. \\_ / | |_||_||_| |_||_| |_| |_| \\__,_||_| |_| |____/ |_____/\r\n | ( `, .`\\ ;\'| \r\n \\ | .\' `-\'/ Realtime terrain processing, rendering and analysis\r\n `. ;/ .\' \r\n `\'-._____.-\'` http://www.tinman3d.com - info@tinman3d.com\r\n"
type string

Public / Attributes

All

Returns all library modules.

public static property All { get }
type IVectorConst<TinmanModule>
value [not-null] The list of all library modules.

Remarks:

Modules without dependencies come first.

ConfigDocumentation

Returns the config documentation for this module.

public property ConfigDocumentation { get }
type ConfigDoc
value The ConfigDoc object or null if no documentation has been loaded yet.

ConfigTypes

Returns all ConfigType s this module owns.

public property ConfigTypes { get }
type ConfigType[]
value [not-null] The list of config types.

Guid

Returns the GUID of this module.

public property Guid { get }
type GUID
value The GUID.

Info

The build information object of this library module.

public abstract property Info { get }
type BuildInformation
value [not-null] The build information object.

SettingsApp

Canonical path to directory where to put application-specific settings.

public property SettingsApp { get }
type Path
value [not-null] The settings directory.

Remarks:

The directory will be created, if necessary.

SettingsUser

Canonical path to directory where to put user-specific settings.

public property SettingsUser { get }
type Path
value [not-null] The settings directory.

Remarks:

The directory will be created, if necessary.

Public / Methods

AddConfigDocumentation

public static method AddConfigDocumentation (ConfigDoc doc)
params doc

AddShutdownDispose

Registers the given object for being disposed on shutdown (see Shutdown).

public static method AddShutdownDispose ([Owner] IDisposable disposable)
params disposable The disposable object.

Remarks:

The registered objects will be disposed in the reverse order of their addition, unless OrderShutdownDispose is used to alter the current sequence.

AddShutdownHandler

Registers the given cool down handler.

public static method AddShutdownHandler (TinmanCoolDownDelegate handler)
params handler The cool down handler to register.

See also:

Shutdown

CompareTo

Compares this object with the given one.

[Pure]
public method CompareTo (TinmanModule other)
type int32
params other The object to compare to.
returns < 0 : if this object is less than other,
= 0 : if this object is equal to other,
> 0 : if this object is greater than other.
implements IComparable.CompareTo

Dependencies

Computes a dependency graph of all library modules (source depends on target).

[OwnerReturn]
public static method Dependencies ()
type Graph<TinmanModule>
returns [not-null] The dependency graph.

For

Retrieves a module by its GUID.

public static method For (GUID guid)
type TinmanModule
params guid The GUID value.
returns The module or null if not found.

OrderShutdownDispose

Modifies the order in which the registered shutdown disposals are performed.

public static method OrderShutdownDispose (IDisposable disposable, bool first)
params disposable The disposable object that has been added earlier via AddShutdownDispose. If the given object is not registered for shutdown disposal, this method silently returns.
  first Reorder shutdown disposals so that disposable is disposed first ( true) or last (false), while retaining the order of the other disposals?

PleaseIncludeInBinaryThanks

This is a no-op method that forces the compiler / linker to include this type in the resulting binary.

public virtual method PleaseIncludeInBinaryThanks ()
implements IPleaseIncludeInBinaryThanks.PleaseIncludeInBinaryThanks

Remarks:

Calling this stub method makes sure that all lazy constructor calls have been made.

To initialize everything, an application needs to call this method on its root module(s) (see TinmanModule), followed by a call to PleaseIncludeInBinaryThanksAll.

PleaseIncludeInBinaryThanksAll

Calls PleaseIncludeInBinaryThanks on all modules (see All).

public static method PleaseIncludeInBinaryThanksAll ()

Remarks:

To initialize all modules, call PleaseIncludeInBinaryThanks on the top-level module(s) of the enclosing application. Afterwards, call this method: based on the collected module dependencies (see Dependencies), it will call PleaseIncludeInBinaryThanks on all modules.

Resource

Returns the canonical path to the given embedded resource.

public method Resource (string resourceName)
type Path
params resourceName [not-null] The name of the embedded resource.
returns [not-null] The canonical resource path.

Returns the canonical path to the given embedded resource.

public method Resource (Path resourceName)
type Path
params resourceName [not-null] The name of the embedded resource.
returns [not-null] The canonical resource path.

Shutdown

Shuts down the Tinman 3D library.

public static method Shutdown ()

Remarks:

Calling this method makes sure that all objects get destroyed and all background threads are terminated.

SystemInfo

Collects textual information about the runtime environment and code modules.

public static method SystemInfo (int32 columns = 100)
type string
params columns [>0] Maximum number of text column.
returns [not-null] The system information dump.

ToString

[Pure]
public override method ToString ()
type string

public method ToString (bool includeBuildDate)
type string
params includeBuildDate

Protected / Constructors

TinmanModule

Creates a new instance of TinmanModule.

protected constructor TinmanModule (string guid)
params guid [not-empty] The GUID of this module.

Protected / Methods

CollectDependencies

Collects those TinmanModule module descriptors this module directly depends on.

protected abstract method CollectDependencies (IBag<TinmanModule> dependencies)
params dependencies [not-null] The set to use for collecting.

CollectSystemInfo

Collects textual system information for debugging purposes.

[EmptyBody]
protected virtual method CollectSystemInfo (SourceCodeWriter writer)
params writer [not-null] The text writer to use.

DoShutdown

Shuts down this Tinman module.

[EmptyBody]
protected virtual method DoShutdown ()

RegisterResource

Registers an embedded binary resource.

protected method RegisterResource (string resourceName)
params resourceName [not-null] The resource name.