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
00896 private:
00897 Application * operator&() const;
00898 Application * operator&();
00899 };
00900
00901
00902
00903 };
00904
00905 #endif // __XSIAPPLICATION_H__