00001
00011
00012
00013 #if (_MSC_VER > 1000) || defined(SGI_COMPILER)
00014 #pragma once
00015 #endif
00016
00017 #ifndef __XSIXSIGRAPHICSEQUENCER_H__
00018 #define __XSIXSIGRAPHICSEQUENCER_H__
00019
00020 #include <xsi_decl.h>
00021 #include <xsi_status.h>
00022 #include <xsi_ref.h>
00023 #include <xsi_material.h>
00024
00025 namespace XSI {
00026
00027
00037
00038
00039 class SICPPSDKDECL CGraphicSequencer
00040 {
00041 public:
00043 CGraphicSequencer();
00044
00046 ~CGraphicSequencer();
00047
00057 CStatus RegisterDisplayCallback ( const CString& in_szName,
00058 const LONG in_lStateFlags,
00059 const siDisplayCallback in_eType,
00060 const siViewMode in_eViewMode,
00061 const CString& in_szCustomViewModeName) const;
00062
00072 CStatus RegisterPassCallback ( const CString& in_szPassName,
00073 const LONG in_lStateFlags,
00074 const LONG in_lPassFlags,
00075 const CString& in_szRelativePassName ) const;
00076
00084 CStatus RenderSceneUsingMode ( const siViewMode in_eViewMode, INT in_lRenderFlags) const;
00085
00093 CStatus RenderSceneUsingMaterial ( const CString& in_szShaderName, INT in_lRenderFlags ) const;
00094
00101 CStatus RenderListUsingMode ( const CRefArray& in_pObjectList,
00102 const siViewMode in_eViewMode ) const;
00103
00110 CStatus RenderListUsingMaterial ( const CRefArray& in_pObjectList,
00111 const CString& in_szShaderName ) const;
00112
00119 CStatus GetNbStates ( siXGSStateType in_eType, INT *out_pNbStates) const;
00120
00127 CStatus DeleteState ( siXGSStateType in_eType, const CString& in_pID ) const;
00128
00137 CStatus CreateState ( siXGSStateType in_eType, const CString& in_pID, void* in_pValuePtr, void** out_pStateHandle) const;
00138
00146 CStatus GetStateHandle ( siXGSStateType in_eType, const CString& in_pID, void** out_pStateHandle) const;
00147
00155 CStatus GetStateValue ( siXGSStateType in_eType, void* in_lStateHandle, void* out_pStateValue) const;
00156
00164 CStatus SetStateValue ( siXGSStateType in_eType, void* in_lStateHandle, void* in_pStateValue) const;
00165
00171 CStatus GetSceneDirtyFlag ( bool* out_bBool ) const;
00172
00180 CStatus GetContextFlags ( LONG* out_lFlags ) const;
00181
00182
00187 CRef GetCamera () const;
00188
00189
00190 private:
00191
00192 CGraphicSequencer * operator&() const;
00193 CGraphicSequencer * operator&();
00194
00195 void* m_pImpl;
00196 };
00197
00198 }
00199
00200 #endif // __XSIXSIGRAPHICSEQUENCER_H__