coolray.org FAQ Contact Us
CoolRay Banner
CoolRay / Documentation
Main Page   Class Hierarchy   Compound List   Compound Members   Related Pages  

RenderJobImp Class Reference

Implementation of interface RenderJob. More...

#include <RenderJobImp.h>

Inheritance diagram for RenderJobImp

Inheritance graph
[legend]
Collaboration diagram for RenderJobImp:

Collaboration graph
[legend]
List of all members.

Public Methods

 RenderJobImp (CoolRay *pCoolRay)
virtual ~RenderJobImp ()
virtual bool parse (InputStream *pSceneStream)
virtual void build ()
virtual void render (ImageWriter *pWriter)
virtual void wait ()
virtual bool stop ()
virtual bool isRendering ()
virtual void setRenderSize (long nWidth,long nHeight)
virtual void setRenderArea (Area area)
virtual void setPixelFormat (int nFormat)
virtual void setErrorStream (OutputStream *pErrorStream)
virtual void setProgressDisplay (Progress *pProgress)
virtual VirtualMachinegetVirtualMachine ()
virtual void initVM (unsigned long *nAddrMin,unsigned long *nAddrMax,unsigned long *nAddrStart)
virtual void stepVM ()
virtual void goVM ()
virtual void setBreakpointVM (unsigned long nAddr)
virtual void removeBreakpointVM (unsigned long nAddr)
virtual unsigned long getProgramCounterVM ()
virtual unsigned long readVM (unsigned long nAddr)
virtual double readDoubleVM (unsigned long nAddr)
virtual Vector2 readPointVM (unsigned long nAddr)
virtual Vector3 readVectorVM (unsigned long nAddr)
virtual Color readColorVM (unsigned long nAddr)
virtual std::string readStringVM (unsigned long nAddr)
virtual void readRegisterVM (RegisterSet *regs)
virtual CoolRay* getCoolRay ()const

Protected Methods

void reportRuntimeException (RuntimeException &e)
void reportRuntimeError (RuntimeError &e)
bool scheduleNextSlice (RenderThread *pThread,int nStatus)
 Schedule the next render slice. More...

void showProgress ()
void startRender ()
void initBuild (bool bDebug=false)
void doneBuild ()
void OnFinishWriter (RenderThread *pThread,ImageWriter *pForwardWriter,int nStatus)
void onRenderTerminate (int nStatus)

Protected Attributes

CoolRay* m_pCoolRay
OutputStream* err
ObjectFilem_pProgram
Scene* m_pScene
VirtualMachinem_pVM
DebuggerRenderJobm_pDebugger
bool m_bDoneBuild
Statisticm_pStatistic
Progress* m_pProgress
PerformanceTimer* m_pTimer
ImageWriterm_pWriter
long nWidth
long nHeight
Area area
int nFormat
unsigned long m_nTotalPixels
unsigned long m_nCurrentPixels
ocore::Mutex lock1
unsigned int m_nThreadCount
unsigned int m_nThreadCountMax
ocore::Mutex lock2
InitThreadm_pInitThread
BuildThread* m_pBuildThread
std::vector<RenderThread*> m_RenderThreads
AreaScheduler* m_pAreaScheduler

Friends

class  InitThread
class  DebuggerRenderJob
class  RenderThread
class  ImageWriterInterceptorRenderJobImp

Detailed Description

Implementation of interface RenderJob.


Member Function Documentation

bool RenderJobImp::scheduleNextSlice ( RenderThread * pThread,
int nStatus ) [protected]
 

Schedule the next render slice.

Parameters:
pThread   The thread that wants to receive another slice
nStatus   RENDERJOB_STATUS_OK - everything ok RENDERJOB_STATUS_ABORT - rendering was aborted (either by the user, or due to a internal error)
Returns:
true - next slice was successfully scheduled false - no slice could be scheduled (no more slices, abort detected)


The documentation for this class was generated from the following file:
  • RenderJobImp.h
You are visitor No.

counter

Copyright (c) 2001 Stefan Michel, All Rights Reserved.
Last modified: