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