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 
00040 //*****************************************************************************
00074 //*****************************************************************************
00075 
00076 class SICPPSDKDECL Application : public SIObject
00077 {
00078 public:
00080     Application();
00081 
00083     ~Application(){}
00084 
00089     Application(const CRef& in_ref);
00090 
00094     Application(const Application& in_obj);
00095 
00100     bool IsA( siClassID in_ClassID) const;
00101 
00105     siClassID GetClassID() const;
00106 
00112     Application& operator=(const Application& in_obj);
00113 
00119     Application& operator=(const CRef& in_ref);
00120 
00124     Selection GetSelection() const;
00125 
00130     CRefArray GetFCurveSelection() const;
00131 
00135     Dictionary GetDictionary() const;
00136 
00140     Project GetActiveProject() const;
00141 
00148     CStatus PutActiveProject(const CString& in_Project) const;
00149 
00153     Model GetActiveSceneRoot() const;
00154 
00160     CString GetInstallationPath( siInstallationPath in_pathType ) const;
00161 
00176     CString GetVersion() const;
00177 
00185     CString GetLicense() const;
00186 
00203     CStatus InstallAddon( const CString& in_strFileName, siInstallationPath in_eInstallDir, bool in_bNoUI=false );
00204 
00213     CStatus UnInstallAddon( const CString& in_strFileName );
00214 
00228     Command CreateCommand( const CString& in_CommandName, siCommandCategory in_category = siNoCategory );
00229 
00239     CStatus AddCommand(const CRef& in_Cmd);
00240 
00252     CStatus RemoveCommand( const CString& name );
00253 
00257     CommandArray GetCommands() const;
00258 
00266     Command GetCommandByScriptingName(const CString& scriptingName) const ;
00267 
00332     CStatus ExecuteCommand
00333     (
00334         const CString&  in_name,
00335         CValueArray&    in_args,
00336         CValue&         io_val
00337     ) const;
00338 
00356     CStatus ExecuteCommand
00357     (
00358         const CString&      in_name,
00359         const CValueArray&  in_args,
00360         CValue&             io_val
00361     ) const;
00362 
00410     CScriptErrorDescriptor ExecuteScriptCode
00411     (
00412         const CString & in_ScriptCode,
00413         const CString&  in_ScriptLanguage
00414     ) ;
00415 
00432     CScriptErrorDescriptor ExecuteScriptProcedure
00433     (
00434         const CString & in_ScriptCode,
00435         const CString&  in_ScriptLanguage,
00436         const CString&  in_ScriptProcedure,
00437         CValueArray&    in_args,
00438         CValue&         out_returnval
00439     ) ;
00440 
00445     CRefArray GetEventInfos() const;
00446 
00455     CStatus LogMessage
00456     (
00457         const CString& in_Message,
00458         siSeverityType in_Sev = siInfoMsg
00459     ) const;
00460 
00468     CStatus CreateProject(
00469             const CString& in_ProjectPath,
00470             Project &out_rProject) const;
00471 
00477     Preferences GetPreferences() const;
00478 
00483     Desktop GetDesktop() const;
00484 
00490     Factory GetFactory() const;
00491 
00497     CString GetActiveToolName() const;
00498 
00502     UIToolkit GetUIToolkit() const;
00503 
00508     CRefArray GetFilters() const;
00509 
00514     CRefArray GetPlugins() const;
00515 
00520     bool IsInteractive() const;
00521 
00529     Plugin LoadPlugin( const CString& in_pluginPath );
00530 
00547     CStatus UnloadPlugin( const CString& in_pluginPath, bool in_bRemove );
00548 
00556     CStatus UpdatePlugins() ;
00557 
00566     CStatus AddWorkgroup(const CString& in_workgroupPath) ;
00567 
00574     CStatus RemoveWorkgroup(const CString& in_workgroupPath) ;
00575 
00580     CStringArray GetWorkgroups() ;
00581 
00590     CStatus RescanWorkgroups() ;
00591 
00606     CStatus ActivateWorkgroup( const CString& in_workgroupPath, bool in_bActivate ) ;
00607 
00612     CRefArray GetRenderers( ) ;
00613 
00620     ProjectItem GetObjectFromID( ULONG in_nID ) const;
00621 
00622     private:
00623     Application * operator&() const;
00624     Application * operator&();
00625 };
00626 
00627 
00628 
00629 };
00630 
00631 #endif // __XSIAPPLICATION_H__