xsi_factory.h Source File
 
 
 
xsi_factory.h
Go to the documentation of this file.
00001 //*****************************************************************************
00011 //*****************************************************************************
00012 
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016 
00017 #ifndef __XSI_FACTORY_H__
00018 #define __XSI_FACTORY_H__
00019 
00020 #include "sicppsdk.h"
00021 #include <xsi_siobject.h>
00022 #include "xsi_status.h"
00023 #include "xsi_value.h"
00024 
00025 namespace XSI {
00026 
00027 class CustomOperator;
00028 class CString;
00029 
00030 //*************************************************************************
00060 //*************************************************************************
00061 class SICPPSDKDECL Factory : public SIObject
00062 {
00063 public:
00065         Factory();
00066 
00068         ~Factory();
00069 
00073         Factory(const CRef& in_ref);
00074 
00078         Factory(const Factory& in_obj);
00079 
00084         bool IsA( siClassID in_ClassID) const;
00085 
00089         siClassID GetClassID() const;
00090 
00096         Factory& operator=(const Factory& in_obj);
00097 
00103         Factory& operator=(const CRef& in_ref);
00104 
00115         CRef CreateObject( const CString& name, CStatus* pst = 0 );
00116 
00123         CRef CreateObjectFromPreset( const CString& presetname, const CString& family = L"", CStatus* pst = 0 );
00124 
00134         CRef CreateObjectFromFile( const CString& in_filename, CStatus* out_st = 0 );
00135 
00145         CRef CreateScriptedOp( const CString& name=L"", const CString& code=L"", const CString& language=L"", CStatus* pst = 0 );
00146 
00155         CRef CreateScriptedOpFromFile( const CString& name, const CString& filename, const CString& language = L"", CStatus* pst = 0 );
00156 
00192         CRef CreateParamDef(
00193                 const CString& in_scriptname,
00194                 CValue::DataType in_type,
00195                 siParamClassification in_classification,
00196                 INT in_capabilities,
00197                 const CString& in_name,
00198                 const CString& in_description,
00199                 const CValue& in_default,
00200                 const CValue& in_min,
00201                 const CValue& in_max,
00202                 const CValue& in_suggestedmin,
00203                 const CValue& in_suggestedmax,
00204                 CStatus* pst = 0 );
00205 
00239         CRef CreateParamDef(
00240                 const CString& in_scriptname,
00241                 CValue::DataType in_type,
00242                 INT in_capabilities,
00243                 const CString& in_name,
00244                 const CString& in_description,
00245                 const CValue& in_default,
00246                 const CValue& in_min,
00247                 const CValue& in_max,
00248                 const CValue& in_suggestedmin,
00249                 const CValue& in_suggestedmax,
00250                 CStatus* pst = 0 );
00251 
00275         CRef CreateParamDef(
00276                 const CString& in_scriptname,
00277                 CValue::DataType in_type,
00278                 const CValue& in_default,
00279                 const CValue& in_min,
00280                 const CValue& in_max,
00281                 CStatus* pst = 0 );
00282 
00302         CRef CreateParamDef(
00303                 const CString& in_scriptname,
00304                 CValue::DataType in_type,
00305                 const CValue& in_default,
00306                 CStatus* pst = 0 );
00307 
00326         CRef CreateFCurveParamDef( const CString& in_scriptname, CStatus* pst = 0) ;
00327 
00338         CRef CreateGridParamDef( const CString& in_scriptname, CStatus* pst = 0 ) ;
00339 
00346         CRef CreateTimeTransport( CStatus* pst = 0 );
00354         CRef CreateICENodeDef( const CString& in_name, const CString& in_description = CString(), CStatus* pst = 0 ) ;
00355 
00373         CRef CreateShaderDef( const CString& in_parserName, const CString& in_className, ULONG in_major, ULONG in_minor );
00374 
00380         CStatus RemoveShaderDef( const CRef& in_shaderdef );
00381 
00382 
00387         CRef CreateShaderParamDefOptions();
00388 
00389 private:
00390 
00391         void* m_ptr;
00392 };
00393 
00394 };
00395 
00396 #endif //__XSI_FACTORY_H__