Rhino C++ API  7.24
Public Types | Public Member Functions | List of all members
IAutoUIExtraRequirements Class Referenceabstract

#include <IAutoUIExtraRequirements.h>

Inheritance diagram for IAutoUIExtraRequirements:
CRhRdkContent CRhRdkCoreContent CRhRdkEnvironment CRhRdkMaterial CRhRdkTexture CRhRdkBasicMaterialBase CRhRdkOneColorTextureBase CRhRdkBasicMaterial CRhRdkBasicOneColorTextureBase CRhRdkTwoColorTextureBase CRhRdkBasicTwoColorTextureBase

Public Types

enum  SetContext : unsigned int { SetContext::UI, SetContext::Drop, SetContext::Program }
 

Public Member Functions

virtual ~IAutoUIExtraRequirements ()
 
virtual IAutoUIExtraRequirementsDuplicateExtraRequirementsInterface (void) const =0
 
virtual void * EVF (const wchar_t *, void *)=0
 
virtual bool GetExtraRequirementParameter (const wchar_t *wszParamName, const wchar_t *wszExtraReqName, CRhRdkVariant &vValueOut) const =0
 
virtual bool OnExtraRequirementButtonClicked (const wchar_t *wszParamName, const wchar_t *wszButtonName)=0
 
virtual bool SetExtraRequirementParameter (const wchar_t *wszParamName, const wchar_t *wszExtraReqName, const CRhRdkVariant &vValue, SetContext sc)=0
 

Detailed Description

Extra requirements are a way of specifying extra functionality on parameters in the automatic UI. All objects that support such extra UI requirements must implement this interface.

RDK currently supports the following extra requirements:

Member Enumeration Documentation

◆ SetContext

enum IAutoUIExtraRequirements::SetContext : unsigned int
strong
Enumerator
UI 
Drop 
Program 

Constructor & Destructor Documentation

◆ ~IAutoUIExtraRequirements()

virtual IAutoUIExtraRequirements::~IAutoUIExtraRequirements ( )
inlinevirtual

Member Function Documentation

◆ DuplicateExtraRequirementsInterface()

virtual IAutoUIExtraRequirements* IAutoUIExtraRequirements::DuplicateExtraRequirementsInterface ( void  ) const
pure virtual
Returns
A duplicate of the object that implements the interface.

Implemented in CRhRdkContent.

◆ EVF()

virtual void* IAutoUIExtraRequirements::EVF ( const wchar_t *  ,
void *   
)
pure virtual

Emergency virtual function for future expansion.

Implemented in CRhRdkMaterial, CRhRdkEnvironment, CRhRdkContent, and CRhRdkTexture.

◆ GetExtraRequirementParameter()

virtual bool IAutoUIExtraRequirements::GetExtraRequirementParameter ( const wchar_t *  wszParamName,
const wchar_t *  wszExtraReqName,
CRhRdkVariant vValueOut 
) const
pure virtual

Implement this method to get a parameter for extra UI requirements.

Parameters
wszParamNameis the name of the content parameter for which to get an extra req. parameter.
wszExtraReqNameis the name of the extra requirement parameter to retrieve.
vValueOutreceives the parameter's value.
Returns
true if the parameter was retrieved successfuly, else false.

Implemented in CRhRdkBasicMaterial, CRhRdkTwoColorTextureBase, CRhRdkOneColorTextureBase, and CRhRdkContent.

◆ OnExtraRequirementButtonClicked()

virtual bool IAutoUIExtraRequirements::OnExtraRequirementButtonClicked ( const wchar_t *  wszParamName,
const wchar_t *  wszButtonName 
)
pure virtual

Implement this method to handle an extra UI requirements button click.

Parameters
wszParamNameis the name of the content parameter for which a button was clicked.
wszButtonNameis the name of the button that was clicked.
Returns
true if button click was handled successfully, else false.

Implemented in CRhRdkContent.

◆ SetExtraRequirementParameter()

virtual bool IAutoUIExtraRequirements::SetExtraRequirementParameter ( const wchar_t *  wszParamName,
const wchar_t *  wszExtraReqName,
const CRhRdkVariant vValue,
SetContext  sc 
)
pure virtual

Implement this method to set a parameter for extra UI requirements.

Parameters
wszParamNameis the name of the content parameter for which to set an extra req. parameter.
wszExtraReqNameis the name of the extra requirement parameter to be set.
vValuecontains the new value for the specified extra req. parameter.
scis the context in which the set operation is being performed.
Returns
true if the parameter was set successfuly, else false.

Implemented in CRhRdkBasicMaterial, CRhRdkTwoColorTextureBase, CRhRdkOneColorTextureBase, and CRhRdkContent.