00001 /********************************************************************** 00002 *< 00003 FILE: ILightingUnits.h 00004 00005 DESCRIPTION: Function-published interface to access the lighting units display system. 00006 00007 CREATED BY: David Cunningham 00008 00009 HISTORY: October 15, 2001 file created 00010 00011 *> Copyright (c) 2001, All Rights Reserved. 00012 **********************************************************************/ 00013 00014 #pragma once 00015 00016 00017 #include "maxheap.h" 00018 #include "iFnPub.h" 00019 #define ILIGHT_UNITS_FO_INTERFACE Interface_ID(0x7246dc, 0x4384dc) 00020 00021 struct LightDispInfo: public MaxHeapOperators { 00022 int lightingSystem; // Lighting unit display system {LIGHTING_UNIT_DISPLAY_INTERNATIONAL, 00023 // LIGHTING_UNIT_DISPLAY_AMERICAN } 00024 MSTR luminanceUnits; // The string describing the luminance units 00025 MSTR illuminanceUnits; // The string describing the illuminance units 00026 }; 00027 00034 class ILightingUnits : public FPStaticInterface { 00035 00036 public: 00037 00038 enum LightingSystems { 00039 DISPLAY_INTERNATIONAL, 00040 DISPLAY_AMERICAN, 00041 DISPLAY_TYPE_COUNT 00042 }; 00043 00044 virtual MCHAR *GetFirstLightingSystemName() = 0; 00045 virtual MCHAR *GetNextLightingSystemName() = 0; 00046 00047 virtual int GetLightingSystem() = 0; 00048 virtual void SetLightingSystem(int system) = 0; 00049 virtual MCHAR *GetLuminanceUnits() = 0; 00050 virtual MCHAR *GetIlluminanceUnits() = 0; 00051 virtual double ConvertLuminanceToCurrSystem(double luminanceValue) = 0; 00052 virtual double ConvertLuminanceToCurrSystem(double luminanceValue, int inputType) = 0; 00053 virtual double ConvertLuminanceToSI(double AS_LuminanceValue) = 0; 00054 virtual double ConvertLuminanceToAS(double SI_LuminanceValue) = 0; 00055 virtual double ConvertIlluminanceToCurrSystem(double illuminanceValue) = 0; 00056 virtual double ConvertIlluminanceToCurrSystem(double illuminanceValue, int inputType) = 0; 00057 virtual double ConvertIlluminanceToSI(double AS_IlluminanceValue) = 0; 00058 virtual double ConvertIlluminanceToAS(double SI_IlluminanceValue) = 0; 00059 virtual void GetLightingUnitDisplayInfo(LightDispInfo* info) = 0; 00060 00061 }; 00062 00063 00064 00065