XSITextureLayerPort.h

00001 /****************************************************************************************
00002 THIS CODE IS PUBLISHED AS A SAMPLE ONLY AND IS PROVIDED "AS IS".
00003 IN NO EVENT SHALL SOFTIMAGE, AVID TECHNOLOGY, INC. AND/OR THEIR RESPECTIVE 
00004 SUPPLIERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
00005 DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
00006 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
00007 CONNECTION WITH THE USE OR PERFORMANCE OF THIS CODE . 
00008  
00009 COPYRIGHT NOTICE. Copyright © 1999-2002 Avid Technology Inc. . All rights reserved. 
00010 
00011 SOFTIMAGE is a registered trademark of Avid Technology Inc. or its subsidiaries 
00012 or divisions. Windows NT is a registered trademark of Microsoft Corp. All other
00013 trademarks contained herein are the property of their respective owners. 
00014 ****************************************************************************************/
00015 #ifndef _XSITEXTURELAYERPORT_H
00016 #define _XSITEXTURELAYERPORT_H
00017 
00018 #include "Template.h"
00019 
00027 class XSIEXPORT CSLXSITextureLayerPort
00028     : public CSLTemplate
00029 {
00030 public:
00036     CSLXSITextureLayerPort(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00037 
00039     virtual ~CSLXSITextureLayerPort();
00040 
00044     ETemplateType Type(){ return XSI_TEXTURE_LAYER_PORT; }
00045 
00046     virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName);
00047 
00048     virtual CSLAnimatableType* ParameterFromType(EFCurveType in_Type, SI_Char *in_szParameterName);
00049 
00050 
00054     SI_Char* GetTarget();
00055 
00059     SI_Void SetTarget( SI_Char* in_pValue );
00060 
00064     SI_Bool GetMute();
00065 
00069     SI_Void SetMute( SI_Bool in_bValue );
00070 
00074     SI_Float GetScale();
00075 
00079     SI_Void SetScale( SI_Float in_fValue );
00080 
00084     SI_Int GetColorSource();
00085 
00089     SI_Void SetColorSource( SI_Int in_nValue );
00090 
00094     SI_Bool GetInvert();
00095 
00099     SI_Void SetInvert( SI_Bool in_bValue);
00100 
00101 
00102     CSLStringProxy*                                     GetTargetProxy()        { return &m_Target; };
00103     CSLBoolProxy*                                       GetMuteProxy()          { return &m_Mute; };
00104     CSLFloatProxy*                                      GetScaleProxy()         { return &m_Scale; };
00105     CSLIntProxy*                                        GetColorSourceProxy()   { return &m_ColorSource; };
00106     CSLBoolProxy*                                       GetInvertProxy()        { return &m_Invert; };
00107 
00108 private:
00109     CSLStringProxy  m_Target;
00110     CSLBoolProxy    m_Mute;
00111     CSLFloatProxy   m_Scale;
00112     CSLIntProxy     m_ColorSource;
00113     CSLBoolProxy    m_Invert;
00114 
00115     SI_Void *m_pReserved;
00116 };
00117 
00118 #endif