IRadiosityPreferences.h

Go to the documentation of this file.
00001 /*==============================================================================
00002 
00003   file:         IRadiosityPreferences.h
00004 
00005   author:       Daniel Levesque
00006   
00007   created:      7 September 2001
00008   
00009   description:
00010         
00011         Interface for accessing radiosity preferences.
00012 
00013 
00014   modified:     September 14, 2001 David Cunningham
00015                         - added use/compute radiosity file setting access
00016 
00017                 September 17, 2001 Daniel Levesque
00018                         - addition of Get/Set 'Save Geometry' methods
00019 
00020                 May 20, 2003 Alexandre Cossette
00021                         - addition of Get/Set 'Update Data When Required on Start'
00022 
00023                 June 9, 2003 Alexandre Cossette
00024                         - removed 'Display Warning on GI Props Change'
00025 
00026 
00027 (c) 2001 Autodesk
00028 ==============================================================================*/
00029 
00030 #pragma once
00031 
00032 #include "ifnpub.h"
00033 
00034 #define IRADIOSITYPREFERENCES_INTERFACE Interface_ID(0x54442e40, 0x401621a4)
00035 
00036 //==============================================================================
00037 // class IRadiosityPreferences
00038 //
00039 // This class defines the interface for accessing the Radiosity Preferences
00040 // from the 'Radiosity' tab in the preferences dialog.
00041 //
00042 // It also provides access to the use/compute radiosity controls found in the
00043 // Rendering dialog.
00044 //
00045 // To get the a pointer to the interface, call:
00046 //     static_cast<IRadiosityPreferences*>(GetCOREInterface(IRADIOSITYPREFERENCES_INTERFACE))
00047 //
00048 //==============================================================================
00063 class IRadiosityPreferences : public FPStaticInterface {
00064 
00065 public:
00066 
00067     // Global user settings that are stored in a .ini file
00068 
00069     // Automatically process refine steps stored in objects
00073     virtual BOOL GetAutoProcessObjectRefine() const = 0;
00081     virtual void SetAutoProcessObjectRefine(BOOL val) = 0;
00082     //Display reflectance/transmittance information in the material editor
00087     virtual BOOL GetDisplayReflectanceInMEditor() const = 0;
00096     virtual void SetDisplayReflectanceInMEditor(BOOL val) = 0;
00097     // Display radiosity in the viewport
00101     virtual BOOL GetDisplayInViewport() const = 0;
00109     virtual void SetDisplayInViewport(BOOL val) = 0;
00110     // Display warning on reset
00114     virtual BOOL GetDisplayResetWarning() const = 0;
00122     virtual void SetDisplayResetWarning(BOOL val) = 0;
00123     // Automatically update solution data when required
00124     virtual BOOL GetUpdateDataWhenRequiredOnStart() const = 0;
00125     virtual void SetUpdateDataWhenRequiredOnStart(BOOL val) = 0;
00126     // Save the geometry along with the solution in the .max file, for faster load times.
00130     virtual BOOL GetSaveScene() const = 0;
00138     virtual void SetSaveScene(BOOL val) = 0;
00139 
00145     // Use radiosity when rendering
00149     virtual BOOL GetUseRadiosity() const = 0;
00157     virtual void SetUseRadiosity(BOOL val) = 0;
00158     // Automatically compute radiosity when rendering, if necessary.
00162     virtual BOOL GetComputeRadiosity() const = 0;
00169     virtual void SetComputeRadiosity(BOOL val) = 0;
00170 };
00171 
00172