Murl::IEngineConfiguration Interface Referenceabstract

The engine configuration interface defines the engine-specific settings which can be modified prior to starting the engine only, e.g. More...

#include "murl_i_engine_configuration.h"

Inherited by Murl::Util::EngineConfiguration.

Public Member Functions

virtual const IPlatformConfigurationGetPlatformConfiguration () const =0
 Get the const platform configuration object. More...
 
virtual const IAppConfigurationGetAppConfiguration () const =0
 Get the const application configuration object. More...
 
virtual IAppConfigurationGetAppConfiguration ()=0
 Get the application configuration object. More...
 
virtual Bool HasChanged (ChangeInspector &inspector) const =0
 Check is any configuration setting has changed. More...
 
virtual IAttributesGetDefaultGraphParameters ()=0
 Get the mutable set of default graph parameters. More...
 
virtual const IAttributesGetDefaultGraphParameters () const =0
 Get the constant set of default graph parameters. More...
 
virtual IFeatureSetGetFeatures ()=0
 Get the feature set object. More...
 
virtual const IFeatureSetGetFeatures () const =0
 Get the const feature set object. More...
 
virtual UInt32 GetMajorRevision () const =0
 Get the major revision of the engine. More...
 
virtual UInt32 GetMinorRevision () const =0
 Get the minor revision of the engine. More...
 
virtual UInt32 GetBuildNumber () const =0
 Get the build number of the engine. More...
 
virtual const StringGetReleaseState () const =0
 Get the release state string of the engine. More...
 
virtual const StringGetVersionString () const =0
 Get the version string of the engine. More...
 
virtual const StringGetCopyrightString () const =0
 Get the copyright string of the engine. More...
 
virtual void SetLicenseKey (const UInt8 *key)=0
 Set the licence key data. More...
 
virtual const ConstDataGetLicenseKey () const =0
 Get the licence key data object. More...
 
virtual void SetLogFileName (const String &logFileName)=0
 Set the log file name. More...
 
virtual const StringGetLogFileName () const =0
 Get the log file name. More...
 
virtual void SetLogFileFullPath (const String &logFilePath)=0
 Set the log file full path. More...
 
virtual const StringGetLogFileFullPath () const =0
 Get the log file full path. More...
 
virtual void SetRunLoopMode (IEnums::RunLoopMode runLoopMode)=0
 Set the engine's run loop mode. More...
 
virtual IEnums::RunLoopMode GetRunLoopMode () const =0
 Get the engine's run loop mode. More...
 
virtual void SetBootTime (const System::Time &time)=0
 Set the boot time. More...
 
virtual const System::TimeGetBootTime () const =0
 Get the boot time. More...
 
virtual Bool HasBootTimeChanged (ChangeInspector &inspector) const =0
 Check if the boot time has changed. More...
 
virtual void SetNowMonotonic (Bool monotonic)=0
 Sets the behaviour of Murl::System::GetNow. More...
 
virtual Bool IsNowMonotonic () const =0
 Check if Murl::System::GetNow is monotonic. More...
 
virtual Bool HasNowMonotonicChanged (ChangeInspector &inspector) const =0
 Check if GetNow behaviour has changed. More...
 
virtual void SetProductName (const String &productName)=0
 Set the product name. More...
 
virtual const StringGetProductName () const =0
 Get the product name. More...
 
virtual Bool HasProductNameChanged (ChangeInspector &inspector) const =0
 Check if the product name has changed. More...
 
virtual void SetVersionName (const String &versionName)=0
 Set the app version name. More...
 
virtual const StringGetVersionName () const =0
 Get the app version name. More...
 
virtual Bool HasVersionNameChanged (ChangeInspector &inspector) const =0
 Check if the app version name has changed. More...
 
virtual void SetAudioSessionCategory (IEnums::AudioSessionCategory sessionCategory)=0
 Set the audio session category. More...
 
virtual IEnums::AudioSessionCategory GetAudioSessionCategory () const =0
 Get the audio session category. More...
 
virtual Bool HasAudioSessionCategoryChanged (ChangeInspector &inspector) const =0
 Check if the audio session category has changed. More...
 
virtual void SetVideoApi (IEnums::VideoApi videoApi)=0
 Set the video api enumeration value. More...
 
virtual IEnums::VideoApi GetVideoApi () const =0
 Get the video api enumeration value. More...
 
virtual Bool IsVideoApiMatching (IEnums::VideoApi videoApi) const =0
 Check if the video api is matching a specified value. More...
 
virtual Bool HasVideoApiChanged (ChangeInspector &inspector) const =0
 Check if the video api enumeration value has changed. More...
 
virtual void SetAudioApi (IEnums::AudioApi audioApi)=0
 Set the audio api enumeration value. More...
 
virtual IEnums::AudioApi GetAudioApi () const =0
 Get the audio api enumeration value. More...
 
virtual Bool IsAudioApiMatching (IEnums::AudioApi audioApi) const =0
 Check if the audio api is matching a specified value. More...
 
virtual Bool HasAudioApiChanged (ChangeInspector &inspector) const =0
 Check if the audio api enumeration value has changed. More...
 
virtual void SetVideoRendererClassName (const String &className)=0
 Set the video renderer class name. More...
 
virtual const StringGetVideoRendererClassName () const =0
 Get the video renderer class name. More...
 
virtual Bool HasVideoRendererClassNameChanged (ChangeInspector &inspector) const =0
 Check if the video renderer class name has changed. More...
 
virtual void SetAudioRendererClassName (const String &className)=0
 Set the audio renderer class name. More...
 
virtual const StringGetAudioRendererClassName () const =0
 Get the audio renderer class name. More...
 
virtual Bool HasAudioRendererClassNameChanged (ChangeInspector &inspector) const =0
 Check if the audio renderer class name has changed. More...
 
virtual void SetPhysicsSimulatorClassName (const String &className)=0
 Set the physics simulator class name. More...
 
virtual const StringGetPhysicsSimulatorClassName () const =0
 Get the physics simulator class name. More...
 
virtual Bool HasPhysicsSimulatorClassNameChanged (ChangeInspector &inspector) const =0
 Check if the physics simulator class name has changed. More...
 
virtual void SetResourceCollectionClassName (const String &className)=0
 Set the resource collection class name. More...
 
virtual const StringGetResourceCollectionClassName () const =0
 Get the resource collection class name. More...
 
virtual Bool HasResourceCollectionClassNameChanged (ChangeInspector &inspector) const =0
 Check if the resource collection class name has changed. More...
 
virtual void SetPreferredResourcePackageType (IEnums::PackageType type)=0
 Set the preferred resource package type. More...
 
virtual IEnums::PackageType GetPreferredResourcePackageType () const =0
 Get the preferred resource package type. More...
 
virtual Bool HasPreferredResourcePackageTypeChanged (ChangeInspector &inspector) const =0
 Check if the preferred resource package type has changed. More...
 
virtual void SetResourceFileCategory (IEnums::FileCategory category)=0
 Set the resource file category. More...
 
virtual IEnums::FileCategory GetResourceFileCategory () const =0
 Get the resource file category. More...
 
virtual Bool HasResourceFileCategoryChanged (ChangeInspector &inspector) const =0
 Check if the resource file category has changed. More...
 
virtual void SetDeactivatedAppRunState (IEnums::AppRunState appRunState)=0
 Set the deactivated application run state. More...
 
virtual IEnums::AppRunState GetDeactivatedAppRunState () const =0
 Get the deactivated application run state. More...
 
virtual Bool HasDeactivatedAppRunStateChanged (ChangeInspector &inspector) const =0
 Check if the deactivated application run state has changed. More...
 
virtual void SetSuspendUnloadsResources (Bool unload)=0
 Set the suspend unloads resources flag. More...
 
virtual Bool GetSuspendUnloadsResources () const =0
 Get the suspend unloads resources flag. More...
 
virtual Bool HasSuspendUnloadsResourcesChanged (ChangeInspector &inspector) const =0
 Check if the suspend unloads resources flag has changed. More...
 
virtual void SetSuspendableResources (IEnums::SuspendableResources suspendableResources)=0
 Set the suspendable resources type. More...
 
virtual IEnums::SuspendableResources GetSuspendableResources () const =0
 Get the suspendable resources type. More...
 
virtual Bool HasSuspendableResourcesChanged (ChangeInspector &inspector) const =0
 Check if the suspendable resources type has changed. More...
 
virtual void SetUnitSize (Real sizeX, Real sizeY)=0
 Set the global unit size factor. More...
 
virtual Real GetUnitSizeX () const =0
 Get the horizontal unit size factor. More...
 
virtual Real GetUnitSizeY () const =0
 Get the vertical unit size factor. More...
 
virtual Bool HasUnitSizeChanged (ChangeInspector &inspector) const =0
 Check if the global unit size factor has changed. More...
 
virtual void SetPixelCenter (Real centerX, Real centerY)=0
 Set the pixel center position. More...
 
virtual Real GetPixelCenterX () const =0
 Get the horizontal pixel center position. More...
 
virtual Real GetPixelCenterY () const =0
 Get the vertical pixel center position. More...
 
virtual Bool HasPixelCenterChanged (ChangeInspector &inspector) const =0
 Check if the global pixel center position has changed. More...
 
virtual void SetThreadAffinity (IEnums::EngineThread thread, IEnums::CpuAffinityPolicy policy, UInt32 mask)=0
 Set the thread affinity mask and application policy for one of the present engine threads. More...
 
virtual IEnums::CpuAffinityPolicy GetThreadAffinityPolicy (IEnums::EngineThread thread) const =0
 Get the thread affinity mask application policy for one of the present engine threads. More...
 
virtual UInt32 GetThreadAffinityMask (IEnums::EngineThread thread) const =0
 Get the thread affinity mask for one of the present engine threads. More...
 
virtual Bool HasThreadAffinityChanged (IEnums::EngineThread thread, ChangeInspector &inspector) const =0
 Check if the thread affinity mask or application policy has changed for one of the present engine threads. More...
 
virtual void SetSyncLoadingTimeout (Double timeout)=0
 Set the synchronous resource initialization timeout. More...
 
virtual Double GetSyncLoadingTimeout () const =0
 Get the synchronous resource initialization timeout. More...
 
virtual Bool HasSyncLoadingTimeoutChanged (ChangeInspector &inspector) const =0
 Check if the synchronous resource initialization timeout has changed. More...
 
virtual void SetAsyncLoadingEnabled (Bool enabled)=0
 Enable asynchronous resource initialization after loading. More...
 
virtual Bool IsAsyncLoadingEnabled () const =0
 Check if the asynchronous loading is enabled. More...
 
virtual Bool HasAsyncLoadingEnabledChanged (ChangeInspector &inspector) const =0
 Check if the asynchronous loading setting has changed. More...
 
virtual void SetSyncToVBlankEnabled (Bool enabled)=0
 Enable synchronous vertical blank page flipping. More...
 
virtual Bool IsSyncToVBlankEnabled () const =0
 Check if the synchronous vertical blank page flipping is enabled. More...
 
virtual Bool HasSyncToVBlankEnabledChanged (ChangeInspector &inspector) const =0
 Check if the synchronous vertical blank page flipping setting has changed. More...
 
virtual void SetHighResolutionDisplayEnabled (Bool enabled)=0
 Enable native rendering on a high resolution (retina) display if available. More...
 
virtual Bool IsHighResolutionDisplayEnabled () const =0
 Check if high resolution rendering is enabled. More...
 
virtual Bool HasHighResolutionDisplayEnabledChanged (ChangeInspector &inspector) const =0
 Check if high resolution rendering setting has changed. More...
 
virtual void SetVideoApiChecksEnabled (Bool enabled)=0
 Enable checks to video api calls. More...
 
virtual Bool AreVideoApiChecksEnabled () const =0
 Check if the video api check feature is enabled. More...
 
virtual Bool HasVideoApiChecksEnabledChanged (ChangeInspector &inspector) const =0
 Check if the video api check setting has changed. More...
 
virtual void SetAudioApiChecksEnabled (Bool enabled)=0
 Enable checks to audio api calls. More...
 
virtual Bool AreAudioApiChecksEnabled () const =0
 Check if the audio api check feature is enabled. More...
 
virtual Bool HasAudioApiChecksEnabledChanged (ChangeInspector &inspector) const =0
 Check if the audio api check setting has changed. More...
 
virtual void SetExtendedObjectStatisticsEnabled (Bool enabled)=0
 Enable extended object statistics. More...
 
virtual Bool AreExtendedObjectStatisticsEnabled () const =0
 Check if extended object statistics are enabled. More...
 
virtual Bool HasExtendedObjectStatisticsEnabledChanged (ChangeInspector &inspector) const =0
 Check if the extended object statistics setting has changed. More...
 
virtual void SetNumberOfAntialiasSamples (UInt32 numSamples)=0
 Set the number of antialiasing samples. More...
 
virtual UInt32 GetNumberOfAntialiasSamples () const =0
 Get the number of antialiasing samples. More...
 
virtual Bool HasNumberOfAntialiasSamplesChanged (ChangeInspector &inspector) const =0
 Check if the number of antialiasing samples has changed. More...
 
virtual void SetDefaultMaxTextureAnisotropy (Real maxAnisotropy)=0
 Set the default maximum texture anisotropy for filtering. More...
 
virtual Real GetDefaultMaxTextureAnisotropy () const =0
 Get the default maximum texture anisotropy for filtering. More...
 
virtual Bool HasDefaultMaxTextureAnisotropyChanged (ChangeInspector &inspector) const =0
 Check if the default maximum texture anisotropy has changed. More...
 
virtual void SetTexturePrescaleDivisor (UInt32 divisor)=0
 Set the texture prescale divisor. More...
 
virtual UInt32 GetTexturePrescaleDivisor () const =0
 Get the texture prescale divisor. More...
 
virtual Bool IsTexturePrescaleDivisorMatching (UInt32 divisor) const =0
 Check if the texture prescale divisor matching a specified value. More...
 
virtual Bool HasTexturePrescaleDivisorChanged (ChangeInspector &inspector) const =0
 Check if the texture prescale divisor has changed. More...
 
virtual void SetExactLogicTickDuration (Double dt)=0
 Set the exact logic tick duration. More...
 
virtual void SetBoundsForLogicTickDuration (Double dtMin, Double dtMax)=0
 Set the logic tick duration bounds. More...
 
virtual Double GetMinimumLogicTickDuration () const =0
 Get minimum logic tick duration in seconds. More...
 
virtual Double GetMaximumLogicTickDuration () const =0
 Get maximum logic tick duration in seconds. More...
 
virtual Bool HasLogicTickDurationChanged (ChangeInspector &inspector) const =0
 Check if the logic tick duration setting has changed. More...
 
virtual void SetExactLogicTicksPerFrame (UInt32 numTicks)=0
 Set the exact number of logic ticks per frame. More...
 
virtual void SetBoundsForLogicTicksPerFrame (UInt32 numTicksMin, UInt32 numTicksMax)=0
 Set the number of logic ticks per frame bounds. More...
 
virtual UInt32 GetMinimumLogicTicksPerFrame () const =0
 Get minimum number of logic logic ticks per frame. More...
 
virtual UInt32 GetMaximumLogicTicksPerFrame () const =0
 Get maximum number of logic logic ticks per frame. More...
 
virtual Bool HasLogicTicksPerFrameChanged (ChangeInspector &inspector) const =0
 Check if the number of logic logic ticks per frame setting has changed. More...
 
virtual void AddSystemFont (const String &fontId, const String &fontName, Real weight, Real sizeFactor, Real ascent, Real descent, Real leading)=0
 Add a user-defined system font. More...
 
virtual UInt32 GetNumberOfSystemFonts () const =0
 Get the number of user-defined system fonts. More...
 
virtual const StringGetSystemFontId (UInt32 index) const =0
 Get the internal ID of the user-defined system font at a given index. More...
 
virtual const StringGetSystemFontName (UInt32 index) const =0
 Get the OS-specific name of the user-defined system font at a given index. More...
 
virtual Real GetSystemFontWeight (UInt32 index) const =0
 Get the weight of the user-defined system font at a given index. More...
 
virtual Real GetSystemFontSizeFactor (UInt32 index) const =0
 Get the size factor of the user-defined system font at a given index. More...
 
virtual Real GetSystemFontAscent (UInt32 index) const =0
 Get the ascent of the user-defined system font at a given index. More...
 
virtual Real GetSystemFontDescent (UInt32 index) const =0
 Get the descent of the user-defined system font at a given index. More...
 
virtual Real GetSystemFontLeading (UInt32 index) const =0
 Get the leading value of the user-defined system font at a given index. More...
 
virtual void SetVirtualMouseEnable (Bool isEnabled)=0
 Enable the virtual mouse device. More...
 
virtual Bool IsVirtualMouseEnabled () const =0
 Check if the virtual mouse device is enabled. More...
 
virtual void SetVirtualRawMouseEnable (Bool isEnabled)=0
 Enable the virtual raw-mouse device. More...
 
virtual Bool IsVirtualRawMouseEnabled () const =0
 Check if the virtual raw-mouse device is enabled. More...
 
virtual void SetCloudControlEnable (Bool isEnabled)=0
 Enable the cloud control. More...
 
virtual Bool IsCloudControlEnabled () const =0
 Check if the cloud control is enabled. More...
 
virtual void SetGpuBufferSafetyCopiesEnabled (Bool isEnabled)=0
 Enable/disable safety GPU buffer copies. More...
 
virtual Bool AreGpuBufferSafetyCopiesEnabled () const =0
 Check if safety GPU buffer copies are enabled. More...
 
virtual Bool SetGraphObjectResultAction (IEnums::ResultCode code, IEnums::ResultAction action)=0
 Define the action to perform on a specific graph node/controller parsing result. More...
 
virtual IEnums::ResultAction GetGraphObjectResultAction (IEnums::ResultCode code) const =0
 Get the action to perform on a specific graph node/controller parsing result. More...
 

Detailed Description

The engine configuration interface defines the engine-specific settings which can be modified prior to starting the engine only, e.g.

IApp::Configure().

Member Function Documentation

◆ GetPlatformConfiguration()

virtual const IPlatformConfiguration* Murl::IEngineConfiguration::GetPlatformConfiguration ( ) const
pure virtual

Get the const platform configuration object.

Returns
The platform configuration object.

◆ GetAppConfiguration() [1/2]

virtual const IAppConfiguration* Murl::IEngineConfiguration::GetAppConfiguration ( ) const
pure virtual

Get the const application configuration object.

Returns
The application configuration object.

◆ GetAppConfiguration() [2/2]

virtual IAppConfiguration* Murl::IEngineConfiguration::GetAppConfiguration ( )
pure virtual

Get the application configuration object.

Returns
The application configuration object.

◆ HasChanged()

virtual Bool Murl::IEngineConfiguration::HasChanged ( ChangeInspector inspector) const
pure virtual

Check is any configuration setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if any configuration setting has changed.

◆ GetDefaultGraphParameters() [1/2]

virtual IAttributes* Murl::IEngineConfiguration::GetDefaultGraphParameters ( )
pure virtual

Get the mutable set of default graph parameters.

Use the returned object in the IApp::Configure() method to add any custom parameters to be used in attribute evaluation during the creation of a scene (sub-)graph.

Returns
The mutable parameters object.

◆ GetDefaultGraphParameters() [2/2]

virtual const IAttributes* Murl::IEngineConfiguration::GetDefaultGraphParameters ( ) const
pure virtual

Get the constant set of default graph parameters.

Returns
The constant parameters object.

◆ GetFeatures() [1/2]

virtual IFeatureSet* Murl::IEngineConfiguration::GetFeatures ( )
pure virtual

Get the feature set object.

Returns
The feature set object.

◆ GetFeatures() [2/2]

virtual const IFeatureSet* Murl::IEngineConfiguration::GetFeatures ( ) const
pure virtual

Get the const feature set object.

Returns
The const feature set object.

◆ GetMajorRevision()

virtual UInt32 Murl::IEngineConfiguration::GetMajorRevision ( ) const
pure virtual

Get the major revision of the engine.

Returns
The major revision of the engine.

◆ GetMinorRevision()

virtual UInt32 Murl::IEngineConfiguration::GetMinorRevision ( ) const
pure virtual

Get the minor revision of the engine.

Returns
The minor revision of the engine.

◆ GetBuildNumber()

virtual UInt32 Murl::IEngineConfiguration::GetBuildNumber ( ) const
pure virtual

Get the build number of the engine.

Returns
The build number of the engine.

◆ GetReleaseState()

virtual const String& Murl::IEngineConfiguration::GetReleaseState ( ) const
pure virtual

Get the release state string of the engine.

Returns
The release state string of the engine.

◆ GetVersionString()

virtual const String& Murl::IEngineConfiguration::GetVersionString ( ) const
pure virtual

Get the version string of the engine.

Returns
The version string of the engine.

◆ GetCopyrightString()

virtual const String& Murl::IEngineConfiguration::GetCopyrightString ( ) const
pure virtual

Get the copyright string of the engine.

Returns
The copyright string of the engine.

◆ SetLicenseKey()

virtual void Murl::IEngineConfiguration::SetLicenseKey ( const UInt8 key)
pure virtual

Set the licence key data.

Parameters
keyThe licence key data.

◆ GetLicenseKey()

virtual const ConstData& Murl::IEngineConfiguration::GetLicenseKey ( ) const
pure virtual

Get the licence key data object.

Returns
The licence key data object.

◆ SetLogFileName()

virtual void Murl::IEngineConfiguration::SetLogFileName ( const String logFileName)
pure virtual

Set the log file name.

If the log file name is set, all MURL_TRACE, MURL_ERROR and MURL_ASSERT messages are written into the file.

The default log file name is empty.

Parameters
logFileNameThe log file name, see also SetLogFileFullPath().

◆ GetLogFileName()

virtual const String& Murl::IEngineConfiguration::GetLogFileName ( ) const
pure virtual

Get the log file name.

Returns
The log file name, see also GetLogFileFullPath().

◆ SetLogFileFullPath()

virtual void Murl::IEngineConfiguration::SetLogFileFullPath ( const String logFilePath)
pure virtual

Set the log file full path.

Parameters
logFilePathThe log file full path, see also SetLogFileName().

◆ GetLogFileFullPath()

virtual const String& Murl::IEngineConfiguration::GetLogFileFullPath ( ) const
pure virtual

Get the log file full path.

Returns
The log file full path, see also GetLogFileName().

◆ SetRunLoopMode()

virtual void Murl::IEngineConfiguration::SetRunLoopMode ( IEnums::RunLoopMode  runLoopMode)
pure virtual

Set the engine's run loop mode.

Parameters
runLoopModeThe run loop mode.

◆ GetRunLoopMode()

virtual IEnums::RunLoopMode Murl::IEngineConfiguration::GetRunLoopMode ( ) const
pure virtual

Get the engine's run loop mode.

Returns
The run loop mode.

◆ SetBootTime()

virtual void Murl::IEngineConfiguration::SetBootTime ( const System::Time time)
pure virtual

Set the boot time.

Parameters
timeThe boot time in number of seconds since 00:00 hours, Jan 1, 1970 UTC.

◆ GetBootTime()

virtual const System::Time& Murl::IEngineConfiguration::GetBootTime ( ) const
pure virtual

Get the boot time.

Returns
The boot time in number of seconds since 00:00 hours, Jan 1, 1970 UTC or zero if not set by the platform implementation.

◆ HasBootTimeChanged()

virtual Bool Murl::IEngineConfiguration::HasBootTimeChanged ( ChangeInspector inspector) const
pure virtual

Check if the boot time has changed.

Parameters
inspectorThe change inspector.
Returns
true if the boot time has changed.

◆ SetNowMonotonic()

virtual void Murl::IEngineConfiguration::SetNowMonotonic ( Bool  monotonic)
pure virtual

Sets the behaviour of Murl::System::GetNow.

Default is false.

Parameters
monotonictrue to force GetNow returning monotonic values

◆ IsNowMonotonic()

virtual Bool Murl::IEngineConfiguration::IsNowMonotonic ( ) const
pure virtual

Check if Murl::System::GetNow is monotonic.

Returns
true if GetNow returns monotonic time.

◆ HasNowMonotonicChanged()

virtual Bool Murl::IEngineConfiguration::HasNowMonotonicChanged ( ChangeInspector inspector) const
pure virtual

Check if GetNow behaviour has changed.

Parameters
inspectorThe change inspector.
Returns
true if GetNow behaviour has changed.

◆ SetProductName()

virtual void Murl::IEngineConfiguration::SetProductName ( const String productName)
pure virtual

Set the product name.

The product name is used to create a subfolder for IEnums::FILE_CATEGORY_CACHE, IEnums::FILE_CATEGORY_PRIVATE, and IEnums::FILE_CATEGORY_TEMPORARY except on iOS.

The OSX platform uses the product name to replace "%@" in all interface builder's menu items.

On OSX and iOS the product name is set to the kCFBundleExecutableKey identifier.
On Android the product name is set to the application android:label from the manifest.
On Win32 the product name is set to the "ProductName" from version info resource.

Parameters
productNameThe product name.

◆ GetProductName()

virtual const String& Murl::IEngineConfiguration::GetProductName ( ) const
pure virtual

Get the product name.

Returns
The product name or "MurlApp" if not set by the platform implementation.

◆ HasProductNameChanged()

virtual Bool Murl::IEngineConfiguration::HasProductNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the product name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the product name has changed.

◆ SetVersionName()

virtual void Murl::IEngineConfiguration::SetVersionName ( const String versionName)
pure virtual

Set the app version name.

On OSX and iOS the app version name is set to the kCFBundleVersionKey identifier.
On Android the app version name is set to the android:versionName from the manifest.
On Win32 the app version name is set to the "ProductVersion" from version info resource.

Parameters
versionNameThe app version name.

◆ GetVersionName()

virtual const String& Murl::IEngineConfiguration::GetVersionName ( ) const
pure virtual

Get the app version name.

Returns
The app version name or "N/A" if not set by the platform implementation.

◆ HasVersionNameChanged()

virtual Bool Murl::IEngineConfiguration::HasVersionNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the app version name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the app version name has changed.

◆ SetAudioSessionCategory()

virtual void Murl::IEngineConfiguration::SetAudioSessionCategory ( IEnums::AudioSessionCategory  sessionCategory)
pure virtual

Set the audio session category.

Setting the audio session category effects the IMusicPlayerControl only.

If IEnums::AUDIO_SESSION_CATEGORY_MIX_AMBIENT_IF_PLAYING is set, the system's audio session is set to mix ambient if another audio is playing otherwise the system's audio session is not set (default category behaviour). After IApp::Configure() the IMusicPlayerControl::GetPlaybackState() returns IMusicPlayerControl::PLAYBACK_PLAYING if another audio was playing at app start until a IMusicPlayerControl::MusicPlayer is selected.

The default audio session category is IEnums::AUDIO_SESSION_CATEGORY_DEFAULT.

Parameters
sessionCategoryThe audio session category.

◆ GetAudioSessionCategory()

virtual IEnums::AudioSessionCategory Murl::IEngineConfiguration::GetAudioSessionCategory ( ) const
pure virtual

Get the audio session category.

The IMusicPlayerControl does not change this item.

Returns
The audio session category.

◆ HasAudioSessionCategoryChanged()

virtual Bool Murl::IEngineConfiguration::HasAudioSessionCategoryChanged ( ChangeInspector inspector) const
pure virtual

Check if the audio session category has changed.

Parameters
inspectorThe change inspector.
Returns
true if the audio session category has changed.

◆ SetVideoApi()

virtual void Murl::IEngineConfiguration::SetVideoApi ( IEnums::VideoApi  videoApi)
pure virtual

Set the video api enumeration value.

Typically the platform implementaition sets this to an appropriate value, see also SetVideoRendererClassName().

The default video api is IEnums::VIDEO_API_DEFAULT.

Parameters
videoApiThe video api enumeration value.

◆ GetVideoApi()

virtual IEnums::VideoApi Murl::IEngineConfiguration::GetVideoApi ( ) const
pure virtual

Get the video api enumeration value.

Returns
The video api enumeration value.

◆ IsVideoApiMatching()

virtual Bool Murl::IEngineConfiguration::IsVideoApiMatching ( IEnums::VideoApi  videoApi) const
pure virtual

Check if the video api is matching a specified value.

Parameters
videoApiThe video api enumeration value.
Returns
true if the video api is matching the parameter value.

◆ HasVideoApiChanged()

virtual Bool Murl::IEngineConfiguration::HasVideoApiChanged ( ChangeInspector inspector) const
pure virtual

Check if the video api enumeration value has changed.

Parameters
inspectorThe change inspector.
Returns
true if the video api enumeration value has changed.

◆ SetAudioApi()

virtual void Murl::IEngineConfiguration::SetAudioApi ( IEnums::AudioApi  audioApi)
pure virtual

Set the audio api enumeration value.

Typically the platform implementaition sets this to an appropriate value, see also SetAudioRendererClassName().

The default audio api is IEnums::AUDIO_API_DEFAULT.

Parameters
audioApiThe audio api enumeration value.

◆ GetAudioApi()

virtual IEnums::AudioApi Murl::IEngineConfiguration::GetAudioApi ( ) const
pure virtual

Get the audio api enumeration value.

Returns
The audio api enumeration value.

◆ IsAudioApiMatching()

virtual Bool Murl::IEngineConfiguration::IsAudioApiMatching ( IEnums::AudioApi  audioApi) const
pure virtual

Check if the audio api is matching a specified value.

Parameters
audioApiThe audio api enumeration value.
Returns
true if the audio api is matching the parameter value.

◆ HasAudioApiChanged()

virtual Bool Murl::IEngineConfiguration::HasAudioApiChanged ( ChangeInspector inspector) const
pure virtual

Check if the audio api enumeration value has changed.

Parameters
inspectorThe change inspector.
Returns
true if the audio api enumeration value has changed.

◆ SetVideoRendererClassName()

virtual void Murl::IEngineConfiguration::SetVideoRendererClassName ( const String className)
pure virtual

Set the video renderer class name.

If the video renderer class name is empty the engine creates a renderer depending on the value set by SetVideoApi().

The default video renderer class name is empty.

Parameters
classNameThe video renderer class name.

◆ GetVideoRendererClassName()

virtual const String& Murl::IEngineConfiguration::GetVideoRendererClassName ( ) const
pure virtual

Get the video renderer class name.

Returns
The video renderer class name.

◆ HasVideoRendererClassNameChanged()

virtual Bool Murl::IEngineConfiguration::HasVideoRendererClassNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the video renderer class name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the video renderer class name has changed.

◆ SetAudioRendererClassName()

virtual void Murl::IEngineConfiguration::SetAudioRendererClassName ( const String className)
pure virtual

Set the audio renderer class name.

If the audio renderer class name is empty the engine creates a renderer depending on the value set by SetAudioApi().

The default audio renderer class name is empty.

Parameters
classNameThe audio renderer class name.

◆ GetAudioRendererClassName()

virtual const String& Murl::IEngineConfiguration::GetAudioRendererClassName ( ) const
pure virtual

Get the audio renderer class name.

Returns
The audio renderer class name.

◆ HasAudioRendererClassNameChanged()

virtual Bool Murl::IEngineConfiguration::HasAudioRendererClassNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the audio renderer class name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the audio renderer class name has changed.

◆ SetPhysicsSimulatorClassName()

virtual void Murl::IEngineConfiguration::SetPhysicsSimulatorClassName ( const String className)
pure virtual

Set the physics simulator class name.

If the physics simulator class name is empty the engine creates the built-in simulator.

The default physics simulator class name is empty.

Parameters
classNameThe physics simulator class name.

◆ GetPhysicsSimulatorClassName()

virtual const String& Murl::IEngineConfiguration::GetPhysicsSimulatorClassName ( ) const
pure virtual

Get the physics simulator class name.

Returns
The physics simulator class name.

◆ HasPhysicsSimulatorClassNameChanged()

virtual Bool Murl::IEngineConfiguration::HasPhysicsSimulatorClassNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the physics simulator class name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the physics simulator class name has changed.

◆ SetResourceCollectionClassName()

virtual void Murl::IEngineConfiguration::SetResourceCollectionClassName ( const String className)
pure virtual

Set the resource collection class name.

If the resource collection class name is empty the engine creates the built-in collection.

The default resource collection class name is empty.

Parameters
classNameThe resource collection class name.

◆ GetResourceCollectionClassName()

virtual const String& Murl::IEngineConfiguration::GetResourceCollectionClassName ( ) const
pure virtual

Get the resource collection class name.

Returns
The resource collection class name.

◆ HasResourceCollectionClassNameChanged()

virtual Bool Murl::IEngineConfiguration::HasResourceCollectionClassNameChanged ( ChangeInspector inspector) const
pure virtual

Check if the resource collection class name has changed.

Parameters
inspectorThe change inspector.
Returns
true if the resource collection class name has changed.

◆ SetPreferredResourcePackageType()

virtual void Murl::IEngineConfiguration::SetPreferredResourcePackageType ( IEnums::PackageType  type)
pure virtual

Set the preferred resource package type.

When a package is added to the loader in the App::Init() method without explicitly specifying a file suffix (.murlres/.murlpkg), the resource system loads the first appropriate package found in the folder specified by SetResourceFileCategory(); usually, this will be a .murlpkg file if present. During development it may be convenient to directly work from .murlres packages, so one does not need to run the resource packer tool every time the application is started. For this reason, this method can be used to manually specify a different preferred package type. By default, release builds on all platforms use the IEnums::PACKAGE_TYPE_NATIVE type, and IEnums::PACKAGE_TYPE_XML is used for debug builds on all available platforms except Android (where only native packages are supported). If a file suffix is specified, this setting has no effect.

Parameters
typeThe preferred resource package type.

◆ GetPreferredResourcePackageType()

virtual IEnums::PackageType Murl::IEngineConfiguration::GetPreferredResourcePackageType ( ) const
pure virtual

Get the preferred resource package type.

Returns
The package type

◆ HasPreferredResourcePackageTypeChanged()

virtual Bool Murl::IEngineConfiguration::HasPreferredResourcePackageTypeChanged ( ChangeInspector inspector) const
pure virtual

Check if the preferred resource package type has changed.

Parameters
inspectorThe change inspector.
Returns
true if changed.

◆ SetResourceFileCategory()

virtual void Murl::IEngineConfiguration::SetResourceFileCategory ( IEnums::FileCategory  category)
pure virtual

Set the resource file category.

The category specifies the working directory of the package loader. On desktop platforms the category is set to Murl::IEnums::FILE_CATEGORY_CURRENT in debug build, which allows easier development.

The default resource file category is IEnums::FILE_CATEGORY_RESOURCE.

Parameters
categoryThe resource file category.

◆ GetResourceFileCategory()

virtual IEnums::FileCategory Murl::IEngineConfiguration::GetResourceFileCategory ( ) const
pure virtual

Get the resource file category.

Returns
The resource file category.

◆ HasResourceFileCategoryChanged()

virtual Bool Murl::IEngineConfiguration::HasResourceFileCategoryChanged ( ChangeInspector inspector) const
pure virtual

Check if the resource file category has changed.

Parameters
inspectorThe change inspector.
Returns
true if the resource file category has changed.

◆ SetDeactivatedAppRunState()

virtual void Murl::IEngineConfiguration::SetDeactivatedAppRunState ( IEnums::AppRunState  appRunState)
pure virtual

Set the deactivated application run state.

Depending on this setting the platform implementation decides how to set the IAppConfiguration::SetAppRunState() if the application is activated or deactivated.

The application is deactivated:

  • If the application is sent to background on mobile platforms.
  • If the application's window looses it's focus on desktop platforms.

The default deactivated application run state is IEnums::APP_RUN_STATE_DEFAULT which performs no action.

Parameters
appRunStateThe deactivated application run state.

◆ GetDeactivatedAppRunState()

virtual IEnums::AppRunState Murl::IEngineConfiguration::GetDeactivatedAppRunState ( ) const
pure virtual

Get the deactivated application run state.

Returns
The deactivated application run state.

◆ HasDeactivatedAppRunStateChanged()

virtual Bool Murl::IEngineConfiguration::HasDeactivatedAppRunStateChanged ( ChangeInspector inspector) const
pure virtual

Check if the deactivated application run state has changed.

Parameters
inspectorThe change inspector.
Returns
true if the deactivated application run state has changed.

◆ SetSuspendUnloadsResources()

virtual void Murl::IEngineConfiguration::SetSuspendUnloadsResources ( Bool  unload)
pure virtual

Set the suspend unloads resources flag.

If the suspend unloads resources flag is true the engine unloads all resource types specified by SetSuspendableResources() if the IAppConfiguration::SetAppRunState() is set to IEnums::APP_RUN_STATE_SUSPENDED.

The default suspend unloads resources flag is false.

Parameters
unloadThe suspend unloads resources flag.

◆ GetSuspendUnloadsResources()

virtual Bool Murl::IEngineConfiguration::GetSuspendUnloadsResources ( ) const
pure virtual

Get the suspend unloads resources flag.

Returns
The suspend unloads resources flag.

◆ HasSuspendUnloadsResourcesChanged()

virtual Bool Murl::IEngineConfiguration::HasSuspendUnloadsResourcesChanged ( ChangeInspector inspector) const
pure virtual

Check if the suspend unloads resources flag has changed.

Parameters
inspectorThe change inspector.
Returns
true if the suspend unloads resources flag has changed.

◆ SetSuspendableResources()

virtual void Murl::IEngineConfiguration::SetSuspendableResources ( IEnums::SuspendableResources  suspendableResources)
pure virtual

Set the suspendable resources type.

See also SetSuspendUnloadsResources().

The default suspendable resources value is IEnums::SUSPENDABLE_RESOURCE_ALL.

Parameters
suspendableResourcesThe suspendable resources type.

◆ GetSuspendableResources()

virtual IEnums::SuspendableResources Murl::IEngineConfiguration::GetSuspendableResources ( ) const
pure virtual

Get the suspendable resources type.

Returns
The suspendable resources type.

◆ HasSuspendableResourcesChanged()

virtual Bool Murl::IEngineConfiguration::HasSuspendableResourcesChanged ( ChangeInspector inspector) const
pure virtual

Check if the suspendable resources type has changed.

Parameters
inspectorThe change inspector.
Returns
true if the suspendable resources type has changed.

◆ SetUnitSize()

virtual void Murl::IEngineConfiguration::SetUnitSize ( Real  sizeX,
Real  sizeY 
)
pure virtual

Set the global unit size factor.

The global unit size factor is multiplied to the camera's unit size.

The default global unit size factor is 1.0.

Parameters
sizeXThe horizontal unit size factor.
sizeYThe vertical unit size factor.

◆ GetUnitSizeX()

virtual Real Murl::IEngineConfiguration::GetUnitSizeX ( ) const
pure virtual

Get the horizontal unit size factor.

Returns
The horizontal unit size factor.

◆ GetUnitSizeY()

virtual Real Murl::IEngineConfiguration::GetUnitSizeY ( ) const
pure virtual

Get the vertical unit size factor.

Returns
The vertical unit size factor.

◆ HasUnitSizeChanged()

virtual Bool Murl::IEngineConfiguration::HasUnitSizeChanged ( ChangeInspector inspector) const
pure virtual

Check if the global unit size factor has changed.

Parameters
inspectorThe change inspector.
Returns
true if the global unit size factor has changed.

◆ SetPixelCenter()

virtual void Murl::IEngineConfiguration::SetPixelCenter ( Real  centerX,
Real  centerY 
)
pure virtual

Set the pixel center position.

The pixel center position is used by the camera, the range is [0 .. 1]. The pixel center is typically determined by the platform implementation depending on the graphic driver's properties.

The default pixel center position is 0 / 0.

Parameters
centerXThe horizontal pixel center position.
centerYThe vertical pixel center position.

◆ GetPixelCenterX()

virtual Real Murl::IEngineConfiguration::GetPixelCenterX ( ) const
pure virtual

Get the horizontal pixel center position.

Returns
The horizontal pixel center position.

◆ GetPixelCenterY()

virtual Real Murl::IEngineConfiguration::GetPixelCenterY ( ) const
pure virtual

Get the vertical pixel center position.

Returns
The vertical pixel center position.

◆ HasPixelCenterChanged()

virtual Bool Murl::IEngineConfiguration::HasPixelCenterChanged ( ChangeInspector inspector) const
pure virtual

Check if the global pixel center position has changed.

Parameters
inspectorThe change inspector.
Returns
true if the global pixel center position has changed.

◆ SetThreadAffinity()

virtual void Murl::IEngineConfiguration::SetThreadAffinity ( IEnums::EngineThread  thread,
IEnums::CpuAffinityPolicy  policy,
UInt32  mask 
)
pure virtual

Set the thread affinity mask and application policy for one of the present engine threads.

This method only has effect if there is more than one CPU core present on the device and the platform implementation supports controlling CPU affinity. The mask parameter is ignored if policy is set to NEVER. By default, CPU affinity application policy is set to CONTINUOUS for both the rendering thread (core #1, mask 0x00000001) and the loader thread (core #3, mask 0x00000004), and to NEVER for the logic thread. See SetThreadAffinityMask()

Parameters
threadThe engine thread for which to set the CPU affinity mask.
policyThe CPU affinity mask application policy.
maskThe CPU affinity mask.

◆ GetThreadAffinityPolicy()

virtual IEnums::CpuAffinityPolicy Murl::IEngineConfiguration::GetThreadAffinityPolicy ( IEnums::EngineThread  thread) const
pure virtual

Get the thread affinity mask application policy for one of the present engine threads.

Parameters
threadThe engine thread for which to get the CPU affinity mask.
Returns
The CPU affinity mask application policy.

◆ GetThreadAffinityMask()

virtual UInt32 Murl::IEngineConfiguration::GetThreadAffinityMask ( IEnums::EngineThread  thread) const
pure virtual

Get the thread affinity mask for one of the present engine threads.

Parameters
threadThe engine thread for which to get the CPU affinity mask.
Returns
mask The CPU affinity mask.

◆ HasThreadAffinityChanged()

virtual Bool Murl::IEngineConfiguration::HasThreadAffinityChanged ( IEnums::EngineThread  thread,
ChangeInspector inspector 
) const
pure virtual

Check if the thread affinity mask or application policy has changed for one of the present engine threads.

Parameters
threadThe engine thread for which to check.
inspectorThe change inspector.
Returns
true if changed.

◆ SetSyncLoadingTimeout()

virtual void Murl::IEngineConfiguration::SetSyncLoadingTimeout ( Double  timeout)
pure virtual

Set the synchronous resource initialization timeout.

Is used only if SetAsyncLoadingEnabled() is set to false. The timeout specifies the maximum time to use for initializing multiple graphic objects before the next frame is rendered. At least one object is initialized each frame which can take more time than the timeout depending on the complexity of the object.

The default timeout is 0.005 seconds.

Parameters
timeoutThe loading timeout in seconds.

◆ GetSyncLoadingTimeout()

virtual Double Murl::IEngineConfiguration::GetSyncLoadingTimeout ( ) const
pure virtual

Get the synchronous resource initialization timeout.

Returns
The synchronous resource initialization timeout.

◆ HasSyncLoadingTimeoutChanged()

virtual Bool Murl::IEngineConfiguration::HasSyncLoadingTimeoutChanged ( ChangeInspector inspector) const
pure virtual

Check if the synchronous resource initialization timeout has changed.

Parameters
inspectorThe change inspector.
Returns
true if the synchronous resource initialization timeout has changed.

◆ SetAsyncLoadingEnabled()

virtual void Murl::IEngineConfiguration::SetAsyncLoadingEnabled ( Bool  enabled)
pure virtual

Enable asynchronous resource initialization after loading.

Setup how to initialize loaded graphic objects:

  • If true the initialization is performed asynchronous in the loader thread context (in parallel to the rendering).
  • If false the initialization is performed synchronous in the render thread context, which blocks rendering for a specified time set up by SetSyncLoadingTimeout().
  • Framebuffer objects are always initialized in the render thread context.

This feature is typically determined by the platform implementation depending on the graphic driver's capabilities.

The default value is true.

Parameters
enabledtrue to enable.

◆ IsAsyncLoadingEnabled()

virtual Bool Murl::IEngineConfiguration::IsAsyncLoadingEnabled ( ) const
pure virtual

Check if the asynchronous loading is enabled.

Returns
true if the asynchronous loading is enabled.

◆ HasAsyncLoadingEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasAsyncLoadingEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if the asynchronous loading setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the asynchronous loading setting has changed.

◆ SetSyncToVBlankEnabled()

virtual void Murl::IEngineConfiguration::SetSyncToVBlankEnabled ( Bool  enabled)
pure virtual

Enable synchronous vertical blank page flipping.

The platform implementation is using this setting to enable vertical blank page flipping depending on the graphic driver capabilities.

The default value is true.

Parameters
enabledtrue to enable.

◆ IsSyncToVBlankEnabled()

virtual Bool Murl::IEngineConfiguration::IsSyncToVBlankEnabled ( ) const
pure virtual

Check if the synchronous vertical blank page flipping is enabled.

Returns
true if the synchronous vertical blank page flipping is enabled.

◆ HasSyncToVBlankEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasSyncToVBlankEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if the synchronous vertical blank page flipping setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the synchronous vertical blank page flipping setting has changed.

◆ SetHighResolutionDisplayEnabled()

virtual void Murl::IEngineConfiguration::SetHighResolutionDisplayEnabled ( Bool  enabled)
pure virtual

Enable native rendering on a high resolution (retina) display if available.

If enabled, the output window will use the native resolution of the screen it is shown in. If disabled, the output window's contents are upscaled by the respective screen's scale factor. Currently, this is only supported on OSX.

The default value is false.

Parameters
enabledtrue to enable.

◆ IsHighResolutionDisplayEnabled()

virtual Bool Murl::IEngineConfiguration::IsHighResolutionDisplayEnabled ( ) const
pure virtual

Check if high resolution rendering is enabled.

Returns
true if enabled.

◆ HasHighResolutionDisplayEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasHighResolutionDisplayEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if high resolution rendering setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if changed.

◆ SetVideoApiChecksEnabled()

virtual void Murl::IEngineConfiguration::SetVideoApiChecksEnabled ( Bool  enabled)
pure virtual

Enable checks to video api calls.

Api checks are used for development purposes and are available in debug build only.

The default value is false.

Parameters
enabledtrue to enable.

◆ AreVideoApiChecksEnabled()

virtual Bool Murl::IEngineConfiguration::AreVideoApiChecksEnabled ( ) const
pure virtual

Check if the video api check feature is enabled.

Returns
true if the video api check feature is enabled.

◆ HasVideoApiChecksEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasVideoApiChecksEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if the video api check setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the video api check setting has changed.

◆ SetAudioApiChecksEnabled()

virtual void Murl::IEngineConfiguration::SetAudioApiChecksEnabled ( Bool  enabled)
pure virtual

Enable checks to audio api calls.

Api checks are used for development purposes and are available in debug build only.

The default value is false.

Parameters
enabledtrue to enable.

◆ AreAudioApiChecksEnabled()

virtual Bool Murl::IEngineConfiguration::AreAudioApiChecksEnabled ( ) const
pure virtual

Check if the audio api check feature is enabled.

Returns
true if the audio api check feature is enabled.

◆ HasAudioApiChecksEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasAudioApiChecksEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if the audio api check setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the audio api check setting has changed.

◆ SetExtendedObjectStatisticsEnabled()

virtual void Murl::IEngineConfiguration::SetExtendedObjectStatisticsEnabled ( Bool  enabled)
pure virtual

Enable extended object statistics.

If enabled, submodules (video renderer, audio renderer etc.) keep track of all allocated objects.

The default value is false.

Parameters
enabledtrue to enable.

◆ AreExtendedObjectStatisticsEnabled()

virtual Bool Murl::IEngineConfiguration::AreExtendedObjectStatisticsEnabled ( ) const
pure virtual

Check if extended object statistics are enabled.

Returns
true if enabled.

◆ HasExtendedObjectStatisticsEnabledChanged()

virtual Bool Murl::IEngineConfiguration::HasExtendedObjectStatisticsEnabledChanged ( ChangeInspector inspector) const
pure virtual

Check if the extended object statistics setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if changed.

◆ SetNumberOfAntialiasSamples()

virtual void Murl::IEngineConfiguration::SetNumberOfAntialiasSamples ( UInt32  numSamples)
pure virtual

Set the number of antialiasing samples.

The platform implementation is using this setting depending on the graphic driver capabilities.

The default value is 1.

Parameters
numSamplesThe number of antialiasing samples.

◆ GetNumberOfAntialiasSamples()

virtual UInt32 Murl::IEngineConfiguration::GetNumberOfAntialiasSamples ( ) const
pure virtual

Get the number of antialiasing samples.

Returns
The number of antialiasing samples.

◆ HasNumberOfAntialiasSamplesChanged()

virtual Bool Murl::IEngineConfiguration::HasNumberOfAntialiasSamplesChanged ( ChangeInspector inspector) const
pure virtual

Check if the number of antialiasing samples has changed.

Parameters
inspectorThe change inspector.
Returns
true if the number of antialiasing samples has changed.

◆ SetDefaultMaxTextureAnisotropy()

virtual void Murl::IEngineConfiguration::SetDefaultMaxTextureAnisotropy ( Real  maxAnisotropy)
pure virtual

Set the default maximum texture anisotropy for filtering.

This value specifies the preferred maximum anisotropy used for texture filtering if not specified for a given texture. The actual value is clamped to hardware-specific limits. Higher values produce better visual results, but may result in degraded rendering performance. The default value is 1.0, i.e. isotropic filtering (fastest). The maximum anisotropy value supported by the hardware is typically around 16.0.

Parameters
maxAnisotropyThe default maximum texture filtering anisotropy.

◆ GetDefaultMaxTextureAnisotropy()

virtual Real Murl::IEngineConfiguration::GetDefaultMaxTextureAnisotropy ( ) const
pure virtual

Get the default maximum texture anisotropy for filtering.

Returns
The default maximum texture filtering anisotropy.

◆ HasDefaultMaxTextureAnisotropyChanged()

virtual Bool Murl::IEngineConfiguration::HasDefaultMaxTextureAnisotropyChanged ( ChangeInspector inspector) const
pure virtual

Check if the default maximum texture anisotropy has changed.

Parameters
inspectorThe change inspector.
Returns
true if the default maximum texture anisotropy has changed.

◆ SetTexturePrescaleDivisor()

virtual void Murl::IEngineConfiguration::SetTexturePrescaleDivisor ( UInt32  divisor)
pure virtual

Set the texture prescale divisor.

The texture prescale divisor is used to shrink textures before loading to the graphics memory. This allows reducing of memory usage on small equipped platforms.

The default texture prescale divisor is 1.

Parameters
divisorThe texture prescale divisor.

◆ GetTexturePrescaleDivisor()

virtual UInt32 Murl::IEngineConfiguration::GetTexturePrescaleDivisor ( ) const
pure virtual

Get the texture prescale divisor.

Returns
The texture prescale divisor.

◆ IsTexturePrescaleDivisorMatching()

virtual Bool Murl::IEngineConfiguration::IsTexturePrescaleDivisorMatching ( UInt32  divisor) const
pure virtual

Check if the texture prescale divisor matching a specified value.

Parameters
divisorThe divisor value to check.
Returns
true if the texture prescale divisor is matching the parameter value.

◆ HasTexturePrescaleDivisorChanged()

virtual Bool Murl::IEngineConfiguration::HasTexturePrescaleDivisorChanged ( ChangeInspector inspector) const
pure virtual

Check if the texture prescale divisor has changed.

Parameters
inspectorThe change inspector.
Returns
true if the texture prescale divisor has changed.

◆ SetExactLogicTickDuration()

virtual void Murl::IEngineConfiguration::SetExactLogicTickDuration ( Double  dt)
pure virtual

Set the exact logic tick duration.

Set the duration bounds to the same value, see SetBoundsForLogicTickDuration().

Parameters
dtThe exact logic tick duration in seconds.

◆ SetBoundsForLogicTickDuration()

virtual void Murl::IEngineConfiguration::SetBoundsForLogicTickDuration ( Double  dtMin,
Double  dtMax 
)
pure virtual

Set the logic tick duration bounds.

The logic tick duration allows exact tick cycles for e.g. physics simulation.

If the bounds have the same value, the SetBoundsForLogicTicksPerFrame() should be set to an appropriate range.

The default value is (0, 1).

Parameters
dtMinThe minimum logic tick duration in seconds.
dtMaxThe maximum logic tick duration in seconds.

◆ GetMinimumLogicTickDuration()

virtual Double Murl::IEngineConfiguration::GetMinimumLogicTickDuration ( ) const
pure virtual

Get minimum logic tick duration in seconds.

Returns
The minimum logic tick duration in seconds.

◆ GetMaximumLogicTickDuration()

virtual Double Murl::IEngineConfiguration::GetMaximumLogicTickDuration ( ) const
pure virtual

Get maximum logic tick duration in seconds.

Returns
The maximum logic tick duration in seconds.

◆ HasLogicTickDurationChanged()

virtual Bool Murl::IEngineConfiguration::HasLogicTickDurationChanged ( ChangeInspector inspector) const
pure virtual

Check if the logic tick duration setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the logic tick duration setting has changed.

◆ SetExactLogicTicksPerFrame()

virtual void Murl::IEngineConfiguration::SetExactLogicTicksPerFrame ( UInt32  numTicks)
pure virtual

Set the exact number of logic ticks per frame.

Set the per frame bounds to the same value, see SetBoundsForLogicTicksPerFrame().

Parameters
numTicksThe exact number of logic ticks per frame.

◆ SetBoundsForLogicTicksPerFrame()

virtual void Murl::IEngineConfiguration::SetBoundsForLogicTicksPerFrame ( UInt32  numTicksMin,
UInt32  numTicksMax 
)
pure virtual

Set the number of logic ticks per frame bounds.

If the bounds have the same value, the SetBoundsForLogicTickDuration() should be set to an appropriate range.

The default value is (1, 1).

Parameters
numTicksMinThe minimum number of logic logic ticks per frame.
numTicksMaxThe maximum number of logic logic ticks per frame.

◆ GetMinimumLogicTicksPerFrame()

virtual UInt32 Murl::IEngineConfiguration::GetMinimumLogicTicksPerFrame ( ) const
pure virtual

Get minimum number of logic logic ticks per frame.

Returns
The minimum number of logic logic ticks per frame.

◆ GetMaximumLogicTicksPerFrame()

virtual UInt32 Murl::IEngineConfiguration::GetMaximumLogicTicksPerFrame ( ) const
pure virtual

Get maximum number of logic logic ticks per frame.

Returns
The maximum number of logic logic ticks per frame.

◆ HasLogicTicksPerFrameChanged()

virtual Bool Murl::IEngineConfiguration::HasLogicTicksPerFrameChanged ( ChangeInspector inspector) const
pure virtual

Check if the number of logic logic ticks per frame setting has changed.

Parameters
inspectorThe change inspector.
Returns
true if the number of logic logic ticks per frame has changed.

◆ AddSystemFont()

virtual void Murl::IEngineConfiguration::AddSystemFont ( const String fontId,
const String fontName,
Real  weight,
Real  sizeFactor,
Real  ascent,
Real  descent,
Real  leading 
)
pure virtual

Add a user-defined system font.

This method can be used to define additional platform-specific system fonts used in conjunction with a Graph::IFlatTextTexture. If user-defined system fonts are required, this method must be called with different values for the "fontName" parameter depending on the platform. In addition, some platforms accept a "Bold" identifier as part of the font name, e.g. "Helvetica-Bold" on iOS and OSX. In this case, the weight parameter is ignored. On other platforms, it is required to specify the boldness of the font via the "weight" parameter (usually 400 for regular thickness and 800 for bold fonts), and only specify the font name without style.

Parameters
fontIdThe unique font ID within the Murl Engine.
fontNameThe font name, as expected by the operating system.
weightThe font weight (default 400), if supported by the operating system.
sizeFactorThe scale factor to apply (default 1.0).
ascentThe font ascent, i.e. height above the base line. Ascent and descent should sum up to 1.0.
descentThe font descent.
leadingThe font leading, i.e. additional space between consecutive text lines.

◆ GetNumberOfSystemFonts()

virtual UInt32 Murl::IEngineConfiguration::GetNumberOfSystemFonts ( ) const
pure virtual

Get the number of user-defined system fonts.

Returns
The number of system fonts defined by the user.

◆ GetSystemFontId()

virtual const String& Murl::IEngineConfiguration::GetSystemFontId ( UInt32  index) const
pure virtual

Get the internal ID of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font ID.

◆ GetSystemFontName()

virtual const String& Murl::IEngineConfiguration::GetSystemFontName ( UInt32  index) const
pure virtual

Get the OS-specific name of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font name.

◆ GetSystemFontWeight()

virtual Real Murl::IEngineConfiguration::GetSystemFontWeight ( UInt32  index) const
pure virtual

Get the weight of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font weight.

◆ GetSystemFontSizeFactor()

virtual Real Murl::IEngineConfiguration::GetSystemFontSizeFactor ( UInt32  index) const
pure virtual

Get the size factor of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The size factor.

◆ GetSystemFontAscent()

virtual Real Murl::IEngineConfiguration::GetSystemFontAscent ( UInt32  index) const
pure virtual

Get the ascent of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font ascent.

◆ GetSystemFontDescent()

virtual Real Murl::IEngineConfiguration::GetSystemFontDescent ( UInt32  index) const
pure virtual

Get the descent of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font descent.

◆ GetSystemFontLeading()

virtual Real Murl::IEngineConfiguration::GetSystemFontLeading ( UInt32  index) const
pure virtual

Get the leading value of the user-defined system font at a given index.

Parameters
indexThe index of the font, in the range from 0 to GetNumberOfSystemFonts()-1.
Returns
The font leading value.

◆ SetVirtualMouseEnable()

virtual void Murl::IEngineConfiguration::SetVirtualMouseEnable ( Bool  isEnabled)
pure virtual

Enable the virtual mouse device.

A virtual mouse is available on AppleTV Siri Remote device. The default value is true on AppleTV, otherwise false.

Parameters
isEnabledThe enabled state.
Returns
true if successful.

◆ IsVirtualMouseEnabled()

virtual Bool Murl::IEngineConfiguration::IsVirtualMouseEnabled ( ) const
pure virtual

Check if the virtual mouse device is enabled.

Returns
true if the virtual mouse device is enabled.

◆ SetVirtualRawMouseEnable()

virtual void Murl::IEngineConfiguration::SetVirtualRawMouseEnable ( Bool  isEnabled)
pure virtual

Enable the virtual raw-mouse device.

A virtual raw-mouse is available on AppleTV Siri Remote device. The default value is true on AppleTV, otherwise false.

Parameters
isEnabledThe enabled state.
Returns
true if successful.

◆ IsVirtualRawMouseEnabled()

virtual Bool Murl::IEngineConfiguration::IsVirtualRawMouseEnabled ( ) const
pure virtual

Check if the virtual raw-mouse device is enabled.

Returns
true if the virtual raw-mouse device is enabled.

◆ SetCloudControlEnable()

virtual void Murl::IEngineConfiguration::SetCloudControlEnable ( Bool  isEnabled)
pure virtual

Enable the cloud control.

The cloud control is available on iOS/OSX/tvOS. The default value is false, if enabled an iCloud entitlement must be setup for the application,

See also
CloudKit Framework Reference.
Parameters
isEnabledThe enabled state.
Returns
true if successful.

◆ IsCloudControlEnabled()

virtual Bool Murl::IEngineConfiguration::IsCloudControlEnabled ( ) const
pure virtual

Check if the cloud control is enabled.

Returns
true if the cloud control is enabled.

◆ SetGpuBufferSafetyCopiesEnabled()

virtual void Murl::IEngineConfiguration::SetGpuBufferSafetyCopiesEnabled ( Bool  isEnabled)
pure virtual

Enable/disable safety GPU buffer copies.

If enabled, all Resource::NativeMesh objects will create safety copies of all the vertex and index buffers present in a given data stream instead of directly using the data in that stream. This is for debugging purposes, as there are suspicions that certain GPU drivers crash when directly using vertex or index data from a memory-mapped pointer.

Parameters
isEnabledThe enabled state.

◆ AreGpuBufferSafetyCopiesEnabled()

virtual Bool Murl::IEngineConfiguration::AreGpuBufferSafetyCopiesEnabled ( ) const
pure virtual

Check if safety GPU buffer copies are enabled.

Returns
true if enabled.

◆ SetGraphObjectResultAction()

virtual Bool Murl::IEngineConfiguration::SetGraphObjectResultAction ( IEnums::ResultCode  code,
IEnums::ResultAction  action 
)
pure virtual

Define the action to perform on a specific graph node/controller parsing result.

This method allows to define the action to perform when a specific result occurred during scene graph object (node or controller) parsing. If the default action for the given code cannot be changed, this method returns false. Actions can be defined for the following codes (with defaults after colon): IEnums::RESULT_CODE_ATTRIBUTE_NUMBER_CONVERSION_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_ATTRIBUTE_ENUM_CONVERSION_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_ATTRIBUTE_UNKNOWN_ERROR : IEnums::RESULT_ACTION_WARN IEnums::RESULT_CODE_GRAPH_NODE_NOT_FOUND_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_GRAPH_NODE_WRONG_INTERFACE_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_RESOURCE_OBJECT_NOT_FOUND_ERROR : IEnums::RESULT_ACTION_ABORT IEnums::RESULT_CODE_RESOURCE_OBJECT_WRONG_INTERFACE_ERROR : IEnums::RESULT_ACTION_ABORT

Parameters
codeThe result code for which to define the action.
actionThe action to perform.
Returns
true if successful.

◆ GetGraphObjectResultAction()

virtual IEnums::ResultAction Murl::IEngineConfiguration::GetGraphObjectResultAction ( IEnums::ResultCode  code) const
pure virtual

Get the action to perform on a specific graph node/controller parsing result.

If the default action for the given code cannot be changed, IEnums::RESULT_ACTION_UNDEFINED is returned.

Parameters
codeThe result code for which to query the action.
Returns
The action to perform.

The documentation for this interface was generated from the following file:
  • murl_i_engine_configuration.h


Copyright © 2011-2024 Spraylight GmbH.