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__