xsi_renderercontext.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 __XSIRENDERERCONTEXT_H__
    00018 #define __XSIRENDERERCONTEXT_H__
    00019
    00020 #include <xsi_base.h>
    00021 #include <xsi_value.h>
    00022 #include <xsi_context.h>
    00023 #include <xsi_time.h>
    00024
    00025 namespace XSI {
    00026
    00027 class Framebuffer;
    00028 class Property;
    00029
    00037 class RendererImageFragment
    00038 {
    00039 public:
    00044     virtual unsigned int GetOffsetX( ) const = 0;
    00045
    00050     virtual unsigned int GetOffsetY( ) const = 0;
    00051
    00055     virtual unsigned int GetWidth( ) const = 0;
    00056
    00060     virtual unsigned int GetHeight( ) const = 0;
    00061
    00080     virtual bool GetScanlineRGBA( unsigned int in_uiRow, siImageBitDepth in_eBitDepth, unsigned char *out_pScanline ) const = 0;
    00081 };
    00082
    00083
    00084 //*****************************************************************************
    00092 //*****************************************************************************
    00093
    00094 class SICPPSDKDECL RendererContext : public Context
    00095 {
    00096 public:
    00097
    00099     RendererContext();
    00100
    00102     ~RendererContext();
    00103
    00107     RendererContext(const CRef& in_ref);
    00108
    00112     RendererContext(const RendererContext& in_obj);
    00113
    00118     bool IsA( siClassID in_ClassID) const;
    00119
    00123     siClassID GetClassID() const;
    00124
    00129     RendererContext& operator=(const RendererContext& in_obj);
    00130
    00136     RendererContext& operator=(const CRef& in_ref);
    00137
    00145     CTime GetTime() const;
    00146
    00154     unsigned int GetSequenceIndex( ) const;
    00155
    00161     unsigned int GetSequenceLength( ) const;
    00162
    00171     CStatus ProgressUpdate( const CString &in_strProgressShort, const CString &in_strProgressLong, int in_iPercentage );
    00172
    00183     CStatus NewFrame( unsigned int in_uiWidth, unsigned int in_uiHeight );
    00184
    00190     CStatus NewFragment( const RendererImageFragment &in_fragment );
    00191
    00208     CStatus TriggerEvent( siEventID in_eEventID, siRenderingType in_eRenderingType, const CTime &in_rTime, const CStringArray &in_filenames, siRenderFieldType in_eFieldType, siRenderingErrorType in_eRenderErrorType );
    00209
    00210     // For back-comp.
    00211     CStatus TriggerEvent( siEventID in_eEventID, siRenderingType in_eRenderingType, const CTime &in_rTime, const CStringArray &in_filenames, siRenderFieldType in_eFieldType );
    00212
    00219     Property GetRendererProperty( const CTime &in_rTime );
    00220
    00230     Framebuffer GetDisplayFramebuffer( );
    00231
    00236     CRefArray GetFramebuffers( );
    00237
    00262     CStatus SetObjectClean( const CRef& in_ref );
    00263
    00264
    00265     private:
    00266     RendererContext * operator&() const;
    00267     RendererContext * operator&();
    00268 };
    00269
    00270 };
    00271 #endif // __XSIRENDERERCONTEXT_H__