xsi_graphicsequencer.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 __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__