FXTree.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 _FXTREE_H
00013 #define _FXTREE_H
00014 
00015 #include "Template.h"
00016 
00017 class CSLFXOperator;
00018 
00022 class XSIEXPORT CSLFXTree
00023     : public CSLTemplate
00024 {
00025 public:
00026 
00033     CSLFXTree(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate);
00034 
00036     virtual ~CSLFXTree();
00037 
00041     SI_Error Synchronize();
00042 
00046     ETemplateType Type(){ return XSI_FXTREE; }
00047 
00052     virtual CSLAnimatableType*      ParameterFromName(SI_Char *in_szName);
00053 
00055     // FXOperators Functionality //////////////////////////////////////////////////
00057 
00061     CSLFXOperator* AddFXOperator();
00062 
00067     SI_Error RemoveFXOperator( SI_Int in_nIndex );
00068 
00073     SI_Error RemoveFXOperator( CSLFXOperator* in_pToRemove );
00074 
00078     SI_Error ClearFXOperators();
00079 
00084     CSLFXOperator* ConnectFXOperator( CSLFXOperator* in_pToConnect );
00085 
00089     CSLFXOperator** GetFXOperatorList();
00090 
00094     SI_Int GetFXOperatorCount();
00095 
00100     virtual CSLFXOperator* FindFXOperator(SI_Char *in_szName);
00101 
00102 private:
00103     CSIBCArray<CSLFXOperator*> m_FXOperators;
00104 
00105     SI_Void *m_pReserved;
00106 };
00107 
00108 #endif