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