TinmanModule
Description
- Derived from
- Extended by
-
TinmanAddOnsDirectX11Module sealed
TinmanAddOnsDirectX12Module sealed
TinmanAddOnsDirectX9Module sealed
TinmanAddOnsModule sealed
TinmanAddOnsSQLiteModule sealed
TinmanAddOnsVulkanModule sealed
TinmanCoreModule sealed
TinmanDemoModule sealed
TinmanDemoStandAloneModule sealed
TinmanEngineModule sealed
TinmanGpuModule sealed
TinmanProcessorModule sealed
TinmanTerrainModule sealed
Abstract base class for Tinman module descriptors.
Public / Constants
Public / Methods
Initialize
Initializes the Tinman 3D library.
Before calling this method, call IPleaseIncludeInBinaryThanks.PleaseIncludeInBinaryThanks on the top-level module(s) of the enclosing application. Then, based on the collected module dependencies (see Dependencies), this method will call IPleaseIncludeInBinaryThanks.PleaseIncludeInBinaryThanks and DoInitialize on all modules.
This method may be called repeatedly, subsequent invocations have no effect, except that they will initialize those TinmanModule instances that have been created since the most recent call to Initialize, for example after loading a plugin library.
- LicenceException
-
If LicenceDomain.Tinman is still locked.
- See also
Resource
2 overloads
Returns the canonical path to the given embedded resource.
- IOException
-
If the given resourceName in is not a valid path name.
Returns the canonical path to the given embedded resource.
Shutdown
Shuts down the Tinman 3D library.
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.
Public / Attributes
IsDebug
Has this module been compiled in DEBUG
mode?
For DEBUG
mode, code optimization is disabled and no runtime checks are performed, see InvalidArgumentException and FailedAssertionException.
- See also
IsInitialized
Checks if the Tinman 3D library has been initialized.
If new TinmanModule instances have become available after initializating, the Initialize method needs to be called again in order to initialize the new modules.
Settings
Canonical path to directory where to put application-specific settings for the current user.
The directory will be created, if necessary.
- IOException
-
If an I/O error has occurred.
Protected / Methods
AssertDebug
This is a fake assertion method which never throws an exception but instead sets the debug mode flag for this module when called (which by definition of an assertion method, only happens in debug mode).
CollectDependencies
Collects those TinmanModule module descriptors this module directly depends on.
CollectSystemInfo
Collects textual system information for debugging purposes.
- IOException
-
If an I/O error has occurred while writing to writer in.
DoInitialize
Initializes this Tinman module.
Overriding methods may use RegisterResource to add files to the in-memory filesystem for embedded resources (res:/
), see Resource1.
- LicenceException
-
If LicenceDomain.Tinman is still locked.
RegisterResource
Registers an embedded binary resource.
A TinmanModule class may call this method from DoInitialize. If the call is made from another site, the resource cannot be found or the ZIP archive is corrupt, an error log message is generated and the method returns silently.
- See also
Protected / Attributes
pleaseIncludeInBinaryThanks
Subclasses may increment this dummy counter from within IPleaseIncludeInBinaryThanks.PleaseIncludeInBinaryThanks in order to prevent overly aggressive code optimizations that may alter the order of initialization.