Public Types | Public Member Functions | Static Public Member Functions

INodeExposure Class Reference

Search for all occurrences

Detailed Description

class INodeExposure: public FPMixinInterface

Description:
This class is only available in release 5 or later.

This interface provides the ability for a node to define whether it is visible in any of max's dialog boxes. This interface will be extended and used by more of 3ds Max's core utilities, but currently ONLY TrackView and the Select Object/HideObject dialog box use this interface. By default this interface is not available through the default nodes, it needs to be added.

To get a pointer to this interface from a node the following code can be used.
INodeExposure* iNE = (INodeExposure*)node->GetInterface(NODEEXPOSURE_INTERFACE_TOAPPEND)

This will add a new INodeExposure interface to the node if it is not present. The next time you use this technique it will only return the interface and not create another new interface.

Data Members:
enum {

kSelectObjects, kSchematicView, kMaxscript,

kMerge, kMergeAnimation, kReplace,

kKeyEditor, kCurveEditor, kRangeEditor,

};

This enum provides access to the different supported UI elements. It is used with various methods of the class to get/set the UI flags.

#include <INodeExposure.h>

Inheritance diagram for INodeExposure:
Inheritance graph
[legend]

List of all members.

Public Types

enum   {
  kSelectObjects, kSchematicView, kMaxscript, kMerge,
  kMergeAnimation, kReplace, kKeyEditor, kCurveEditor,
  kRangeEditor, kUI_num
}
enum   FuncID { kIsExposed, kSetExposedInAll, kSetExposed, kBakeExposure }

Public Member Functions

virtual bool  IsExposed (int ui) const =0
virtual void  SetExposed (bool state)=0
virtual void  SetExposed (bool state, int ui)=0
bool  IsExposedInSelectObjects () const
bool  IsExposedInSchematicView () const
bool  IsExposedInMaxscript () const
bool  IsExposedInMerge () const
bool  IsExposedInMergeAnimation () const
bool  IsExposedInReplace () const
bool  IsExposedInTrackView () const
bool  IsExposedInKeyEditor () const
bool  IsExposedInCurveEditor () const
bool  IsExposedInRangeEditor () const
void  SetExposedInSelectObjects (bool state)
void  SetExposedInSchematicView (bool state)
void  SetExposedInMaxscript (bool state)
void  SetExposedInMerge (bool state)
void  SetExposedInMergeAnimation (bool state)
void  SetExposedInReplace (bool state)
void  SetExposedInTrackView (bool state)
void  SetExposedInKeyEditor (bool state)
void  SetExposedInCurveEditor (bool state)
void  SetExposedInRangeEditor (bool state)
virtual IOResult  Save (ISave *) const =0
virtual IOResult  Load (ILoad *)=0
virtual void  Copy (INodeExposure *)=0
virtual void  BakeExposure ()=0
virtual bool  IsExposureBaked ()=0
virtual const void *  ObjectOf (void *) const =0
virtual void *  ObjectOf (void *)=0
FPInterfaceDesc GetDesc ()
BEGIN_FUNCTION_MAP  FN_1 (kIsExposed, TYPE_bool, IsExposed, TYPE_INT)
  VFN_1 (kSetExposedInAll, SetExposed, TYPE_bool)
  VFN_2 (kSetExposed, SetExposed, TYPE_bool, TYPE_INT)
  VFN_0 (kBakeExposure, BakeExposure)

Static Public Member Functions

static INodeExposure GetINodeExposure (INode &n)
static INodeExposure AppendINodeExposure (INode &n)

Member Enumeration Documentation

anonymous enum
enum FuncID

Member Function Documentation

static INodeExposure* GetINodeExposure ( INode n ) [inline, static]
                                                     {
        return static_cast<INodeExposure*>(n.GetInterface(NODEEXPOSURE_INTERFACE)); }
static INodeExposure* AppendINodeExposure ( INode n ) [inline, static]
                                                        {
        return static_cast<INodeExposure*>(n.GetInterface(NODEEXPOSURE_INTERFACE_TOAPPEND)); }
virtual bool IsExposed ( int  ui ) const [pure virtual]
Remarks:
This will return the exposure state of the UI element being queried

Parameters:
int ui

The UI flag to query. This should be a value from the UI enum - See data members section

virtual void SetExposed ( bool  state ) [pure virtual]
Remarks:
This will set the state of all the UI elements to the state passed into the method

Parameters:
bool state

The state to set the nodes UI exposure

virtual void SetExposed ( bool  state,
int  ui 
) [pure virtual]
Remarks:
This will set the state of the individual UI element to the state passed into the method

Parameters:
bool state

The state to set the nodes UI exposure

int ui

The UI element to set
bool IsExposedInSelectObjects ( ) const [inline]
Remarks:
This will return true if it is visible in Selected Objects/HideObjects Dialog box otherwise false

{
    return IsExposed(kSelectObjects);
}
bool IsExposedInSchematicView ( ) const [inline]
bool IsExposedInMaxscript ( ) const [inline]
bool IsExposedInMerge ( ) const [inline]
bool IsExposedInMergeAnimation ( ) const [inline]
bool IsExposedInReplace ( ) const [inline]
bool IsExposedInTrackView ( ) const [inline]
Remarks:
This will return true if it is visible in TrackView or false if it is not. This will return TRUE is the node is exposed in ANY of the TrackView states, kKeyEditor, kCurveEditor and kRangeEditor. It will return FALSE if ALL are set to false.

bool IsExposedInKeyEditor ( ) const [inline]
Remarks:
Specifies whether the node is visible in the Key Editor of TrackView
{
    return IsExposed(kKeyEditor);
}
bool IsExposedInCurveEditor ( ) const [inline]
Remarks:
Specifies whether the node is visible in the Function Curve Editor of Track View
{
    return IsExposed(kCurveEditor);
}
bool IsExposedInRangeEditor ( ) const [inline]
Remarks:
Specifies whether the node is visible in the Key Range Editor of Track View
{
    return IsExposed(kRangeEditor);
}
void SetExposedInSelectObjects ( bool  state ) [inline]
Remarks:
This will set the flag for the exposure in Selected Objects/HideObjects dialog box

Parameters:
bool state

The value to set the flag

{
    SetExposed(state, kSelectObjects);
}
void SetExposedInSchematicView ( bool  state ) [inline]
void SetExposedInMaxscript ( bool  state ) [inline]
void SetExposedInMerge ( bool  state ) [inline]
void SetExposedInMergeAnimation ( bool  state ) [inline]
void SetExposedInReplace ( bool  state ) [inline]
void SetExposedInTrackView ( bool  state ) [inline]
Remarks:
This allows the state of the TrackView exposure flag to be set by the user. This will set the flag for all three TrackView flags. See comment in IsExposedInTrackView().

void SetExposedInKeyEditor ( bool  state ) [inline]
Remarks:
This allows the state of the Key Editor of Trackview exposure flag to be set by the user.

{
    SetExposed(state, kKeyEditor);
}
void SetExposedInCurveEditor ( bool  state ) [inline]
Remarks:
This allows the state of the Function Curve Editor of Track view exposure flag to be set by the user.

{
    SetExposed(state, kCurveEditor);
}
void SetExposedInRangeEditor ( bool  state ) [inline]
Remarks:
This allows the state of the Key Range Editor of Track view exposure flag to be set by the user.
{
    SetExposed(state, kRangeEditor);
}
virtual IOResult Save ( ISave ) const [pure virtual]
virtual IOResult Load ( ILoad ) [pure virtual]
virtual void Copy ( INodeExposure ) [pure virtual]
virtual void BakeExposure ( ) [pure virtual]
virtual bool IsExposureBaked ( ) [pure virtual]
virtual const void* ObjectOf ( void *  ) const [pure virtual]
virtual void* ObjectOf ( void *  ) [pure virtual]
FPInterfaceDesc* GetDesc ( ) [inline, virtual]
Remarks:
Returns a pointer to the class which contains the interface metadata.

Implements FPInterface.

{ return GetDescByID(NODEEXPOSURE_INTERFACE); }
BEGIN_FUNCTION_MAP FN_1 ( kIsExposed  ,
TYPE_bool  ,
IsExposed  ,
TYPE_INT   
)
VFN_1 ( kSetExposedInAll  ,
SetExposed  ,
TYPE_bool   
)
VFN_2 ( kSetExposed  ,
SetExposed  ,
TYPE_bool  ,
TYPE_INT   
)
VFN_0 ( kBakeExposure  ,
BakeExposure   
)

INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure
INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure INodeExposure