Abstract base class for Tinman module descriptors.
The logger object of this class.
public
static
readonly
field
|
Logger
|
||
type
|
ILogger
|
Subclasses may increment this dummy counter from within PleaseIncludeInBinaryThanks in order to prevent overly aggressive code optimizations that may alter the order of initialization.
[ShutdownClear]
|
||||
protected
static
field
|
pleaseIncludeInBinaryThanks
|
|||
type
|
int32
|
Creates a new instance of TinmanModule.
protected
constructor
|
TinmanModule
(string guid)
|
||
params
|
guid
|
[not-empty]
|
The GUID of this module. |
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. |
Collects textual system information for debugging purposes.
[EmptyBody]
|
||||
protected
virtual
method
|
CollectSystemInfo
(SourceCodeWriter writer)
|
|||
params
|
writer
|
[not-null]
|
The text writer to use. |
Exceptions:
Initializes this Tinman module.
[EmptyBody]
|
||||
protected
virtual
method
|
DoInitialize
()
|
Shuts down this Tinman module.
[EmptyBody]
|
||||
protected
virtual
method
|
DoShutdown
()
|
Registers an embedded binary resource.
protected
method
|
RegisterResource
(string resourceName,
bool extract = false)
|
||
type
|
bool
|
||
params
|
resourceName
|
[not-null]
|
The resource name. |
extract
|
false
to
treat
resourceName
as
a
single
resource.
true
to
treat
resourceName
as
a
ZIP
archive:
the resource will be extracted and each resulting file will be registered as a separate resource, using the following name, which is constructed by appending the these name parts:
'SomeDir/Data.zip'
and
a
ZIP
archive
containing
entries
'abc/data.dat'
and
'info.txt' ,
the
following
resources
would
be
registered:
SomeDir/Data/abc/data.dat SomeDir/Data/info.txtDefaults to false .
|
||
returns
|
true
if
the
resource
has
been
registered
successfully,
false
if
not
(see
error
log
message
for
details).
|
Remarks:
If the resource cannot be found, an error log message is generated and the method returns silently.
See also:
LoggerExceptions:
true
and
the
resource
is
not
a
valid
ZIP
archive.
Returns all library modules.
public
static
property
|
All
{
get
}
|
||
type
|
IVectorConst<TinmanModule>
|
||
value
|
|
The list of all library modules. |
Remarks:
Modules without dependencies come first.
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.
|
Returns all ConfigType s this module owns.
public
property
|
ConfigTypes
{
get
}
|
||
type
|
ConfigType[]
|
||
value
|
|
The list of config types. |
Returns the GUID of this module.
public
property
|
Guid
{
get
}
|
||
type
|
GUID
|
||
value
|
The GUID. |
The build information object of this library module.
public
abstract
property
|
Info
{
get
}
|
||
type
|
BuildInformation
|
||
value
|
|
The build information object. |
Canonical path to directory where to put user-specific settings.
public
property
|
Settings
{
get
}
|
||
type
|
Path
|
||
value
|
|
The settings directory. |
Remarks:
The directory will be created, if necessary.
Exceptions:
The Tinman 3D welcome ASCII art.
public
constant
|
Welcome
=
"\n _____ _______ ____ _____ \n ,-:` \\;',`'-, |__ _(_) |___ \\ | __ \\ \n .'-;_,; ':-;_,'. | | _ _ __ _ __ ___ __ _ _ __ __) || | | |\n /; '/ , _`.-\\ | || || '_ \\ | '_ ` _ \\ / _` || '_ \\ |__ < | | | |\n | '`. (` /` ` \\`| | || || | | || | | | | || (_| || | | | ___) || |__| |\n |:. `\\`-. \\_ / | |_||_||_| |_||_| |_| |_| \\__,_||_| |_| |____/ |_____/\n | ( `, .`\\ ;'| \n \\ | .' `-'/ Real-time terrain processing, rendering and analysis\n `. ;/ .' \n `'-._____.-'` https://www.tinman3d.com - info@tinman3d.com\n"
|
||
type
|
string
|
Specifies the config documentation for a module.
public
static
method
|
AddConfigDocumentation
(ConfigDoc doc)
|
||
params
|
doc
|
[not-null]
|
The documentation. |
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. |
Computes a dependency graph of all library modules (source depends on target).
[OwnerReturn]
|
||||
public
static
method
|
Dependencies
()
|
|||
type
|
Graph<TinmanModule>
|
|||
returns
|
|
The dependency graph. |
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. |
Initializes the Tinman 3D library.
public
static
method
|
Initialize
()
|
Remarks:
Before calling this method, call PleaseIncludeInBinaryThanks on the top-level module(s) of the enclosing application. Then, based on the collected module dependencies (see Dependencies), this method will call PleaseIncludeInBinaryThanks and DoInitialize on all modules.
This method may be called repeatedly, subsequent invocations have no effect.
See also:
LowLevel.PlatformForceExceptions:
This is a 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 Initialize.
Exceptions:
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
|
|
The canonical resource path. |
Exceptions:
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
|
|
The canonical resource path. |
Shuts down the Tinman 3D library.
[Shutdown]
|
||||
public
static
method
|
Shutdown
()
|
Remarks:
Before calling this method, make sure to relinquish ownership of all IDisposable objects. This method will call DoShutdown on all modules.
This method may be called repeatedly, subsequent invocations have no effect.
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
|
|
The system information dump. |
[Pure]
|
||||
public
override
method
|
ToString
()
|
|||
type
|
string
|
public
method
|
ToString
(bool includeBuildDate)
|
||
type
|
string
|
||
params
|
includeBuildDate
|