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

vtkLODProp3D Class Reference

#include <vtkLODProp3D.h>

Inheritance diagram for vtkLODProp3D:

Inheritance graph
[legend]
Collaboration diagram for vtkLODProp3D:

Collaboration graph
[legend]
List of all members.

Detailed Description

level of detail 3D prop

Date:
2003/01/21 20:28:55
Revision:
1.32

vtkLODProp3D is a class to support level of detail rendering for Prop3D. Any number of mapper/property/texture items can be added to this object. Render time will be measured, and will be used to select a LOD based on the AllocatedRenderTime of this Prop3D. Depending on the type of the mapper/property, a vtkActor or a vtkVolume will be created behind the scenes.

See also:
vtkProp3D vtkActor vtkVolume vtkLODActor
Created by:
  • Avila, Lisa
CVS contributions (if > 5%):
  • Avila, Lisa (70%)
  • Turner, Wes (9%)
  • Turek, Matt (9%)
CVS logs (CVSweb):
  • .cxx (/Rendering/vtkLODProp3D.cxx)
  • .h (/Rendering/vtkLODProp3D.h)
Examples:
vtkLODProp3D (Examples)
Tests:
vtkLODProp3D (Tests)

Definition at line 74 of file vtkLODProp3D.h.

Public Types

typedef vtkProp3D Superclass

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void RemoveLOD (int id)
vtkAbstractMapper3DGetLODMapper (int id)
int GetLastRenderedLODID ()
int GetPickLODID (void)
virtual void GetActors (vtkPropCollection *)
void ShallowCopy (vtkProp *prop)
void ReleaseGraphicsResources (vtkWindow *)
void SetAllocatedRenderTime (float t, vtkViewport *vp)
void RestoreEstimatedRenderTime ()
virtual void AddEstimatedRenderTime (float t, vtkViewport *vp)
float * GetBounds ()
void GetBounds (float bounds[6])
int AddLOD (vtkMapper *m, vtkProperty *p, vtkProperty *back, vtkTexture *t, float time)
int AddLOD (vtkMapper *m, vtkProperty *p, vtkTexture *t, float time)
int AddLOD (vtkMapper *m, vtkProperty *p, vtkProperty *back, float time)
int AddLOD (vtkMapper *m, vtkProperty *p, float time)
int AddLOD (vtkMapper *m, vtkTexture *t, float time)
int AddLOD (vtkMapper *m, float time)
int AddLOD (vtkVolumeMapper *m, vtkVolumeProperty *p, float time)
int AddLOD (vtkVolumeMapper *m, float time)
virtual int GetNumberOfLODs ()
virtual int GetCurrentIndex ()
void SetLODProperty (int id, vtkProperty *p)
void GetLODProperty (int id, vtkProperty **p)
void SetLODProperty (int id, vtkVolumeProperty *p)
void GetLODProperty (int id, vtkVolumeProperty **p)
void SetLODMapper (int id, vtkMapper *m)
void GetLODMapper (int id, vtkMapper **m)
void SetLODMapper (int id, vtkVolumeMapper *m)
void GetLODMapper (int id, vtkVolumeMapper **m)
void SetLODBackfaceProperty (int id, vtkProperty *t)
void GetLODBackfaceProperty (int id, vtkProperty **t)
void SetLODTexture (int id, vtkTexture *t)
void GetLODTexture (int id, vtkTexture **t)
void EnableLOD (int id)
void DisableLOD (int id)
int IsLODEnabled (int id)
void SetLODLevel (int id, float level)
float GetLODLevel (int id)
float GetLODIndexLevel (int index)
float GetLODEstimatedRenderTime (int id)
float GetLODIndexEstimatedRenderTime (int index)
virtual void SetAutomaticLODSelection (int)
virtual int GetAutomaticLODSelection ()
virtual void AutomaticLODSelectionOn ()
virtual void AutomaticLODSelectionOff ()
virtual void SetSelectedLODID (int)
virtual int GetSelectedLODID ()
void SetPickMethod (void(*f)(void *), void *arg)
void SetPickMethodArgDelete (void(*f)(void *))
void SetSelectedPickLODID (int id)
virtual int GetSelectedPickLODID ()
virtual void SetAutomaticPickLODSelection (int)
virtual int GetAutomaticPickLODSelection ()
virtual void AutomaticPickLODSelectionOn ()
virtual void AutomaticPickLODSelectionOff ()
int RenderOpaqueGeometry (vtkViewport *viewport)
int RenderTranslucentGeometry (vtkViewport *viewport)

Static Public Methods

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

Protected Methods

 vtkLODProp3D ()
 ~vtkLODProp3D ()
int GetAutomaticPickPropIndex (void)
int GetNextEntryIndex ()
int ConvertIDToIndex (int id)

Protected Attributes

vtkLODProp3DEntryLODs
int NumberOfEntries
int NumberOfLODs
int CurrentIndex
int SelectedLODIndex
int AutomaticLODSelection
int SelectedLODID
int SelectedPickLODID
int AutomaticPickLODSelection
vtkPropPreviousPickProp
void(* PreviousPickMethod )(void *)
void * PreviousPickMethodArg


Member Typedef Documentation

typedef vtkProp3D vtkLODProp3D::Superclass
 

Reimplemented from vtkProp3D.

Definition at line 80 of file vtkLODProp3D.h.


Constructor & Destructor Documentation

vtkLODProp3D::vtkLODProp3D   [protected]
 

vtkLODProp3D::~vtkLODProp3D   [protected]
 


Member Function Documentation

vtkLODProp3D* vtkLODProp3D::New   [static]
 

Create an instance of this class.

Reimplemented from vtkObject.

virtual const char* vtkLODProp3D::GetClassName   [virtual]
 

Reimplemented from vtkProp3D.

int vtkLODProp3D::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 vtkProp3D.

virtual int vtkLODProp3D::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 vtkProp3D.

vtkLODProp3D* vtkLODProp3D::SafeDownCast vtkObject   o [static]
 

Reimplemented from vtkProp3D.

void vtkLODProp3D::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 vtkProp3D.

float* vtkLODProp3D::GetBounds   [virtual]
 

Standard vtkProp method to get 3D bounds of a 3D prop

Implements vtkProp3D.

void vtkLODProp3D::GetBounds float    bounds[6] [inline]
 

Standard vtkProp method to get 3D bounds of a 3D prop

Reimplemented from vtkProp3D.

Definition at line 86 of file vtkLODProp3D.h.

References vtkProp3D::GetBounds().

int vtkLODProp3D::AddLOD vtkMapper   m,
vtkProperty   p,
vtkProperty   back,
vtkTexture   t,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkMapper   m,
vtkProperty   p,
vtkTexture   t,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkMapper   m,
vtkProperty   p,
vtkProperty   back,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkMapper   m,
vtkProperty   p,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkMapper   m,
vtkTexture   t,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkMapper   m,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkVolumeMapper   m,
vtkVolumeProperty   p,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

int vtkLODProp3D::AddLOD vtkVolumeMapper   m,
float    time
 

Add a level of detail with a given mapper, property, backface property, texture, and guess of rendering time. The property and texture fields can be set to NULL (the other methods are included for script access where null variables are not allowed). The time field can be set to 0.0 indicating that no initial guess for rendering time is being supplied. The returned integer value is an ID that can be used later to delete this LOD, or set it as the selected LOD.

virtual int vtkLODProp3D::GetNumberOfLODs   [virtual]
 

Get the current number of LODs.

virtual int vtkLODProp3D::GetCurrentIndex   [virtual]
 

Get the current index, used to determine the ID of the next LOD that is added. Useful for guessing what IDs have been used (with NumberOfLODs, without depending on the constructor initialization to 1000.

void vtkLODProp3D::RemoveLOD int    id
 

Delete a level of detail given an ID. This is the ID returned by the AddLOD method

void vtkLODProp3D::SetLODProperty int    id,
vtkProperty   p
 

Methods to set / get the property of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the property to get it. The returned property will be NULL if the id is not valid, or the property is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::GetLODProperty int    id,
vtkProperty **    p
 

Methods to set / get the property of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the property to get it. The returned property will be NULL if the id is not valid, or the property is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::SetLODProperty int    id,
vtkVolumeProperty   p
 

Methods to set / get the property of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the property to get it. The returned property will be NULL if the id is not valid, or the property is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::GetLODProperty int    id,
vtkVolumeProperty **    p
 

Methods to set / get the property of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the property to get it. The returned property will be NULL if the id is not valid, or the property is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::SetLODMapper int    id,
vtkMapper   m
 

Methods to set / get the mapper of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the mapper to get it. The returned mapper will be NULL if the id is not valid, or the mapper is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::GetLODMapper int    id,
vtkMapper **    m
 

Methods to set / get the mapper of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the mapper to get it. The returned mapper will be NULL if the id is not valid, or the mapper is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::SetLODMapper int    id,
vtkVolumeMapper   m
 

Methods to set / get the mapper of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the mapper to get it. The returned mapper will be NULL if the id is not valid, or the mapper is of the wrong type for the corresponding Prop3D.

void vtkLODProp3D::GetLODMapper int    id,
vtkVolumeMapper **    m
 

Methods to set / get the mapper of an LOD. Since the LOD could be a volume or an actor, you have to pass in the pointer to the mapper to get it. The returned mapper will be NULL if the id is not valid, or the mapper is of the wrong type for the corresponding Prop3D.

vtkAbstractMapper3D* vtkLODProp3D::GetLODMapper int    id
 

Get the LODMapper as an vtkAbstractMapper3D. It is the user's respondibility to safe down cast this to a vtkMapper or vtkVolumeMapper as appropriate.

void vtkLODProp3D::SetLODBackfaceProperty int    id,
vtkProperty   t
 

Methods to set / get the backface property of an LOD. This method is only valid for LOD ids that are Actors (not Volumes)

void vtkLODProp3D::GetLODBackfaceProperty int    id,
vtkProperty **    t
 

Methods to set / get the backface property of an LOD. This method is only valid for LOD ids that are Actors (not Volumes)

void vtkLODProp3D::SetLODTexture int    id,
vtkTexture   t
 

Methods to set / get the texture of an LOD. This method is only valid for LOD ids that are Actors (not Volumes)

void vtkLODProp3D::GetLODTexture int    id,
vtkTexture **    t
 

Methods to set / get the texture of an LOD. This method is only valid for LOD ids that are Actors (not Volumes)

void vtkLODProp3D::EnableLOD int    id
 

Enable / disable a particular LOD. If it is disabled, it will not be used during automatic selection, but can be selected as the LOD if automatic LOD selection is off.

void vtkLODProp3D::DisableLOD int    id
 

Enable / disable a particular LOD. If it is disabled, it will not be used during automatic selection, but can be selected as the LOD if automatic LOD selection is off.

int vtkLODProp3D::IsLODEnabled int    id
 

Enable / disable a particular LOD. If it is disabled, it will not be used during automatic selection, but can be selected as the LOD if automatic LOD selection is off.

void vtkLODProp3D::SetLODLevel int    id,
float    level
 

Set the level of a particular LOD. When a LOD is selected for rendering because it has the largest render time that fits within the allocated time, all LOD are then checked to see if any one can render faster but has a lower (more resolution/better) level. This quantity is a float to ensure that a level can be inserted between 2 and 3.

float vtkLODProp3D::GetLODLevel int    id
 

Set the level of a particular LOD. When a LOD is selected for rendering because it has the largest render time that fits within the allocated time, all LOD are then checked to see if any one can render faster but has a lower (more resolution/better) level. This quantity is a float to ensure that a level can be inserted between 2 and 3.

float vtkLODProp3D::GetLODIndexLevel int    index
 

Set the level of a particular LOD. When a LOD is selected for rendering because it has the largest render time that fits within the allocated time, all LOD are then checked to see if any one can render faster but has a lower (more resolution/better) level. This quantity is a float to ensure that a level can be inserted between 2 and 3.

float vtkLODProp3D::GetLODEstimatedRenderTime int    id
 

Access method that can be used to find out the estimated render time (the thing used to select an LOD) for a given LOD ID or index. Value is returned in seconds.

float vtkLODProp3D::GetLODIndexEstimatedRenderTime int    index
 

Access method that can be used to find out the estimated render time (the thing used to select an LOD) for a given LOD ID or index. Value is returned in seconds.

virtual void vtkLODProp3D::SetAutomaticLODSelection int    [virtual]
 

Turn on / off automatic selection of LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual int vtkLODProp3D::GetAutomaticLODSelection   [virtual]
 

Turn on / off automatic selection of LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual void vtkLODProp3D::AutomaticLODSelectionOn   [virtual]
 

Turn on / off automatic selection of LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual void vtkLODProp3D::AutomaticLODSelectionOff   [virtual]
 

Turn on / off automatic selection of LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual void vtkLODProp3D::SetSelectedLODID int    [virtual]
 

Set the id of the LOD that is to be drawn when automatic LOD selection is turned off.

virtual int vtkLODProp3D::GetSelectedLODID   [virtual]
 

Set the id of the LOD that is to be drawn when automatic LOD selection is turned off.

int vtkLODProp3D::GetLastRenderedLODID  
 

Get the ID of the previously (during the last render) selected LOD index

int vtkLODProp3D::GetPickLODID void   
 

Get the ID of the appropriate pick LOD index

virtual void vtkLODProp3D::GetActors vtkPropCollection   [virtual]
 

For some exporters and other other operations we must be able to collect all the actors or volumes. These methods are used in that process.

Reimplemented from vtkProp.

void vtkLODProp3D::SetPickMethod void(*    f)(void *),
void *    arg
 

This method is invoked when an instance of vtkProp (or subclass, e.g., vtkActor) is picked by vtkPicker.

Reimplemented from vtkProp.

void vtkLODProp3D::SetPickMethodArgDelete void(*    f)(void *)
 

This method is invoked when an instance of vtkProp (or subclass, e.g., vtkActor) is picked by vtkPicker.

Reimplemented from vtkProp.

void vtkLODProp3D::SetSelectedPickLODID int    id
 

Set the id of the LOD that is to be used for picking when automatic LOD pick selection is turned off.

virtual int vtkLODProp3D::GetSelectedPickLODID   [virtual]
 

Set the id of the LOD that is to be used for picking when automatic LOD pick selection is turned off.

virtual void vtkLODProp3D::SetAutomaticPickLODSelection int    [virtual]
 

Turn on / off automatic selection of picking LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual int vtkLODProp3D::GetAutomaticPickLODSelection   [virtual]
 

Turn on / off automatic selection of picking LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual void vtkLODProp3D::AutomaticPickLODSelectionOn   [virtual]
 

Turn on / off automatic selection of picking LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

virtual void vtkLODProp3D::AutomaticPickLODSelectionOff   [virtual]
 

Turn on / off automatic selection of picking LOD. This is on by default. If it is off, then the SelectedLODID is rendered regardless of rendering time or desired update rate.

void vtkLODProp3D::ShallowCopy vtkProp   prop [virtual]
 

Shallow copy of this vtkLODProp3D.

Reimplemented from vtkProp3D.

int vtkLODProp3D::RenderOpaqueGeometry vtkViewport   viewport [virtual]
 

Support the standard render methods.

Reimplemented from vtkProp.

int vtkLODProp3D::RenderTranslucentGeometry vtkViewport   viewport [virtual]
 

Support the standard render methods.

Reimplemented from vtkProp.

void vtkLODProp3D::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 vtkProp.

void vtkLODProp3D::SetAllocatedRenderTime float    t,
vtkViewport   vp
 

Used by the culler / renderer to set the allocated render time for this prop. This is based on the desired update rate, and possibly some other properties such as potential screen coverage of this prop.

void vtkLODProp3D::RestoreEstimatedRenderTime   [virtual]
 

Used when the render process is aborted to restore the previous estimated render time. Overridden here to allow previous time for a particular LOD to be restored - otherwise the time for the last rendered LOD will be copied into the currently selected LOD.

Reimplemented from vtkProp.

virtual void vtkLODProp3D::AddEstimatedRenderTime float    t,
vtkViewport   vp
[virtual]
 

Override method from vtkProp in order to push this call down to the selected LOD as well.

int vtkLODProp3D::GetAutomaticPickPropIndex void    [protected]
 

int vtkLODProp3D::GetNextEntryIndex   [protected]
 

int vtkLODProp3D::ConvertIDToIndex int    id [protected]
 


Member Data Documentation

vtkLODProp3DEntry* vtkLODProp3D::LODs [protected]
 

Definition at line 283 of file vtkLODProp3D.h.

int vtkLODProp3D::NumberOfEntries [protected]
 

Definition at line 284 of file vtkLODProp3D.h.

int vtkLODProp3D::NumberOfLODs [protected]
 

Definition at line 285 of file vtkLODProp3D.h.

int vtkLODProp3D::CurrentIndex [protected]
 

Definition at line 286 of file vtkLODProp3D.h.

int vtkLODProp3D::SelectedLODIndex [protected]
 

Definition at line 290 of file vtkLODProp3D.h.

int vtkLODProp3D::AutomaticLODSelection [protected]
 

Definition at line 292 of file vtkLODProp3D.h.

int vtkLODProp3D::SelectedLODID [protected]
 

Definition at line 293 of file vtkLODProp3D.h.

int vtkLODProp3D::SelectedPickLODID [protected]
 

Definition at line 294 of file vtkLODProp3D.h.

int vtkLODProp3D::AutomaticPickLODSelection [protected]
 

Definition at line 295 of file vtkLODProp3D.h.

vtkProp* vtkLODProp3D::PreviousPickProp [protected]
 

Definition at line 296 of file vtkLODProp3D.h.

void(* vtkLODProp3D::PreviousPickMethod)(void *) [protected]
 

void* vtkLODProp3D::PreviousPickMethodArg [protected]
 

Definition at line 298 of file vtkLODProp3D.h.


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