Rhino C++ API  8.7
Public Types | Public Member Functions | List of all members
IRhRdkRenderSession Class Referenceabstract

#include <IRhRdkRenderWindow.h>

Public Types

enum  Status : unsigned int {
  Status::Quiescent, Status::Initializing, Status::Rendering, Status::Paused,
  Status::Completed, Status::Canceled, Status::Aborted, Status::Failed,
  Status::Reusing, Status::Disposed, Status::Deleted, Status::Waiting
}
 

Public Member Functions

virtual ~IRhRdkRenderSession ()
 
virtual class IRhRdkAsyncRenderContextAsyncRenderContext (void) const =0
 
virtual IRhRdkRenderSessionBeginClone (void) const =0
 
virtual void Dispose (void)=0
 
virtual int ElapsedSeconds (void) const =0
 
virtual void EndClone (void) const =0
 
virtual void * EVF (const wchar_t *, void *)=0
 
virtual Status GetPrevStatus (void) const =0
 
virtual Status GetStatus (void) const =0
 
virtual bool IsLastRenderingValuable (void) const =0
 
virtual UUID RenderEngineId (void) const =0
 
virtual UUID RenderSessionId (void) const =0
 
virtual class IRhRdkRenderWindowRenderWindow (void) const =0
 
virtual unsigned int RhinoDocSerialNumber (void) const =0
 
virtual class CRhRdkSdkRenderSdkRender (void) const =0
 
virtual void SetAsyncRenderContext (class IRhRdkAsyncRenderContext *pARC)=0
 
virtual void SetElapsedSeconds (int elapsed)=0
 
virtual void SetQuiet (void)=0
 
virtual void SetStatus (Status s)=0
 
virtual void SetWasCanceled (void)=0
 
virtual void StopRendering (void)=0
 
virtual bool WasCanceled (void) const =0
 

Detailed Description

This is the interface to a render session.

Note
This interface is implemented in RDK in a thread-safe manner so that you can call the methods from any thread your renderer happens to be running in.
See also
CRhRdkRenderSession
CRhRdkSdkRenderImpl
IRhRdkAsyncRenderContext
IRhRdkRenderWindow
IRhRdkRenderUI
RhRdkFindRenderWindow
RhRdkFindRenderSession

Member Enumeration Documentation

◆ Status

enum IRhRdkRenderSession::Status : unsigned int
strong
Enumerator
Quiescent 
Initializing 
Rendering 
Paused 
Completed 
Canceled 
Aborted 
Failed 
Reusing 
Disposed 
Deleted 
Waiting 

Constructor & Destructor Documentation

◆ ~IRhRdkRenderSession()

virtual IRhRdkRenderSession::~IRhRdkRenderSession ( )
inlinevirtual

Member Function Documentation

◆ AsyncRenderContext()

virtual class IRhRdkAsyncRenderContext* IRhRdkRenderSession::AsyncRenderContext ( void  ) const
pure virtual
Returns
The async render context if the render session is asynchronous, else null.

◆ BeginClone()

virtual IRhRdkRenderSession* IRhRdkRenderSession::BeginClone ( void  ) const
pure virtual

Create a clone of the render session. All important state is preserved in the clone except that it gets a new unique render session id. This call must be followed by a call to EndClone().

◆ Dispose()

virtual void IRhRdkRenderSession::Dispose ( void  )
pure virtual

Call this to dispose of the render session.

◆ ElapsedSeconds()

virtual int IRhRdkRenderSession::ElapsedSeconds ( void  ) const
pure virtual
Returns
The number of seconds taken by rendering (so far if not finished).

◆ EndClone()

virtual void IRhRdkRenderSession::EndClone ( void  ) const
pure virtual

Finish creating a clone of the render session.

◆ EVF()

virtual void* IRhRdkRenderSession::EVF ( const wchar_t *  ,
void *   
)
pure virtual

Emergency virtual function for future expansion.

◆ GetPrevStatus()

virtual Status IRhRdkRenderSession::GetPrevStatus ( void  ) const
pure virtual

◆ GetStatus()

virtual Status IRhRdkRenderSession::GetStatus ( void  ) const
pure virtual

◆ IsLastRenderingValuable()

virtual bool IRhRdkRenderSession::IsLastRenderingValuable ( void  ) const
pure virtual
Returns
true if the last rendering is considered 'valuable', else false. When closing valuable renderings, the user will be asked if s/he wants to save.

◆ RenderEngineId()

virtual UUID IRhRdkRenderSession::RenderEngineId ( void  ) const
pure virtual
Returns
The render engine id of this render session.

◆ RenderSessionId()

virtual UUID IRhRdkRenderSession::RenderSessionId ( void  ) const
pure virtual
Returns
The render session id of this render session.

◆ RenderWindow()

virtual class IRhRdkRenderWindow& IRhRdkRenderSession::RenderWindow ( void  ) const
pure virtual
Returns
The render window associated with this render session.

◆ RhinoDocSerialNumber()

virtual unsigned int IRhRdkRenderSession::RhinoDocSerialNumber ( void  ) const
pure virtual
Returns
The document serial number associated with this render session.

◆ SdkRender()

virtual class CRhRdkSdkRender* IRhRdkRenderSession::SdkRender ( void  ) const
pure virtual
Returns
The SDK Render stack object associated with this render session.
Note
For async renderers, this method may return null because the SDK Render object goes off the stack right after rendering begins. It is not safe to call this method from your async rendering thread because the object may go off the stack and get deleted after the thread gets a pointer to it.

◆ SetAsyncRenderContext()

virtual void IRhRdkRenderSession::SetAsyncRenderContext ( class IRhRdkAsyncRenderContext pARC)
pure virtual

Set the async render context if the render session is asynchronous. RDK will take ownership of the async render context.

◆ SetElapsedSeconds()

virtual void IRhRdkRenderSession::SetElapsedSeconds ( int  elapsed)
pure virtual

OBSOLETE. Not called.

◆ SetQuiet()

virtual void IRhRdkRenderSession::SetQuiet ( void  )
pure virtual

◆ SetStatus()

virtual void IRhRdkRenderSession::SetStatus ( Status  s)
pure virtual

◆ SetWasCanceled()

virtual void IRhRdkRenderSession::SetWasCanceled ( void  )
pure virtual

Set 'rendering was canceled' flag.

◆ StopRendering()

virtual void IRhRdkRenderSession::StopRendering ( void  )
pure virtual

Stop rendering as soon as possible. Should not return until rendering has stopped.

◆ WasCanceled()

virtual bool IRhRdkRenderSession::WasCanceled ( void  ) const
pure virtual

Get 'rendering was canceled' flag.