added everything
This commit is contained in:
85
lib/maxsdk70/include/iLuminaire.h
Executable file
85
lib/maxsdk70/include/iLuminaire.h
Executable file
@@ -0,0 +1,85 @@
|
||||
/**********************************************************************
|
||||
|
||||
FILE: ILuminaire.h
|
||||
|
||||
DESCRIPTION: Public interface of a Luminaire (lighting fixture)
|
||||
|
||||
CREATED BY: Attila Szabo, Discreet
|
||||
|
||||
HISTORY: - created Aug 12, 2001
|
||||
|
||||
*> Copyright (c) 1998-2001, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __ILUMINAIRE__H
|
||||
#define __ILUMINAIRE__H
|
||||
|
||||
#include "iFnPub.h"
|
||||
#include "maxtypes.h"
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// class ILuminaire
|
||||
//
|
||||
// This is an interface class that defines the operations and properties
|
||||
// of a luminaire. A luminaire is a lighting fixture. A luminaire is made
|
||||
// up by at least one light object and several other objects (geometry, etc)
|
||||
//
|
||||
// This interface can be implemented by any plugin object, whether it is a
|
||||
// helper, geometry, etc.
|
||||
// Luminaire plugin objects can be used, for example,
|
||||
// as luminaire assembly head objects. In this case, the object's parameters
|
||||
// defined in its param block can be parameter wired to the the parameters of
|
||||
// the light objects in the luminaire assembly. In this case, the methods of
|
||||
// this interface should read and write the corresponding paramblock parameters
|
||||
// of the object plugin.
|
||||
//________________________________________________________________________
|
||||
|
||||
class ILuminaire : public FPMixinInterface
|
||||
{
|
||||
public:
|
||||
// Dimming a luminaire means changing the intensity of all of its light
|
||||
// sources at once with the same percentage.
|
||||
// A dimmer value of zero means effectively turning off all light sources
|
||||
// in the luminiare; a dimmer value of 100 means that the light sources
|
||||
// shine at their ("factory") default intensity, while a dimmer value
|
||||
// greater than 100 means that their intensity is amplified\multiplied above
|
||||
// the ("factory") default value.
|
||||
// In the case of standard Max light sources, "factory" default intensity
|
||||
// means a certain arbitrary multiplier value that is chosen by the user.
|
||||
// In case of physically based light sources, "factory" default intensity
|
||||
// means the intensity given in the light's photometric file.
|
||||
virtual void SetDimmer(float value, TimeValue time) = 0;
|
||||
virtual float GetDimmer(TimeValue time, Interval& valid = FOREVER) const = 0 ;
|
||||
|
||||
// These methods allow for specifing and retrieving at once (simultaneously)
|
||||
// the filter color of all light sources of a luminaire
|
||||
virtual void SetRGBFilterColor(Point3& value, TimeValue& time) = 0;
|
||||
virtual Point3 GetRGBFilterColor(TimeValue& time, Interval& valid = FOREVER) const = 0;
|
||||
|
||||
// These methods allow for specifing and retrieving at once (simultaneously)
|
||||
// the on\off state of all light sources of a luminaire
|
||||
virtual void SetUseState(bool onOff, TimeValue& time) = 0;
|
||||
virtual bool GetUseState(TimeValue& time, Interval& valid = FOREVER) const = 0;
|
||||
|
||||
// Function Publishing Methods IDs
|
||||
enum
|
||||
{
|
||||
kLUM_SET_DIMMER,
|
||||
kLUM_GET_DIMMER,
|
||||
kLUM_SET_RGB_FILTER_COLOR,
|
||||
kLUM_GET_RGB_FILTER_COLOR,
|
||||
kLUM_SET_USE_STATE,
|
||||
kLUM_GET_USE_STATE,
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
// Luminaire interface ID
|
||||
#define LUMINAIRE_INTERFACE Interface_ID(0x7e631fe1, 0x7163389b)
|
||||
|
||||
inline ILuminaire* GetLuminaireInterface(BaseInterface* baseIfc)
|
||||
{ DbgAssert( baseIfc != NULL); return static_cast<ILuminaire*>(baseIfc->GetInterface(LUMINAIRE_INTERFACE)); }
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user