# 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__