xsi_application.h Source File
 
 
 
xsi_application.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 __XSIAPPLICATION_H__
00018 #define __XSIAPPLICATION_H__
00019 
00020 #include <xsi_siobject.h>
00021 #include <xsi_value.h>
00022 #include <xsi_status.h>
00023 
00024 namespace XSI {
00025 
00026 class Selection;
00027 class Dictionary;
00028 class Command;
00029 class CommandArray;
00030 class Project;
00031 class Model;
00032 class Preferences;
00033 class Desktop;
00034 class UIToolkit;
00035 class Plugin;
00036 class UIToolkit;
00037 class Factory;
00038 class ProjectItem;
00039 class ShaderDef;
00040 
00041 //*****************************************************************************
00075 //*****************************************************************************
00076 
00077 class SICPPSDKDECL Application : public SIObject
00078 {
00079 public:
00081         Application();
00082 
00084         ~Application(){}
00085 
00090         Application(const CRef& in_ref);
00091 
00095         Application(const Application& in_obj);
00096 
00101         bool IsA( siClassID in_ClassID) const;
00102 
00106         siClassID GetClassID() const;
00107 
00113         Application& operator=(const Application& in_obj);
00114 
00120         Application& operator=(const CRef& in_ref);
00121 
00125         Selection GetSelection() const;
00126 
00131         CRefArray GetFCurveSelection() const;
00132 
00136         Dictionary GetDictionary() const;
00137 
00141         Project GetActiveProject() const;
00142 
00149         CStatus PutActiveProject(const CString& in_Project) const;
00150 
00154         Model GetActiveSceneRoot() const;
00155 
00161         CString GetInstallationPath( siInstallationPath in_pathType ) const;
00162 
00177         CString GetVersion() const;
00178 
00186         CString GetLicense() const;
00187 
00204         CStatus InstallAddon( const CString& in_strFileName, siInstallationPath in_eInstallDir, bool in_bNoUI=false );
00205 
00214         CStatus UnInstallAddon( const CString& in_strFileName );
00215 
00229         Command CreateCommand( const CString& in_CommandName, siCommandCategory in_category = siNoCategory );
00230 
00240         CStatus AddCommand(const CRef& in_Cmd);
00241 
00253         CStatus RemoveCommand( const CString& name );
00254 
00258         CommandArray GetCommands() const;
00259 
00267         Command GetCommandByScriptingName(const CString& scriptingName) const ;
00268 
00333         CStatus ExecuteCommand
00334         (
00335                 const CString&  in_name,
00336                 CValueArray&    in_args,
00337                 CValue&                 io_val
00338         ) const;
00339 
00357         CStatus ExecuteCommand
00358         (
00359                 const CString&          in_name,
00360                 const CValueArray&      in_args,
00361                 CValue&                         io_val
00362         ) const;
00363 
00375         CScriptErrorDescriptor ExecuteScript
00376         (
00377                 const CString &         in_ScriptFilename,
00378                 const CString&          in_ScriptLanguage,
00379                 const CString&          in_ScriptProcedure,
00380                 CValueArray&            in_args,
00381                 CValue&                         out_returnval
00382         ) ;
00383 
00431         CScriptErrorDescriptor ExecuteScriptCode
00432         (
00433                 const CString & in_ScriptCode,
00434                 const CString&  in_ScriptLanguage
00435         ) ;
00436 
00453         CScriptErrorDescriptor ExecuteScriptProcedure
00454         (
00455                 const CString & in_ScriptCode,
00456                 const CString&  in_ScriptLanguage,
00457                 const CString&  in_ScriptProcedure,
00458                 CValueArray&    in_args,
00459                 CValue&                 out_returnval
00460         ) ;
00461 
00466         CRefArray GetEventInfos() const;
00467 
00476         CStatus LogMessage
00477         (
00478                 const CString& in_Message,
00479                 siSeverityType in_Sev = siInfoMsg
00480         ) const;
00481 
00489         CStatus CreateProject(
00490                         const CString& in_ProjectPath,
00491                         Project &out_rProject) const;
00492 
00498         Preferences GetPreferences() const;
00499 
00504         Desktop GetDesktop() const;
00505 
00511         Factory GetFactory() const;
00512 
00518         CString GetActiveToolName() const;
00519 
00523         UIToolkit GetUIToolkit() const;
00524 
00529         CRefArray GetFilters() const;
00530 
00535         CRefArray GetPlugins() const;
00536 
00541         bool IsInteractive() const;
00542 
00550         Plugin LoadPlugin( const CString& in_pluginPath );
00551 
00568         CStatus UnloadPlugin( const CString& in_pluginPath, bool in_bRemove );
00569 
00577         CStatus UpdatePlugins() ;
00578 
00587         CStatus AddWorkgroup(const CString& in_workgroupPath) ;
00588 
00595         CStatus RemoveWorkgroup(const CString& in_workgroupPath) ;
00596 
00601         CStringArray GetWorkgroups() ;
00602 
00611         CStatus RescanWorkgroups() ;
00612 
00627         CStatus ActivateWorkgroup( const CString& in_workgroupPath, bool in_bActivate ) ;
00628 
00633         CRefArray GetRenderers( ) ;
00634 
00641         ProjectItem GetObjectFromID( ULONG in_nID ) const;
00642 
00716         CSIObjectRefArray FindObjects( const XSI::siClassID& in_nClsID ) const;
00717 
00740         CSIObjectRefArray FindObjects( const CString& in_sCLSID ) const;
00741 
00747         ShaderDef GetShaderDef( const CString&  in_progID );
00748 
00753         CRefArray GetShaderDefinitions( );
00754 
00778         CStatus RegisterShaderFamily(
00779                 const CString &in_strName,
00780                 const CString &in_strDisplayName,
00781                 const CString &in_strDescription,
00782                 unsigned char in_nodeRed,
00783                 unsigned char in_nodeGreen,
00784                 unsigned char in_nodeBlue,
00785                 bool            in_bShaderball
00786                 );
00787 
00815         CStatus RegisterShaderCustomParameterType(
00816                 const CString &in_strName,
00817                 const CString &in_strDisplayName,
00818                 const CString &in_strDescription,
00819                 unsigned char in_portRed,
00820                 unsigned char in_portGreen,
00821                 unsigned char in_portBlue,
00822                 const CStringArray &in_typeFilter,
00823                 const CStringArray &in_familyFilter
00824                 );
00825 
00859         CStatus OpenUndo( const CString& in_sComplexName );
00860 
00888         CStatus CloseUndo( );
00889 
00894         bool IsUndoing() const;
00895         
00902         ULONG GetCustomPropertyCount( const CString& in_strType ) const;
00903 
00904         private:
00905         Application * operator&() const;
00906         Application * operator&();
00907 };
00908 
00909 
00910 
00911 };
00912 
00913 #endif // __XSIAPPLICATION_H__