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

vtkLODActor Class Reference

an actor that supports multiple levels of detail. More...

#include <vtkLODActor.h>

Inheritance diagram for vtkLODActor:

Inheritance graph
[legend]
Collaboration diagram for vtkLODActor:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void Render (vtkRenderer *, vtkMapper *)
int RenderOpaqueGeometry (vtkViewport *viewport)
void ReleaseGraphicsResources (vtkWindow *)
void AddLODMapper (vtkMapper *mapper)
virtual int GetNumberOfCloudPoints ()
virtual void SetNumberOfCloudPoints (int)
virtual vtkMapperCollectionGetLODMappers ()
void Modified ()
void ShallowCopy (vtkProp *prop)

Static Public Methods

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

Protected Methods

 vtkLODActor ()
 ~vtkLODActor ()
 vtkLODActor (const vtkLODActor &)
void operator= (const vtkLODActor &)
void CreateOwnLODs ()
void UpdateOwnLODs ()
void DeleteOwnLODs ()

Protected Attributes

vtkActorDevice
vtkMapperCollectionLODMappers
vtkMaskPointsMaskPoints
vtkOutlineFilterOutlineFilter
vtkTimeStamp BuildTime
int NumberOfCloudPoints
vtkPolyDataMapperLowMapper
vtkPolyDataMapperMediumMapper

Detailed Description

an actor that supports multiple levels of detail.

Date:
2000/12/10 20:08:41
Revision:
1.38

vtkLODActor is an actor that stores multiple levels of detail (LOD) and can automatically switch between them. It selects which level of detail to use based on how much time it has been allocated to render. Currently a very simple method of TotalTime/NumberOfActors is used. (In the future this should be modified to dynamically allocate the rendering time between different actors based on their needs.)

There are three levels of detail by default. The top level is just the normal data. The lowest level of detail is a simple bounding box outline of the actor. The middle level of detail is a point cloud of a fixed number of points that have been randomly sampled from the mapper's input data. Point attributes are copied over to the point cloud. These two lower levels of detail are accomplished by creating instances of a vtkOutlineFilter (low-res) and vtkMaskPoints (medium-res). Additional levels of detail can be add using the AddLODMapper() method.

To control the frame rate, you typically set the vtkRenderWindowInteractor DesiredUpdateRate and StillUpdateRate. This then will cause vtkLODActor to adjust its LOD to fulfill the requested update rate.

For greater control on levels of detail, see also vtkLODProp3D. That class allows arbitrary definition of each LOD.

See also:
vtkActor vtkRenderer vtkLODProp3D
Examples:
vtkLODActor (examples)


Member Function Documentation

void vtkLODActor::AddLODMapper vtkMapper   mapper
 

Add another level of detail. They do not have to be in any order of complexity.

virtual const char* vtkLODActor::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 vtkActor.

virtual vtkMapperCollection* vtkLODActor::GetLODMappers   [virtual]
 

All the mappers for different LODs are stored here. The order is not important.

virtual int vtkLODActor::GetNumberOfCloudPoints   [virtual]
 

Set/Get the number of random points for the point cloud.

virtual int vtkLODActor::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 vtkActor.

int vtkLODActor::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 vtkActor.

void vtkLODActor::Modified   [virtual]
 

When this objects gets modified, this method also modifies the object.

Reimplemented from vtkObject.

vtkLODActor* vtkLODActor::New   [static]
 

Creates a vtkLODActor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0). NumberOfCloudPoints is set to 150.

Reimplemented from vtkActor.

void vtkLODActor::PrintSelf ostream &    os,
vtkIndent    indent
[virtual]
 

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 vtkActor.

void vtkLODActor::ReleaseGraphicsResources vtkWindow   [virtual]
 

Release any graphics resources that are being consumed by this actor. The parameter window could be used to determine which graphic resources to release.

Reimplemented from vtkActor.

virtual void vtkLODActor::Render vtkRenderer  ,
vtkMapper  
[virtual]
 

This causes the actor to be rendered. It, in turn, will render the actor's property and then mapper.

Reimplemented from vtkActor.

int vtkLODActor::RenderOpaqueGeometry vtkViewport   viewport [virtual]
 

This method is used internally by the rendering process. We overide the superclass method to properly set the estimated render time.

Reimplemented from vtkActor.

vtkLODActor* vtkLODActor::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 vtkActor.

void vtkLODActor::ShallowCopy vtkProp   prop [virtual]
 

Shallow copy of an LOD actor. Overloads the virtual vtkProp method.

Reimplemented from vtkActor.


The documentation for this class was generated from the following file:
Generated on Tue Mar 19 13:28:39 2002 for VTK by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002