XSIShaderCompoundPort.h

Go to the documentation of this file.
00001 //***************************************************************************************
00002 // File supervisor: Crosswalk team
00012 //***************************************************************************************
00013 
00014 #ifndef _XSISHADERCOMPOUNDPORT_H
00015 #define _XSISHADERCOMPOUNDPORT_H
00016 
00017 #include "Template.h"
00018 
00019 class CSLXSIShader;
00020 
00026 class XSIEXPORT CSLXSIShaderCompoundPort
00027     : public CSLTemplate
00028 {
00029 public:
00031     enum EPortType
00032     {
00033         SI_INPUT_PORT,  
00034         SI_OUTPUT_PORT, 
00035     };
00036 
00042     CSLXSIShaderCompoundPort(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00043 
00045     virtual ~CSLXSIShaderCompoundPort();
00046 
00050     SI_Error Synchronize();
00051 
00055     ETemplateType Type(){ return XSI_SHADER_COMPOUND_PORT; }
00056 
00060     EPortType GetPortType();
00061 
00065     SI_Void SetPortType( EPortType in_eValue );
00066 
00070     SI_Char* GetDisplayName();
00071 
00075     SI_Void SetDisplayName( SI_Char* in_pValue );
00076 
00080     SI_Char* GetPPGMinValue();
00081 
00085     SI_Void SetPPGMinValue( SI_Char* in_pValue );
00086 
00090     SI_Char* GetPPGMaxValue();
00091 
00095     SI_Void SetPPGMaxValue( SI_Char* in_pValue );
00096 
00100     SI_Char* GetPPGEnumValues();
00101 
00105     SI_Void SetPPGEnumValues( SI_Char* in_pValue );
00106 
00110     SI_Bool GetPPGLayoutVisible();
00111 
00115     SI_Void SetPPGLayoutVisible ( SI_Bool in_nValue );
00116 
00120     SI_Char* GetPPGLayoutGroup();
00121 
00125     SI_Void SetPPGLayoutGroup( SI_Char* in_pValue );
00126 
00130     SI_Char* GetPPGLayoutTab();
00131 
00135     SI_Void SetPPGLayoutTab( SI_Char* in_pValue );
00136 
00140     SI_Bool GetRTLayoutVisible();
00141 
00145     SI_Void SetRTLayoutVisible( SI_Bool in_pValue );
00146 
00150     SI_Char* GetRTLayoutGroup ();
00151 
00155     SI_Void SetRTLayoutGroup ( SI_Char* in_pValue );
00156 
00160     CSLXSIShader* GetSourceShader ();
00161 
00165     SI_Void SetSourceShader ( CSLXSIShader* in_pSourceShader );
00166 
00167     CSLEnumProxy<EPortType, SI_OUTPUT_PORT>*    GetPortTypeProxy()          { return &m_PortType; };
00168     CSLStringProxy*                             GetDisplayNameProxy()       { return &m_DisplayName; };
00169     CSLStringProxy*                             GetPPGMinValueProxy()       { return &m_PPGMinValue; };
00170     CSLStringProxy*                             GetPPGMaxValueProxy()       { return &m_PPGMaxValue; };
00171     CSLStringProxy*                             GetPPGEnumValuesProxy()     { return &m_PPGEnumValues; };
00172     CSLBoolProxy*                               GetPPGLayoutVisibleProxy()  { return &m_PPGLayoutVisible; };
00173     CSLStringProxy*                             GetPPGLayoutGroupProxy()    { return &m_PPGLayoutGroup; };
00174     CSLStringProxy*                             GetPPGLayoutTabProxy()      { return &m_PPGLayoutTab; };
00175     CSLBoolProxy*                               GetRTLayoutVisibleProxy()   { return &m_RTLayoutVisible; };
00176     CSLStringProxy*                             GetRTLayoutGroupProxy()     { return &m_RTLayoutGroup; };
00177 
00178 private:
00179     CSLEnumProxy<EPortType, SI_OUTPUT_PORT>     m_PortType;
00180     CSLStringProxy                              m_DisplayName;
00181     CSLStringProxy                              m_PPGMinValue;
00182     CSLStringProxy                              m_PPGMaxValue;
00183     CSLStringProxy                              m_PPGEnumValues;
00184     CSLBoolProxy                                m_PPGLayoutVisible;
00185     CSLStringProxy                              m_PPGLayoutGroup;
00186     CSLStringProxy                              m_PPGLayoutTab;
00187     CSLBoolProxy                                m_RTLayoutVisible;
00188     CSLStringProxy                              m_RTLayoutGroup;
00189     CSLXSIShader*                               m_pSourceShader;
00190 
00191     SI_Void *m_pReserved;
00192 };
00193 
00194 #endif