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

# vtkLODActor Class Reference

`#include <vtkLODActor.h>`

Inheritance diagram for vtkLODActor:

[legend]
Collaboration diagram for vtkLODActor:

[legend]
List of all members.

## Detailed Description

an actor that supports multiple levels of detail

Date:
  2002/05/28 03:33:51

Revision:
  1.45

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.

Warning:
  If you provide your own mappers, you are responsible for setting its ivars correctly, such as ScalarRange, LookupTable, and so on.

Warning:
  On some systems the point cloud rendering (the default, medium level of detail) can result in points so small that they can hardly be seen. In this case, use the GetProperty()->SetPointSize() method to increase the rendered size of the points.

See also:
  vtkActor vtkRenderer vtkLODProp3D

Created by:
  - Martin, Ken

CVS contributions (if > 5%):
  - Law, Charles (50%)
  - Martin, Ken (29%)
  - Schroeder, Will (9%)

CVS logs (CVSweb):
  - .`cxx` (`/Rendering/vtkLODActor.cxx)`
  - .`h` (`/Rendering/vtkLODActor.h)`

Examples:
  vtkLODActor (Examples)

Tests:
  vtkLODActor (Tests)

Definition at line 91 of file vtkLODActor.h.

## Public Types

typedef vtkActor | Superclass

## 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)
void | Modified ()
void | ShallowCopy (vtkProp *prop)
virtual int | GetNumberOfCloudPoints ()
virtual void | SetNumberOfCloudPoints (int)
virtual vtkMapperCollection * | GetLODMappers ()

## Static Public Methods

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

## Protected Methods

| vtkLODActor ()
| ~vtkLODActor ()
void | CreateOwnLODs ()
void | UpdateOwnLODs ()
void | DeleteOwnLODs ()

## Protected Attributes

vtkActor * | Device
vtkMapperCollection * | LODMappers
vtkMaskPoints * | MaskPoints
vtkOutlineFilter * | OutlineFilter
vtkTimeStamp | BuildTime
int | NumberOfCloudPoints
vtkPolyDataMapper * | LowMapper
vtkPolyDataMapper * | MediumMapper

## Member Typedef Documentation

typedef vtkActor vtkLODActor::Superclass

| Reimplemented from vtkActor. Definition at line 94 of file vtkLODActor.h.

## Constructor & Destructor Documentation

vtkLODActor::vtkLODActor | ( |  | ) | `[protected]`

vtkLODActor::~vtkLODActor | ( |  | ) | `[protected]`

## Member Function Documentation

virtual const char* vtkLODActor::GetClassName | ( |  | ) | `[virtual]`

| 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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkActor.

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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkActor.

vtkLODActor* vtkLODActor::SafeDownCast | ( | vtkObject * | o | ) | `[static]`

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

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.

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.

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.

void vtkLODActor::AddLODMapper | ( | vtkMapper * | mapper | ) |

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

virtual int vtkLODActor::GetNumberOfCloudPoints | ( |  | ) | `[virtual]`

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

virtual void vtkLODActor::SetNumberOfCloudPoints | ( | int |  | ) | `[virtual]`

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

virtual vtkMapperCollection* vtkLODActor::GetLODMappers | ( |  | ) | `[virtual]`

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

void vtkLODActor::Modified | ( |  | ) | `[virtual]`

| When this objects gets modified, this method also modifies the object. Reimplemented from vtkObject.

void vtkLODActor::ShallowCopy | ( | vtkProp * | prop | ) | `[virtual]`

| Shallow copy of an LOD actor. Overloads the virtual vtkProp method. Reimplemented from vtkActor.

void vtkLODActor::CreateOwnLODs | ( |  | ) | `[protected]`

void vtkLODActor::UpdateOwnLODs | ( |  | ) | `[protected]`

void vtkLODActor::DeleteOwnLODs | ( |  | ) | `[protected]`

## Member Data Documentation

vtkActor* vtkLODActor::Device`[protected]`

| Definition at line 142 of file vtkLODActor.h.

vtkMapperCollection* vtkLODActor::LODMappers`[protected]`

| Definition at line 143 of file vtkLODActor.h.

vtkMaskPoints* vtkLODActor::MaskPoints`[protected]`

| Definition at line 146 of file vtkLODActor.h.

vtkOutlineFilter* vtkLODActor::OutlineFilter`[protected]`

| Definition at line 147 of file vtkLODActor.h.

vtkTimeStamp vtkLODActor::BuildTime`[protected]`

| Definition at line 148 of file vtkLODActor.h.

int vtkLODActor::NumberOfCloudPoints`[protected]`

| Definition at line 149 of file vtkLODActor.h.

vtkPolyDataMapper* vtkLODActor::LowMapper`[protected]`

| Definition at line 150 of file vtkLODActor.h.

vtkPolyDataMapper* vtkLODActor::MediumMapper`[protected]`

| Definition at line 151 of file vtkLODActor.h.

The documentation for this class was generated from the following file:

- Rendering/vtkLODActor.h