Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkRenderer Class Reference

abstract specification for renderers. More...

#include <vtkRenderer.h>

Inheritance diagram for vtkRenderer:

Inheritance graph
Collaboration diagram for vtkRenderer:

Collaboration graph
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void AddLight (vtkLight *)
void AddActor (vtkProp *p)
void AddVolume (vtkProp *p)
void RemoveActor (vtkProp *p)
void RemoveVolume (vtkProp *p)
void RemoveLight (vtkLight *)
vtkLightCollectionGetLights ()
vtkVolumeCollectionGetVolumes ()
vtkActorCollectionGetActors ()
void SetActiveCamera (vtkCamera *)
vtkCameraGetActiveCamera ()
void AddCuller (vtkCuller *)
void RemoveCuller (vtkCuller *)
vtkCullerCollectionGetCullers ()
virtual void SetAmbient (float, float, float)
virtual void SetAmbient (float[3])
virtual float * GetAmbient ()
virtual void GetAmbient (float data[3])
virtual void SetAllocatedRenderTime (float)
virtual float GetAllocatedRenderTime ()
virtual float GetTimeFactor ()
virtual void Render ()
virtual void DeviceRender ()=0
virtual void Clear ()
int VisibleActorCount ()
int VisibleVolumeCount ()
void CreateLight (void)
void ComputeVisiblePropBounds (float bounds[6])
void ResetCameraClippingRange ()
void ResetCameraClippingRange (float bounds[6])
void ResetCameraClippingRange (float xmin, float xmax, float ymin, float ymax, float zmin, float zmax)
void ResetCamera ()
void ResetCamera (float bounds[6])
void ResetCamera (float xmin, float xmax, float ymin, float ymax, float zmin, float zmax)
void SetRenderWindow (vtkRenderWindow *)
vtkRenderWindowGetRenderWindow ()
virtual vtkWindowGetVTKWindow ()
virtual int GetTwoSidedLighting ()
virtual void SetTwoSidedLighting (int)
virtual void TwoSidedLightingOn ()
virtual void TwoSidedLightingOff ()
virtual void SetBackingStore (int)
virtual int GetBackingStore ()
virtual void BackingStoreOn ()
virtual void BackingStoreOff ()
virtual void SetInteractive (int)
virtual int GetInteractive ()
virtual void InteractiveOn ()
virtual void InteractiveOff ()
virtual void SetLayer (int)
virtual int GetLayer ()
int Transparent ()
void WorldToView ()
void ViewToWorld ()
virtual void ViewToWorld (float &wx, float &wy, float &wz)
virtual void WorldToView (float &wx, float &wy, float &wz)
virtual vtkRayCasterGetRayCaster ()
float GetZ (int x, int y)
void RenderOverlay ()
unsigned long GetMTime ()
virtual float GetLastRenderTimeInSeconds ()
void UnRegister (vtkObject *o)
virtual int GetNumberOfPropsRenderedAsGeometry ()
vtkAssemblyPathPickProp (float selectionX, float selectionY)
virtual void SetLightFollowCamera (int)
virtual int GetLightFollowCamera ()
virtual void LightFollowCameraOn ()
virtual void LightFollowCameraOff ()

Static Public Methods

int IsTypeOf (const char *type)
vtkRenderer * SafeDownCast (vtkObject *o)
vtkRenderer * New ()

Protected Methods

 vtkRenderer ()
 ~vtkRenderer ()
 vtkRenderer (const vtkRenderer &)
void operator= (const vtkRenderer &)
virtual void PickRender (vtkPropCollection *props)
virtual void PickGeometry ()
void AllocateTime ()
virtual int UpdateGeometry (void)
virtual int UpdateCamera (void)
virtual int UpdateLightGeometry (void)
virtual int UpdateLights (void)

Protected Attributes

float Ambient [3]
float AllocatedRenderTime
float TimeFactor
int TwoSidedLighting
int BackingStore
unsigned char * BackingImage
vtkTimeStamp RenderTime
float LastRenderTimeInSeconds
int LightFollowCamera
int NumberOfPropsRenderedAsGeometry
int NumberOfPropsToRayCast
int NumberOfPropsToRenderIntoImage
vtkProp ** PropArray
int PropArrayCount
vtkProp ** RayCastPropArray
vtkProp ** RenderIntoImagePropArray
vtkAssemblyPath ** PathArray
int PathArrayCount
int Interactive
int Layer

Detailed Description

abstract specification for renderers.

2000/12/10 20:08:50

vtkRenderer provides an abstract specification for renderers. A renderer is an object that controls the rendering process for objects. Rendering is the process of converting geometry, a specification for lights, and a camera view into an image. vtkRenderer also performs coordinate transformation between world coordinates, view coordinates (the computer graphics rendering coordinate system), and display coordinates (the actual screen coordinates on the display device). Certain advanced rendering features such as two-sided lighting can also be controlled.

See also:
vtkRenderWindow vtkActor vtkCamera vtkLight vtkVolume vtkRayCaster
vtkRenderer (examples)

Definition at line 80 of file vtkRenderer.h.

Constructor & Destructor Documentation

vtkRenderer::vtkRenderer   [protected]

vtkRenderer::~vtkRenderer   [protected]

vtkRenderer::vtkRenderer const vtkRenderer &    [inline, protected]

Definition at line 297 of file vtkRenderer.h.

Member Function Documentation

virtual const char* vtkRenderer::GetClassName   [virtual]

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkViewport.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

int vtkRenderer::IsTypeOf const char *    type [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkViewport.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

virtual int vtkRenderer::IsA const char *    type [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkViewport.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

vtkRenderer* vtkRenderer::SafeDownCast vtkObject   o [static]

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkViewport.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

Referenced by vtkRendererCollection::GetNextItem().

void vtkRenderer::PrintSelf ostream &    os,
vtkIndent    indent

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkViewport.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

vtkRenderer* vtkRenderer::New   [static]

Create a vtkRenderer with a black background, a white ambient light, two-sided lighting turned on, a viewport of (0,0,1,1), and backface culling turned off.

Reimplemented from vtkObject.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

void vtkRenderer::AddLight vtkLight  

Add a light to the list of lights.

void vtkRenderer::AddActor vtkProp   p [inline]

Add/Remove different types of props to the renderer. These methods are all synonyms to AddProp and RemoveProp. They are here for convenience and backwards compatibility.

Definition at line 97 of file vtkRenderer.h.

void vtkRenderer::AddVolume vtkProp   p [inline]

Definition at line 98 of file vtkRenderer.h.

void vtkRenderer::RemoveActor vtkProp   p [inline]

Definition at line 99 of file vtkRenderer.h.

void vtkRenderer::RemoveVolume vtkProp   p [inline]

Definition at line 100 of file vtkRenderer.h.

void vtkRenderer::RemoveLight vtkLight  

Remove a light from the list of lights.

vtkLightCollection * vtkRenderer::GetLights   [inline]

Return the collection of lights.

Definition at line 380 of file vtkRenderer.h.

vtkVolumeCollection* vtkRenderer::GetVolumes  

Return the collection of volumes.

vtkActorCollection* vtkRenderer::GetActors  

Return any actors in this renderer.

void vtkRenderer::SetActiveCamera vtkCamera  

Specify the camera to use for this renderer.

vtkCamera* vtkRenderer::GetActiveCamera  

Get the current camera.

void vtkRenderer::AddCuller vtkCuller  

Add an culler to the list of cullers.

void vtkRenderer::RemoveCuller vtkCuller  

Remove an actor from the list of cullers.

vtkCullerCollection * vtkRenderer::GetCullers   [inline]

Return the collection of cullers.

Definition at line 383 of file vtkRenderer.h.

virtual void vtkRenderer::SetAmbient float   ,
float   ,

Set the intensity of ambient lighting.

virtual void vtkRenderer::SetAmbient float   [3] [virtual]

virtual float* vtkRenderer::GetAmbient   [virtual]

virtual void vtkRenderer::GetAmbient float    data[3] [virtual]

virtual void vtkRenderer::SetAllocatedRenderTime float    [virtual]

Set/Get the amount of time this renderer is allowed to spend rendering its scene. This is used by vtkLODActor's.

virtual float vtkRenderer::GetAllocatedRenderTime   [virtual]

virtual float vtkRenderer::GetTimeFactor   [virtual]

Get the ratio between allocated time and actual render time.

virtual void vtkRenderer::Render   [virtual]

Create an image. This is a superclass method which will in turn call the DeviceRender method of Subclasses of vtkRenderer

virtual void vtkRenderer::DeviceRender void    [pure virtual]

Create an image. Subclasses of vtkRenderer must implement this method.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

virtual void vtkRenderer::Clear void    [inline, virtual]

Clear the image to the background color.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

Definition at line 151 of file vtkRenderer.h.

int vtkRenderer::VisibleActorCount  

Returns the number of visible actors.

int vtkRenderer::VisibleVolumeCount  

Returns the number of visible volumes.

void vtkRenderer::CreateLight void   

Create and add a light to renderer.

void vtkRenderer::ComputeVisiblePropBounds float    bounds[6]

Compute the bounding box of all the visible props Used in ResetCamera() and ResetCameraClippingRange()

void vtkRenderer::ResetCameraClippingRange  

Reset the camera clipping range based on the bounds of the visible actors. This ensures that no props are cut off

void vtkRenderer::ResetCameraClippingRange float    bounds[6]

Reset the camera clipping range based on a bounding box. This method is called from ResetCameraClippingRange()

void vtkRenderer::ResetCameraClippingRange float    xmin,
float    xmax,
float    ymin,
float    ymax,
float    zmin,
float    zmax

void vtkRenderer::ResetCamera  

Automatically set up the camera based on the visible actors. The camera will reposition itself to view the center point of the actors, and move along its initial view plane normal (i.e., vector defined from camera position to focal point) so that all of the actors can be seen.

void vtkRenderer::ResetCamera float    bounds[6]

Automatically set up the camera based on a specified bounding box (xmin,xmax, ymin,ymax, zmin,zmax). Camera will reposition itself so that its focal point is the center of the bounding box, and adjust its distance and position to preserve its initial view plane normal (i.e., vector defined from camera position to focal point). Note: is the view plane is parallel to the view up axis, the view up axis will be reset to one of the three coordinate axes.

void vtkRenderer::ResetCamera float    xmin,
float    xmax,
float    ymin,
float    ymax,
float    zmin,
float    zmax

Alternative version of ResetCamera(bounds[6]);

void vtkRenderer::SetRenderWindow vtkRenderWindow  

Specify the rendering window in which to draw. This is automatically set when the renderer is created by MakeRenderer. The user probably shouldn't ever need to call this method.

vtkRenderWindow* vtkRenderer::GetRenderWindow   [inline]

Definition at line 201 of file vtkRenderer.h.

virtual vtkWindow* vtkRenderer::GetVTKWindow   [virtual]

Return the vtkWindow that owns this vtkViewport.

Reimplemented from vtkViewport.

virtual int vtkRenderer::GetTwoSidedLighting   [virtual]

Turn on/off two-sided lighting of surfaces. If two-sided lighting is off, then only the side of the surface facing the light(s) will be lit, and the other side dark. If two-sided lighting on, both sides of the surface will be lit.

virtual void vtkRenderer::SetTwoSidedLighting int    [virtual]

virtual void vtkRenderer::TwoSidedLightingOn   [virtual]

virtual void vtkRenderer::TwoSidedLightingOff   [virtual]

virtual void vtkRenderer::SetBackingStore int    [virtual]

Turn on/off using backing store. This may cause the re-rendering time to be slightly slower when the view changes. But it is much faster when the image has not changed, such as during an expose event.

virtual int vtkRenderer::GetBackingStore   [virtual]

virtual void vtkRenderer::BackingStoreOn   [virtual]

virtual void vtkRenderer::BackingStoreOff   [virtual]

virtual void vtkRenderer::SetInteractive int    [virtual]

Turn on/off interactive status. An interactive renderer is one that can receive events from an interactor. Should only be set if there are multiple renderers in the same section of the viewport.

virtual int vtkRenderer::GetInteractive   [virtual]

virtual void vtkRenderer::InteractiveOn   [virtual]

virtual void vtkRenderer::InteractiveOff   [virtual]

virtual void vtkRenderer::SetLayer int    [virtual]

Set/Get the layer that this renderer belongs to. This is only used if there are layered renderers.

virtual int vtkRenderer::GetLayer   [virtual]

int vtkRenderer::Transparent  

Returns a boolean indicating if this renderer is transparent. It is transparent if it is not in the deepest layer of its render window.

void vtkRenderer::WorldToView   [virtual]

Convert world point coordinates to view coordinates.

Reimplemented from vtkViewport.

void vtkRenderer::ViewToWorld   [virtual]

Convert view point coordinates to world coordinates.

Reimplemented from vtkViewport.

virtual void vtkRenderer::ViewToWorld float &    wx,
float &    wy,
float &    wz

Reimplemented from vtkViewport.

virtual void vtkRenderer::WorldToView float &    wx,
float &    wy,
float &    wz

Convert world point coordinates to view coordinates.

Reimplemented from vtkViewport.

virtual vtkRayCaster* vtkRenderer::GetRayCaster   [virtual]

Return the RayCaster being used by this renderer.

float vtkRenderer::GetZ int    x,
int    y

Given a pixel location, return the Z value

void vtkRenderer::RenderOverlay  

Render the overlay actors. This gets called from the RenderWindow because it may need to be synchronized to happen after the buffers have been swapped.

unsigned long vtkRenderer::GetMTime   [virtual]

Return the MTime of the renderer also considering its ivars.

Reimplemented from vtkObject.

virtual float vtkRenderer::GetLastRenderTimeInSeconds   [virtual]

Get the time required, in seconds, for the last Render call.

void vtkRenderer::UnRegister vtkObject   o [virtual]

Detects reference loop renderer<->rayCaster

Reimplemented from vtkObject.

virtual int vtkRenderer::GetNumberOfPropsRenderedAsGeometry   [virtual]

Should be used internally only during a render Get the number of props that were rendered using a RenderOpaqueGeometry or RenderTranslucentGeometry call. This is used to know if something is in the frame buffer.

vtkAssemblyPath* vtkRenderer::PickProp float    selectionX,
float    selectionY

Return the prop (via a vtkAssemblyPath) that has the highest z value at the given x, y position in the viewport. Basically, the top most prop that renders the pixel at selectionX, selectionY will be returned. If nothing was picked then NULL is returned. This method selects from the renderers Prop list.

Reimplemented from vtkViewport.

virtual void vtkRenderer::SetLightFollowCamera int    [virtual]

Turn on/off the automatic repositioning of lights as the camera moves. If LightFollowCamera is on, lights that are designated as Headlights or CameraLights will be adjusted to move with this renderer's camera. If LightFollowCamera is off, the lights will not be adjusted. (Note: In previous versions of vtk, this light-tracking functionality was part of the interactors, not the renderer. For backwards compatibility, the older, more limited interactor behavior is enabled by default. This mode has the possibly unexpected property of turning the first light into a headlight, no matter what its light type is. To disable this mode, turn the interactor's LightFollowCamera flag OFF, and leave the renderer's LightFollowCamera flag ON.)

virtual int vtkRenderer::GetLightFollowCamera   [virtual]

virtual void vtkRenderer::LightFollowCameraOn   [virtual]

virtual void vtkRenderer::LightFollowCameraOff   [virtual]

void vtkRenderer::operator= const vtkRenderer &    [inline, protected]

Definition at line 298 of file vtkRenderer.h.

virtual void vtkRenderer::PickRender vtkPropCollection   props [protected, virtual]

virtual void vtkRenderer::PickGeometry   [protected, virtual]

void vtkRenderer::AllocateTime   [protected]

virtual int vtkRenderer::UpdateGeometry void    [protected, virtual]

Ask all props to update and draw any opaque and translucent geometry. This includes both vtkActors and vtkVolumes Returns the number of props that rendered geometry.

virtual int vtkRenderer::UpdateCamera void    [protected, virtual]

Ask the active camera to do whatever it needs to do prior to rendering. Creates a camera if none found active.

virtual int vtkRenderer::UpdateLightGeometry void    [protected, virtual]

Update the geometry of the lights in the scene that are not in world space (for instance, Headlights or CameraLights that are attached to the camera).

virtual int vtkRenderer::UpdateLights void    [inline, protected, virtual]

Ask all lights to load themselves into rendering pipeline. This method will return the actual number of lights that were on.

Reimplemented in vtkMesaRenderer, and vtkOpenGLRenderer.

Definition at line 376 of file vtkRenderer.h.

Member Data Documentation

vtkRayCaster* vtkRenderer::RayCaster [protected]

Definition at line 304 of file vtkRenderer.h.

vtkCamera* vtkRenderer::ActiveCamera [protected]

Definition at line 306 of file vtkRenderer.h.

vtkLight* vtkRenderer::CreatedLight [protected]

Definition at line 307 of file vtkRenderer.h.

vtkLightCollection* vtkRenderer::Lights [protected]

Definition at line 309 of file vtkRenderer.h.

vtkCullerCollection* vtkRenderer::Cullers [protected]

Definition at line 310 of file vtkRenderer.h.

vtkActorCollection* vtkRenderer::Actors [protected]

Definition at line 312 of file vtkRenderer.h.

vtkVolumeCollection* vtkRenderer::Volumes [protected]

Definition at line 313 of file vtkRenderer.h.

float vtkRenderer::Ambient[3] [protected]

Definition at line 315 of file vtkRenderer.h.

vtkRenderWindow* vtkRenderer::RenderWindow [protected]

Definition at line 316 of file vtkRenderer.h.

float vtkRenderer::AllocatedRenderTime [protected]

Definition at line 317 of file vtkRenderer.h.

float vtkRenderer::TimeFactor [protected]

Definition at line 318 of file vtkRenderer.h.

int vtkRenderer::TwoSidedLighting [protected]

Definition at line 319 of file vtkRenderer.h.

int vtkRenderer::BackingStore [protected]

Definition at line 320 of file vtkRenderer.h.

unsigned char* vtkRenderer::BackingImage [protected]

Definition at line 321 of file vtkRenderer.h.

vtkTimeStamp vtkRenderer::RenderTime [protected]

Definition at line 322 of file vtkRenderer.h.

float vtkRenderer::LastRenderTimeInSeconds [protected]

Definition at line 324 of file vtkRenderer.h.

int vtkRenderer::LightFollowCamera [protected]

Definition at line 326 of file vtkRenderer.h.

int vtkRenderer::NumberOfPropsRenderedAsGeometry [protected]

Definition at line 333 of file vtkRenderer.h.

int vtkRenderer::NumberOfPropsToRayCast [protected]

Definition at line 334 of file vtkRenderer.h.

int vtkRenderer::NumberOfPropsToRenderIntoImage [protected]

Definition at line 335 of file vtkRenderer.h.

vtkProp** vtkRenderer::PropArray [protected]

Definition at line 339 of file vtkRenderer.h.

int vtkRenderer::PropArrayCount [protected]

Definition at line 340 of file vtkRenderer.h.

vtkProp** vtkRenderer::RayCastPropArray [protected]

Definition at line 343 of file vtkRenderer.h.

vtkProp** vtkRenderer::RenderIntoImagePropArray [protected]

Definition at line 346 of file vtkRenderer.h.

vtkAssemblyPath** vtkRenderer::PathArray [protected]

Definition at line 349 of file vtkRenderer.h.

int vtkRenderer::PathArrayCount [protected]

Definition at line 350 of file vtkRenderer.h.

int vtkRenderer::Interactive [protected]

Definition at line 354 of file vtkRenderer.h.

int vtkRenderer::Layer [protected]

Definition at line 358 of file vtkRenderer.h.

The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:58:51 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001