VTK
vtkProp.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkProp.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkProp_h
34 #define vtkProp_h
35 
36 #include "vtkRenderingCoreModule.h" // For export macro
37 #include "vtkObject.h"
38 
39 class vtkAssemblyPath;
40 class vtkAssemblyPaths;
41 class vtkMatrix4x4;
42 class vtkPropCollection;
43 class vtkViewport;
44 class vtkWindow;
45 class vtkInformation;
48 
50 {
51 public:
53  void PrintSelf(ostream& os, vtkIndent indent);
54 
56 
59  virtual void GetActors(vtkPropCollection *) {}
60  virtual void GetActors2D(vtkPropCollection *) {}
61  virtual void GetVolumes(vtkPropCollection *) {}
63 
65 
66  vtkSetMacro(Visibility, int);
67  vtkGetMacro(Visibility, int);
68  vtkBooleanMacro(Visibility, int);
70 
72 
75  vtkSetMacro(Pickable, int);
76  vtkGetMacro(Pickable, int);
77  vtkBooleanMacro(Pickable, int);
79 
81  virtual void Pick();
82 
84 
90  vtkSetMacro(Dragable, int);
91  vtkGetMacro(Dragable, int);
92  vtkBooleanMacro(Dragable, int);
94 
96 
100  virtual unsigned long GetRedrawMTime()
101  { return this->GetMTime(); }
103 
105 
109  vtkSetMacro(UseBounds, bool);
110  vtkGetMacro(UseBounds, bool);
111  vtkBooleanMacro(UseBounds, bool);
113 
115 
117  virtual double *GetBounds()
118  { return NULL; }
120 
122  virtual void ShallowCopy(vtkProp *prop);
123 
125 
136  virtual void InitPathTraversal();
138  virtual int GetNumberOfPaths()
139  { return 1; }
141 
143 
148  { return NULL; }
150 
152 
157  virtual void SetPropertyKeys(vtkInformation *keys);
159 
162  virtual bool HasKeys(vtkInformation *requiredKeys);
163 
171 
179 
180 //BTX
182 
196  { return 0; }
198  { return 0; }
200  { return 0; }
201  virtual int RenderOverlay(vtkViewport *)
202  { return 0; }
204 
206 
213  vtkInformation *requiredKeys);
215 
217 
224  vtkViewport *v,
225  vtkInformation *requiredKeys);
227 
229 
236  vtkInformation *requiredKeys);
238 
240 
247  vtkInformation *requiredKeys);
249 
251 
260  { return 0; }
262 
268 
270 
281  { return this->EstimatedRenderTime; }
282  virtual double GetEstimatedRenderTime()
283  { return this->EstimatedRenderTime; }
285 
287 
291  virtual void SetEstimatedRenderTime(double t)
292  { this->EstimatedRenderTime = t; this->SavedEstimatedRenderTime = t; }
294 
296 
302  { this->EstimatedRenderTime = this->SavedEstimatedRenderTime; }
304 
305 
307 
317  virtual void AddEstimatedRenderTime(double t, vtkViewport *vtkNotUsed(vp))
318  { this->EstimatedRenderTime += t; }
320 
322 
330  {
331  this->AllocatedRenderTime = t;
332  this->SavedEstimatedRenderTime = this->EstimatedRenderTime;
333  this->EstimatedRenderTime = 0.0;
334  }
336 
338 
340  vtkGetMacro(AllocatedRenderTime, double);
342 
344 
348  void SetRenderTimeMultiplier( double t )
349  { this->RenderTimeMultiplier = t; }
350  vtkGetMacro(RenderTimeMultiplier, double);
352 
357 
359 
363  virtual bool GetSupportsSelection()
364  { return false; }
366 
368 
369  vtkGetMacro(NumberOfConsumers,int);
371 
373 
379 
380 //ETX
381 
382 protected:
385 
387  int Pickable;
388  int Dragable;
389  bool UseBounds;
390 
395 
396  // how many consumers does this object have
399 
400  // support multi-part props and access to paths of prop
401  // stuff that follows is used to build the assembly hierarchy
403 
405 
406 private:
407  vtkProp(const vtkProp&); // Not implemented.
408  void operator=(const vtkProp&); // Not implemented.
409 };
410 
411 #endif
vtkProp::vtkProp
vtkProp()
vtkProp::EstimatedRenderTime
double EstimatedRenderTime
Definition: vtkProp.h:392
vtkProp::UseBounds
bool UseBounds
Definition: vtkProp.h:389
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkProp::GetMatrix
virtual vtkMatrix4x4 * GetMatrix()
Definition: vtkProp.h:147
vtkProp::PokeMatrix
virtual void PokeMatrix(vtkMatrix4x4 *vtkNotUsed(matrix))
Definition: vtkProp.h:146
vtkProp::Paths
vtkAssemblyPaths * Paths
Definition: vtkProp.h:402
vtkProp::InitPathTraversal
virtual void InitPathTraversal()
vtkProp::GetActors2D
virtual void GetActors2D(vtkPropCollection *)
Definition: vtkProp.h:60
vtkProp::GetNextPath
virtual vtkAssemblyPath * GetNextPath()
vtkProp::RenderOverlay
virtual int RenderOverlay(vtkViewport *)
Definition: vtkProp.h:201
vtkProp::GetSupportsSelection
virtual bool GetSupportsSelection()
Definition: vtkProp.h:363
vtkProp::IsConsumer
int IsConsumer(vtkObject *c)
vtkProp::Pick
virtual void Pick()
vtkProp::RenderOpaqueGeometry
virtual int RenderOpaqueGeometry(vtkViewport *)
Definition: vtkProp.h:195
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkProp::GetEstimatedRenderTime
virtual double GetEstimatedRenderTime()
Definition: vtkProp.h:282
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkProp::Pickable
int Pickable
Definition: vtkProp.h:387
vtkProp::PropertyKeys
vtkInformation * PropertyKeys
Definition: vtkProp.h:404
vtkgl::v
const GLdouble * v
Definition: vtkgl.h:11595
vtkObject::GetMTime
virtual unsigned long GetMTime()
vtkProp::NumberOfConsumers
int NumberOfConsumers
Definition: vtkProp.h:397
vtkAssemblyPath
a list of nodes that form an assembly path
Definition: vtkAssemblyPath.h:41
vtkAssemblyPaths
a list of lists of props representing an assembly hierarchy
Definition: vtkAssemblyPaths.h:37
vtkProp::SetAllocatedRenderTime
virtual void SetAllocatedRenderTime(double t, vtkViewport *vtkNotUsed(v))
Definition: vtkProp.h:329
vtkProp::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkProp::GetVolumes
virtual void GetVolumes(vtkPropCollection *)
Definition: vtkProp.h:61
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:34
vtkProp::RenderFilteredOpaqueGeometry
virtual bool RenderFilteredOpaqueGeometry(vtkViewport *v, vtkInformation *requiredKeys)
vtkProp::RenderVolumetricGeometry
virtual int RenderVolumetricGeometry(vtkViewport *)
Definition: vtkProp.h:199
vtkProp::Consumers
vtkObject ** Consumers
Definition: vtkProp.h:398
vtkProp::BuildPaths
virtual void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path)
vtkProp::~vtkProp
~vtkProp()
vtkNotUsed
#define vtkNotUsed(x)
Definition: vtkSetGet.h:557
vtkProp::GetActors
virtual void GetActors(vtkPropCollection *)
Definition: vtkProp.h:59
vtkgl::c
const GLubyte * c
Definition: vtkgl.h:15720
vtkProp::RenderFilteredTranslucentPolygonalGeometry
virtual bool RenderFilteredTranslucentPolygonalGeometry(vtkViewport *v, vtkInformation *requiredKeys)
vtkProp::GetConsumer
vtkObject * GetConsumer(int i)
vtkInformationIntegerKey
Key for integer values in vtkInformation.
Definition: vtkInformationIntegerKey.h:34
vtkProp::SavedEstimatedRenderTime
double SavedEstimatedRenderTime
Definition: vtkProp.h:393
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkMatrix4x4
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:39
vtkRenderingCoreModule.h
vtkProp::SetPropertyKeys
virtual void SetPropertyKeys(vtkInformation *keys)
vtkgl::path
GLsizei const GLchar ** path
Definition: vtkgl.h:13835
vtkProp::AllocatedRenderTime
double AllocatedRenderTime
Definition: vtkProp.h:391
vtkProp::GetNumberOfPaths
virtual int GetNumberOfPaths()
Definition: vtkProp.h:138
vtkProp::Visibility
int Visibility
Definition: vtkProp.h:386
vtkProp::SetRenderTimeMultiplier
void SetRenderTimeMultiplier(double t)
Definition: vtkProp.h:348
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkProp::GetBounds
virtual double * GetBounds()
Definition: vtkProp.h:117
vtkProp::RenderFilteredVolumetricGeometry
virtual bool RenderFilteredVolumetricGeometry(vtkViewport *v, vtkInformation *requiredKeys)
vtkProp::ShallowCopy
virtual void ShallowCopy(vtkProp *prop)
vtkProp::GetEstimatedRenderTime
virtual double GetEstimatedRenderTime(vtkViewport *)
Definition: vtkProp.h:280
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:47
vtkObject.h
vtkProp::RenderTranslucentPolygonalGeometry
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
Definition: vtkProp.h:197
vtkProp::GeneralTextureTransform
static vtkInformationDoubleVectorKey * GeneralTextureTransform()
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:50
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkProp::AddEstimatedRenderTime
virtual void AddEstimatedRenderTime(double t, vtkViewport *vtkNotUsed(vp))
Definition: vtkProp.h:317
vtkProp::RenderFilteredOverlay
virtual bool RenderFilteredOverlay(vtkViewport *v, vtkInformation *requiredKeys)
vtkInformationDoubleVectorKey
Key for double vector values.
Definition: vtkInformationDoubleVectorKey.h:34
vtkProp::RemoveConsumer
void RemoveConsumer(vtkObject *c)
vtkProp::RestoreEstimatedRenderTime
virtual void RestoreEstimatedRenderTime()
Definition: vtkProp.h:301
vtkgl::matrix
GLuint GLenum matrix
Definition: vtkgl.h:16451
vtkProp::GetRedrawMTime
virtual unsigned long GetRedrawMTime()
Definition: vtkProp.h:100
vtkProp::Dragable
int Dragable
Definition: vtkProp.h:388
vtkProp::HasKeys
virtual bool HasKeys(vtkInformation *requiredKeys)
vtkProp::SetEstimatedRenderTime
virtual void SetEstimatedRenderTime(double t)
Definition: vtkProp.h:291
VTKRENDERINGCORE_EXPORT
#define VTKRENDERINGCORE_EXPORT
Definition: vtkRenderingCoreModule.h:15
vtkPropCollection
a list of Props
Definition: vtkPropCollection.h:38
vtkProp::AddConsumer
void AddConsumer(vtkObject *c)
vtkProp::ReleaseGraphicsResources
virtual void ReleaseGraphicsResources(vtkWindow *)
Definition: vtkProp.h:267
vtkProp::HasTranslucentPolygonalGeometry
virtual int HasTranslucentPolygonalGeometry()
Definition: vtkProp.h:259
vtkProp::RenderTimeMultiplier
double RenderTimeMultiplier
Definition: vtkProp.h:394
vtkProp::GeneralTextureUnit
static vtkInformationIntegerKey * GeneralTextureUnit()