FXNodeConnection.h

00001 //***************************************************************************************
00002 //
00003 // File supervisor: Crosswalk team
00004 //
00005 // Copyright 2008 Autodesk, Inc.  All rights reserved.  
00006 // Use of this software is subject to the terms of the Autodesk license agreement 
00007 // provided at the time of installation or download, or which otherwise accompanies 
00008 // this software in either electronic or hard copy form.
00009 //
00010 //***************************************************************************************
00011 
00012 #ifndef _FXOPERATORCONNECTION_H
00013 #define _FXOPERATORCONNECTION_H
00014 
00015 #include "Template.h"
00016 #include "Scene.h"
00017 
00018 class CSLFXOperator;
00019 
00021 class XSIEXPORT CSLFXOperatorConnection
00022 {
00023 public:
00024 
00026     enum EConnectionType
00027     {
00028         SI_NONE,            
00029         SI_FXOPERATOR,      
00030     };
00031     
00037     CSLFXOperatorConnection
00038     ( 
00039         CdotXSITemplate *in_pTemplate, 
00040         SI_Int in_nValueIndex 
00041     );
00042 
00046     SI_Error Synchronize();
00047 
00051     SI_Char* GetName();
00052 
00056     SI_Void SetName( SI_Char* in_szName );
00057 
00061     CSLFXOperator* GetFXOperator();
00062 
00066     SI_Void SetFXOperator( CSLFXOperator *in_pNode);
00067 
00071     EConnectionType GetConnectionType();
00072 
00076     SI_Void SetConnectionType( EConnectionType in_Type );
00077 
00079     virtual ~CSLFXOperatorConnection();
00080 
00081     SI_Char* GetFXOperatorName();
00082 
00083 private:
00084 
00085     CSLFXOperator *m_pReferedNode;
00086     EConnectionType m_ConnectionType;
00087     CdotXSIParam *m_pNameParam;
00088     CdotXSIParam *m_pTypeParam;
00089 
00090     SI_Void *m_pReserved;
00091 
00092 };
00093 
00094 #endif