00001 //*************************************************************************************** 00002 // File supervisor: Crosswalk team 00012 //*************************************************************************************** 00013 00014 #ifndef _FXTREE_H 00015 #define _FXTREE_H 00016 00017 #include "Template.h" 00018 00019 class CSLFXOperator; 00020 00026 class XSIEXPORT CSLFXTree 00027 : public CSLTemplate 00028 { 00029 public: 00030 00037 CSLFXTree(CSLScene* in_pScene, CSLModel *in_pModel, CdotXSITemplate* in_pTemplate); 00038 00040 virtual ~CSLFXTree(); 00041 00045 SI_Error Synchronize(); 00046 00050 ETemplateType Type(){ return XSI_FXTREE; } 00051 00056 virtual CSLAnimatableType* ParameterFromName(SI_Char *in_szName); 00057 00059 // FXOperators Functionality ////////////////////////////////////////////////// 00061 00065 CSLFXOperator* AddFXOperator(); 00066 00071 SI_Error RemoveFXOperator( SI_Int in_nIndex ); 00072 00077 SI_Error RemoveFXOperator( CSLFXOperator* in_pToRemove ); 00078 00082 SI_Error ClearFXOperators(); 00083 00088 CSLFXOperator* ConnectFXOperator( CSLFXOperator* in_pToConnect ); 00089 00093 CSLFXOperator** GetFXOperatorList(); 00094 00098 SI_Int GetFXOperatorCount(); 00099 00104 virtual CSLFXOperator* FindFXOperator(SI_Char *in_szName); 00105 00106 private: 00107 CSIBCArray<CSLFXOperator*> m_FXOperators; 00108 00109 SI_Void *m_pReserved; 00110 }; 00111 00112 #endif