116 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| /*==============================================================================
 | |
| 
 | |
|   file:     imrPreferences.h
 | |
| 
 | |
|   author:   Daniel Levesque
 | |
| 
 | |
|   created:  26aug2002
 | |
| 
 | |
|   description:
 | |
| 
 | |
|     Interface for accessing the mental ray preferences.
 | |
| 
 | |
|     PERFORMANCE NOTICE: 
 | |
|         Most the the methods of the preferences interface directly access a .ini
 | |
|         file to get/set the preference values. It is therefore important to
 | |
|         minimize calls to this interface in performance critical code.
 | |
| 
 | |
|   modified:	
 | |
| 
 | |
| 
 | |
| © 2002 Autodesk
 | |
| ==============================================================================*/
 | |
| #ifndef _IMRPREFERENCES_H_
 | |
| #define _IMRPREFERENCES_H_
 | |
| 
 | |
| #include <Windows.h>
 | |
| #include <max.h>
 | |
| #include <ifnpub.h>
 | |
| 
 | |
| #define IMRPREFERENCES_INTERFACEID Interface_ID(0x594511cc, 0x15505bac)
 | |
| 
 | |
| //==============================================================================
 | |
| // class imrPreferences
 | |
| //
 | |
| // This interface provides access to the mental ray preferences.
 | |
| //==============================================================================
 | |
| class imrPreferences : public FPStaticInterface {
 | |
| 
 | |
| public:
 | |
| 
 | |
|     // Mode used for clearing the VFB before rendering
 | |
|     enum VFBClearMode {
 | |
|         kVFBClear_None,             // Do not clear the VFB
 | |
|         kVFBClear_OneLineOnTwo,     // Clear every other line (1 line on 2)
 | |
|         kVFBClear_All,              // Clear the entire VFB
 | |
|     };
 | |
| 
 | |
|     // Register/unregister preference change callbacks
 | |
|     typedef void(*mrPreferencesCallback)(void* param);
 | |
|     virtual void RegisterChangeCallback(mrPreferencesCallback callback, void* param) = 0;
 | |
|     virtual void UnRegisterChangeCallback(mrPreferencesCallback callback, void* param) = 0;
 | |
| 
 | |
|     // Are the mental ray extensions ON/OFF?
 | |
|     virtual bool GetMRExtensionsActive() const = 0;
 | |
|     virtual void SetMRExtensionsActive(bool active) = 0;
 | |
| 
 | |
|     // Is mental ray the default production renderer?
 | |
|     virtual bool GetMRDefaultProductionRenderer() const = 0;
 | |
|     virtual void SetMRDefaultProductionRenderer(bool val) = 0;
 | |
| 
 | |
|     ////////////////////////////////////////////////////////////////////////////
 | |
|     // Message dialog verbosity & options, log file
 | |
|     //
 | |
| 
 | |
|     virtual bool GetMsgDlgOpenOnError() const = 0;
 | |
|     virtual void SetMsgDlgOpenOnError(bool val) = 0;
 | |
| 
 | |
|     virtual bool GetMsgVerbosity_Info() const = 0;
 | |
|     virtual void SetMsgVerbosity_Info(bool val) = 0;
 | |
|     virtual bool GetMsgVerbosity_Progress() const = 0;
 | |
|     virtual void SetMsgVerbosity_Progress(bool val) = 0;
 | |
|     virtual bool GetMsgVerbosity_Debug() const = 0;
 | |
|     virtual void SetMsgVerbosity_Debug(bool val) = 0;
 | |
| 
 | |
|     // Opens the message dialog
 | |
|     virtual void OpenMessageDialog() const = 0;
 | |
| 
 | |
|     // log file name
 | |
|     virtual const TCHAR* GetLogFileName() const = 0;
 | |
|     virtual void SetLogFileName(const TCHAR* filename) = 0;
 | |
|     // log file ON
 | |
|     virtual bool GetLogFileON() const = 0;
 | |
|     virtual void SetLogFileON(bool on) = 0;
 | |
|     // log file Append
 | |
|     virtual bool GetLogFileAppend() const = 0;
 | |
|     virtual void SetLogFileAppend(bool on) = 0;
 | |
| 
 | |
|     //
 | |
|     // Message dialog verbosity & options
 | |
|     ////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
|     ////////////////////////////////////////////////////////////////////////////
 | |
|     // Rendering Options
 | |
|     //
 | |
| 
 | |
|     // Show brackets around the bucket(s) currently being rendered
 | |
|     virtual bool GetShowRenderBrackets() const = 0;
 | |
|     virtual void SetShowRenderBrackets(bool on) = 0;
 | |
| 
 | |
|     // Get the mode used for clearing the VFB (virtual frame buffer) before render
 | |
|     virtual VFBClearMode GetVFBClearMode() const = 0;
 | |
|     virtual void SetVFBClearMode(VFBClearMode mode) = 0;
 | |
| 
 | |
|     //
 | |
|     // Rendering Options
 | |
|     ////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| };
 | |
| 
 | |
| // Retrieve a pointer to the preferences interface
 | |
| inline imrPreferences* GetMRPreferences() {
 | |
| 
 | |
|     return static_cast<imrPreferences*>(GetCOREInterface(IMRPREFERENCES_INTERFACEID));
 | |
| }
 | |
| 
 | |
| #endif | 
