INodeMentalRayProperties Class Reference

INodeMentalRayProperties Class Referenceabstract

#include <INodeMentalRayProperties.h>

Class Description

Extension to INode for accessing mental ray properties.

This interface class defines a set of methods for accessing mental ray properties on an INode. To get a pointer to this interface from an INode, call:

    INodeMentalRayProperties* mr_properties = Get_INodeMentalRayProperties(node);

The properties exposed by this class to the SDK are also exposed to MaxScript through the function publishing system.

+ Inheritance diagram for INodeMentalRayProperties:

Public Types

enum  DisplacementMethod { kDisplacementMethod_Fine = 0, kDisplacementMethod_Fine_NoSmoothing = 1, kDisplacementMethod_Parametric = 2 }
 
enum  CastModeFG { kCastModeFG_ObjColor = 0, kCastModeFG_Black = 1, kCastModeFG_Invisible =2 }
 
enum  PROPERTY_ACCESSOR_ID {
  GET_DISPLACEMENTUSEGLOBALSETTINGS, SET_DISPLACEMENTUSEGLOBALSETTINGS, GET_DISPLACEMENTMETHOD, SET_DISPLACEMENTMETHOD,
  GET_VIEWDEPENDENTDISPLACEMENT, SET_VIEWDEPENDENTDISPLACEMENT, GET_DISPLACEMENTEDGELENGTH, SET_DISPLACEMENTEDGELENGTH,
  GET_MAXDISPLACE, SET_MAXDISPLACE, GET_DISPLACEMENTMAXLEVEL, SET_DISPLACEMENTMAXLEVEL,
  GET_RECEIVEFGILLUM, SET_RECEIVEFGILLUM, GET_CASTMODEFGILLUM, SET_CASTMODEFGILLUM,
  GET_EXCLUDEGLOBALILLUM, SET_EXCLUDEGLOBALILLUM, GET_EXCLUDECAUSTICS, SET_EXCLUDECAUSTICS
}
 
- Public Types inherited from BaseInterface
enum  LifetimeType { noRelease, immediateRelease, wantsRelease, serverControlled }
 

Public Member Functions

virtual void CopyMentalRayPropertiesFrom (const INodeMentalRayProperties &source)=0
 Copy properties from another interface. More...
 
virtual bool MRGetDisplacementUseGlobalSettings () const =0
 Gets the value of the "Use global displacement settings" flag. More...
 
virtual void MRSetDisplacementUseGlobalSettings (bool useGlobal)=0
 Sets the value fo the "Use global displacement settings" flag. More...
 
virtual DisplacementMethod MRGetDisplacementMethod () const =0
 Gets the displacement method to be used. More...
 
virtual void MRSetDisplacementMethod (DisplacementMethod method)=0
 Sets the displacement method to be used. More...
 
virtual bool MRGetIsViewDependentDisplacement () const =0
 Gets the value of the "View-Dependent Displacement" flag. More...
 
virtual void MRSetIsViewDependentDisplacement (bool viewDependent)=0
 Sets the value of the "View-Dependent Displacement" flag. More...
 
virtual float MRGetDisplacementEdgeLength () const =0
 Gets the value of the "Edge Length" property. More...
 
virtual void MRSetDisplacementEdgeLength (float length)=0
 Sets the value of the "Edge Length" property. More...
 
virtual float MRGetMaxDisplace () const =0
 Gets the value of the "Max. Displace" property. More...
 
virtual void MRSetMaxDisplace (float maxDisplace)=0
 Sets the value of the "Max. Displace" property. More...
 
virtual unsigned short MRGetDisplacementMaxLevel () const =0
 Gets the value of the "Displacement Max. Level" property. More...
 
virtual void MRSetDisplacementMaxLevel (unsigned short maxLevel)=0
 Sets the value of the "Displacement Max. Level" property. More...
 
virtual bool MRGetReceiveFGIllum () const =0
 Gets the value of the "Receive Illumination from Final Gather" flag. More...
 
virtual void MRSetReceiveFGIllum (bool onOff)=0
 Sets the value of the "Receive Illumination from Final Gather" flag. More...
 
virtual CastModeFG MRGetCastModeFGIllum () const =0
 Gets the mode for the "Cast Illumination from Final Gather" to be used. More...
 
virtual void MRSetCastModeFGIllum (CastModeFG method)=0
 Sets the mode for the "Cast Illumination from Final Gather" to be used. More...
 
virtual bool MRGetExcludeGlobalIllum () const =0
 Gets the value of the "Exclude from Global Illumination Calculations" flag. More...
 
virtual void MRSetExcludeGlobalIllum (bool onOff)=0
 Sets the value of the "Exclude from Global Illumination Calculations" flag. More...
 
virtual bool MRGetExcludeCaustics () const =0
 Gets the value of the "Exclude from Caustics Calculations" flag. More...
 
virtual void MRSetExcludeCaustics (bool onOff)=0
 Sets the value of the "Exclude from Caustics Calculations" flag. More...
 
 PROP_FNS (GET_DISPLACEMENTUSEGLOBALSETTINGS, MRGetDisplacementUseGlobalSettings, SET_DISPLACEMENTUSEGLOBALSETTINGS, MRSetDisplacementUseGlobalSettings, TYPE_bool)
 
 PROP_FNS (GET_DISPLACEMENTMETHOD, MRGetDisplacementMethod, SET_DISPLACEMENTMETHOD, MRSetDisplacementMethod, TYPE_ENUM)
 
 PROP_FNS (GET_VIEWDEPENDENTDISPLACEMENT, MRGetIsViewDependentDisplacement, SET_VIEWDEPENDENTDISPLACEMENT, MRSetIsViewDependentDisplacement, TYPE_bool)
 
 PROP_FNS (GET_DISPLACEMENTEDGELENGTH, MRGetDisplacementEdgeLength, SET_DISPLACEMENTEDGELENGTH, MRSetDisplacementEdgeLength, TYPE_FLOAT)
 
 PROP_FNS (GET_MAXDISPLACE, MRGetMaxDisplace, SET_MAXDISPLACE, MRSetMaxDisplace, TYPE_WORLD)
 
 PROP_FNS (GET_DISPLACEMENTMAXLEVEL, MRGetDisplacementMaxLevel, SET_DISPLACEMENTMAXLEVEL, MRSetDisplacementMaxLevel, TYPE_INT)
 
 PROP_FNS (GET_RECEIVEFGILLUM, MRGetReceiveFGIllum, SET_RECEIVEFGILLUM, MRSetReceiveFGIllum, TYPE_bool)
 
 PROP_FNS (GET_CASTMODEFGILLUM, MRGetCastModeFGIllum, SET_CASTMODEFGILLUM, MRSetCastModeFGIllum, TYPE_ENUM)
 
 PROP_FNS (GET_EXCLUDEGLOBALILLUM, MRGetExcludeGlobalIllum, SET_EXCLUDEGLOBALILLUM, MRSetExcludeGlobalIllum, TYPE_bool)
 
 PROP_FNS (GET_EXCLUDECAUSTICS, MRGetExcludeCaustics, SET_EXCLUDECAUSTICS, MRSetExcludeCaustics, TYPE_bool)
 
- Public Member Functions inherited from FPMixinInterface
 FPMixinInterface ()
 
virtual LifetimeType LifetimeControl ()
 
virtual CoreExport bool RegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
virtual void UnRegisterNotifyCallback (InterfaceNotifyCallback *incb)
 
CoreExport ~FPMixinInterface ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
virtual FPInterfaceDescGetDescByID (Interface_ID id)
 
virtual Interface_ID GetID ()
 
- Public Member Functions inherited from FPInterface
virtual FPInterfaceDescGetDesc ()=0
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t=0, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPParams *params)
 
virtual CoreExport FPStatus Invoke (FunctionID fid, TimeValue t, FPValue &result, FPParams *params=NULL)
 
virtual FPStatus Invoke (FunctionID fid, FPValue &result, FPParams *params=NULL)
 
virtual CoreExport FunctionID FindFn (const MCHAR *name)
 
virtual CoreExport BOOL IsEnabled (FunctionID actionID)
 
virtual CoreExport BOOL IsChecked (FunctionID actionID)
 
virtual CoreExport BOOL IsVisible (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsEnabled (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsChecked (FunctionID actionID)
 
virtual CoreExport FunctionID GetIsVisible (FunctionID actionID)
 
virtual ActionTableGetActionTable ()
 
virtual void EnableActions (BOOL onOff)
 
- Public Member Functions inherited from BaseInterface
virtual UtilExport ~BaseInterface ()
 Destructor. More...
 
virtual BaseInterfaceAcquireInterface ()
 
virtual void ReleaseInterface ()
 
virtual void DeleteInterface ()
 
virtual BaseInterfaceCloneInterface (void *remapDir=NULL)
 
- Public Member Functions inherited from InterfaceServer
virtual UtilExport ~InterfaceServer ()
 Destructor. More...
 

Static Public Member Functions

static INodeMentalRayPropertiesGet_INodeMentalRayProperties (INode &node)
 Use this function to retrieve a pointer to the INodeMentalRayProperties interface. More...
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary. More...
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary. More...
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc. More...
 

Additional Inherited Members

- Static Public Attributes inherited from FPInterface
static CoreExport FPInterfaceDesc nullInterface
 
- Protected Member Functions inherited from FPMixinInterface
 FPMixinInterface (const FPMixinInterface &rhs)
 
FPMixinInterfaceoperator= (const FPMixinInterface &rhs)
 
- Protected Member Functions inherited from FPInterface
virtual FPStatus _dispatch_fn (FunctionID fid, TimeValue t, FPValue &result, FPParams *p)
 
- Protected Attributes inherited from FPMixinInterface
Tab< InterfaceNotifyCallback * > * interfaceNotifyCBs
 

Member Enumeration Documentation

Enumerator
kDisplacementMethod_Fine 
kDisplacementMethod_Fine_NoSmoothing 
kDisplacementMethod_Parametric 
42  {
46  };
Definition: INodeMentalRayProperties.h:43
Definition: INodeMentalRayProperties.h:45
enum CastModeFG
Enumerator
kCastModeFG_ObjColor 
kCastModeFG_Black 
kCastModeFG_Invisible 
48  {
52  };
Definition: INodeMentalRayProperties.h:49
Definition: INodeMentalRayProperties.h:51
Definition: INodeMentalRayProperties.h:50
Enumerator
GET_DISPLACEMENTUSEGLOBALSETTINGS 
SET_DISPLACEMENTUSEGLOBALSETTINGS 
GET_DISPLACEMENTMETHOD 
SET_DISPLACEMENTMETHOD 
GET_VIEWDEPENDENTDISPLACEMENT 
SET_VIEWDEPENDENTDISPLACEMENT 
GET_DISPLACEMENTEDGELENGTH 
SET_DISPLACEMENTEDGELENGTH 
GET_MAXDISPLACE 
SET_MAXDISPLACE 
GET_DISPLACEMENTMAXLEVEL 
SET_DISPLACEMENTMAXLEVEL 
GET_RECEIVEFGILLUM 
SET_RECEIVEFGILLUM 
GET_CASTMODEFGILLUM 
SET_CASTMODEFGILLUM 
GET_EXCLUDEGLOBALILLUM 
SET_EXCLUDEGLOBALILLUM 
GET_EXCLUDECAUSTICS 
SET_EXCLUDECAUSTICS 
156  {
177  };
Definition: INodeMentalRayProperties.h:169
Definition: INodeMentalRayProperties.h:170
Definition: INodeMentalRayProperties.h:163
Definition: INodeMentalRayProperties.h:174
Definition: INodeMentalRayProperties.h:175
Definition: INodeMentalRayProperties.h:173
Definition: INodeMentalRayProperties.h:172
Definition: INodeMentalRayProperties.h:168
Definition: INodeMentalRayProperties.h:176
Definition: INodeMentalRayProperties.h:157
Definition: INodeMentalRayProperties.h:171
Definition: INodeMentalRayProperties.h:160
Definition: INodeMentalRayProperties.h:162
Definition: INodeMentalRayProperties.h:167
Definition: INodeMentalRayProperties.h:158
Definition: INodeMentalRayProperties.h:166
Definition: INodeMentalRayProperties.h:159
Definition: INodeMentalRayProperties.h:165
Definition: INodeMentalRayProperties.h:161
Definition: INodeMentalRayProperties.h:164

Member Function Documentation

INodeMentalRayProperties * Get_INodeMentalRayProperties ( INode node)
inlinestatic

Use this function to retrieve a pointer to the INodeMentalRayProperties interface.

Parameters
[in]node- The node on which you want to query the interface.
Returns
A pointer to the interface. May be NULL if the interface is not supported by this release.
207  {
208 
210 }
Extension to INode for accessing mental ray properties.
Definition: INodeMentalRayProperties.h:38
#define NODEMENTALRAYPROPERTIES_INTERFACE
The interface ID for class INodeMentalRayProperties.
Definition: INodeMentalRayProperties.h:23
BaseInterface * GetInterface(Interface_ID id)
Definition: inode.h:1704
virtual void CopyMentalRayPropertiesFrom ( const INodeMentalRayProperties source)
pure virtual

Copy properties from another interface.

Parameters
[in]source- The properties to be copied.
virtual bool MRGetDisplacementUseGlobalSettings ( ) const
pure virtual

Gets the value of the "Use global displacement settings" flag.

Returns
The value of the flag.
virtual void MRSetDisplacementUseGlobalSettings ( bool  useGlobal)
pure virtual

Sets the value fo the "Use global displacement settings" flag.

Parameters
[in]useGlobal- The value to be set.
virtual DisplacementMethod MRGetDisplacementMethod ( ) const
pure virtual

Gets the displacement method to be used.

Returns
The displacement method to be used.
virtual void MRSetDisplacementMethod ( DisplacementMethod  method)
pure virtual

Sets the displacement method to be used.

Parameters
[in]method- The displacement method.
virtual bool MRGetIsViewDependentDisplacement ( ) const
pure virtual

Gets the value of the "View-Dependent Displacement" flag.

Returns
The value of the flag.
virtual void MRSetIsViewDependentDisplacement ( bool  viewDependent)
pure virtual

Sets the value of the "View-Dependent Displacement" flag.

Parameters
[in]viewDependent- The value to be set.
virtual float MRGetDisplacementEdgeLength ( ) const
pure virtual

Gets the value of the "Edge Length" property.

Note: this value should be interpreted as pixels if the "view-dependent" flag is ON, and as object-space units if the "view-dependent" flag is OFF.

Returns
The value of the "Edge Length" parameter.
virtual void MRSetDisplacementEdgeLength ( float  length)
pure virtual

Sets the value of the "Edge Length" property.

Note: this value should be interpreted as pixels if the "view-dependent" flag is ON, and as object-space units if the "view-dependent" flag is OFF.

Parameters
[in]length- The value to be set.
virtual float MRGetMaxDisplace ( ) const
pure virtual

Gets the value of the "Max. Displace" property.

Returns
The value of the "Max. Displace" property.
virtual void MRSetMaxDisplace ( float  maxDisplace)
pure virtual

Sets the value of the "Max. Displace" property.

Parameters
[in]maxDisplace- The value to be set.
virtual unsigned short MRGetDisplacementMaxLevel ( ) const
pure virtual

Gets the value of the "Displacement Max. Level" property.

Returns
The value of the "Displacement Max. Level" property.
virtual void MRSetDisplacementMaxLevel ( unsigned short  maxLevel)
pure virtual

Sets the value of the "Displacement Max. Level" property.

Parameters
[in]maxLevel- The value to bet set.
virtual bool MRGetReceiveFGIllum ( ) const
pure virtual

Gets the value of the "Receive Illumination from Final Gather" flag.

Returns
The value of the flag.
virtual void MRSetReceiveFGIllum ( bool  onOff)
pure virtual

Sets the value of the "Receive Illumination from Final Gather" flag.

Parameters
[in]onOff- The value to be set.
virtual CastModeFG MRGetCastModeFGIllum ( ) const
pure virtual

Gets the mode for the "Cast Illumination from Final Gather" to be used.

Returns
The mode to be used for FG Rays that hit the object.
virtual void MRSetCastModeFGIllum ( CastModeFG  method)
pure virtual

Sets the mode for the "Cast Illumination from Final Gather" to be used.

Parameters
[in]method- The mode to be used for FG Rays that hit the object.
virtual bool MRGetExcludeGlobalIllum ( ) const
pure virtual

Gets the value of the "Exclude from Global Illumination Calculations" flag.

Returns
The value of the flag.
virtual void MRSetExcludeGlobalIllum ( bool  onOff)
pure virtual

Sets the value of the "Exclude from Global Illumination Calculations" flag.

Parameters
[in]onOff- The value to be set.
virtual bool MRGetExcludeCaustics ( ) const
pure virtual

Gets the value of the "Exclude from Caustics Calculations" flag.

Returns
The value of the flag.
virtual void MRSetExcludeCaustics ( bool  onOff)
pure virtual

Sets the value of the "Exclude from Caustics Calculations" flag.

Parameters
[in]onOff- The value to be set.