ConnectionPoint.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 _CONNECTIONPOINT_H
00013 #define _CONNECTIONPOINT_H
00014 
00015 #include "Template.h"
00016 #include "Scene.h"
00017 #include <dotXSIParam.h>    // CdotXSIParam
00018 
00019 // Forward declaration
00020 class CSLXSIShader;
00021 
00024 class XSIEXPORT CSLConnectionPoint
00025 {
00026     friend class CSLScene;
00027 public:
00033     CSLConnectionPoint
00034     (
00035         CdotXSITemplate *in_pTemplate,
00036         SI_Int in_nValueIndex
00037     );
00038 
00041     virtual ~CSLConnectionPoint();
00042 
00047     SI_Void SetName( SI_Char *in_szName );
00048 
00052     SI_Char* GetName();
00053 
00057     SI_TinyVariant* GetValue();
00058 
00063     SI_Void SetShader( CSLXSIShader *in_pShader );
00064 
00068     CSLXSIShader* GetShader();
00069 
00074     virtual SI_Error Synchronize();
00075 
00079     CdotXSIParam* GetParam()
00080     {
00081         return m_pParam;
00082     }
00083 
00084 protected:
00085     CdotXSIParam *m_pParam;
00086 
00087     CSLXSIShader *m_pShader;
00088 };
00089 
00090 #endif