VTK  9.2.6
vtkActor.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkActor.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=========================================================================*/
47#ifndef vtkActor_h
48#define vtkActor_h
49
50#include "vtkProp3D.h"
51#include "vtkRenderingCoreModule.h" // For export macro
52
53class vtkRenderer;
56class vtkTexture;
57class vtkMapper;
58class vtkProperty;
59
60class VTKRENDERINGCORE_EXPORT vtkActor : public vtkProp3D
61{
62public:
63 vtkTypeMacro(vtkActor, vtkProp3D);
64 void PrintSelf(ostream& os, vtkIndent indent) override;
65
71 static vtkActor* New();
72
79
81
84 int RenderOpaqueGeometry(vtkViewport* viewport) override;
87
89
95
102 virtual void Render(vtkRenderer*, vtkMapper*) {}
103
107 void ShallowCopy(vtkProp* prop) override;
108
115
117
127
134
136
143 vtkGetObjectMacro(BackfaceProperty, vtkProperty);
145
147
152 virtual void SetTexture(vtkTexture*);
153 vtkGetObjectMacro(Texture, vtkTexture);
155
162 virtual void SetMapper(vtkMapper*);
163
165
168 vtkGetObjectMacro(Mapper, vtkMapper);
170
175 using Superclass::GetBounds;
176 double* GetBounds() VTK_SIZEHINT(6) override;
177
186 virtual void ApplyProperties() {}
187
192
200
202
205 vtkGetMacro(ForceOpaque, bool);
206 vtkSetMacro(ForceOpaque, bool);
207 vtkBooleanMacro(ForceOpaque, bool);
208 vtkGetMacro(ForceTranslucent, bool);
209 vtkSetMacro(ForceTranslucent, bool);
210 vtkBooleanMacro(ForceTranslucent, bool);
212
219 bool GetSupportsSelection() override;
220
226 vtkHardwareSelector* sel, std::vector<unsigned int>& pixeloffsets) override;
227
229 // Get if we are in the translucent polygonal geometry pass
230 bool IsRenderingTranslucentPolygonalGeometry() override { return this->InTranslucentPass; }
231 void SetIsRenderingTranslucentPolygonalGeometry(bool val) { this->InTranslucentPass = val; }
233
234protected:
236 ~vtkActor() override;
237
238 // is this actor opaque
243
248
249 // Bounds are cached in an actor - the MapperBounds are also cache to
250 // help know when the Bounds need to be recomputed.
251 double MapperBounds[6];
253
254private:
255 vtkActor(const vtkActor&) = delete;
256 void operator=(const vtkActor&) = delete;
257};
258
259#endif
an ordered list of actors
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:61
void SetProperty(vtkProperty *lut)
Set/Get the property object that controls this actors surface properties.
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
void GetActors(vtkPropCollection *) override
For some exporters and other other operations we must be able to collect all the actors or volumes.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMTimeType GetRedrawMTime() override
Return the mtime of anything that would cause the rendered image to appear differently.
virtual void Render(vtkRenderer *, vtkMapper *)
This causes the actor to be rendered.
Definition vtkActor.h:102
void ProcessSelectorPixelBuffers(vtkHardwareSelector *sel, std::vector< unsigned int > &pixeloffsets) override
allows a prop to update a selections color buffers Default just forwards to the Mapper
virtual void SetMapper(vtkMapper *)
This is the method that is used to connect an actor to the end of a visualization pipeline,...
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some opaque/translucent polygonal geometry?
vtkMTimeType GetMTime() override
Get the actors mtime plus consider its properties and texture if set.
bool InTranslucentPass
Definition vtkActor.h:242
vtkProperty * GetProperty()
Set/Get the property object that controls this actors surface properties.
virtual vtkProperty * MakeProperty()
Create a new property suitable for use with this type of Actor.
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkProperty * BackfaceProperty
Definition vtkActor.h:245
void SetBackfaceProperty(vtkProperty *lut)
Set/Get the property object that controls this actors backface surface properties.
vtkTypeBool HasOpaqueGeometry() override
Does this prop have some opaque/translucent polygonal geometry?
~vtkActor() override
vtkTimeStamp BoundsMTime
Definition vtkActor.h:252
bool ForceOpaque
Definition vtkActor.h:240
bool IsRenderingTranslucentPolygonalGeometry() override
Definition vtkActor.h:230
double * GetBounds() override
Return a reference to the Prop3D's composite transform.
vtkTexture * Texture
Definition vtkActor.h:246
vtkProperty * Property
Definition vtkActor.h:244
int GetIsOpaque()
vtkMapper * Mapper
Definition vtkActor.h:247
bool ForceTranslucent
Definition vtkActor.h:241
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,...
void ShallowCopy(vtkProp *prop) override
Shallow copy of an actor.
virtual void SetTexture(vtkTexture *)
Set/Get the texture object to control rendering texture maps.
bool GetSupportsSelection() override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERI...
int RenderTranslucentPolygonalGeometry(vtkViewport *viewport) override
Support the standard render methods.
void SetIsRenderingTranslucentPolygonalGeometry(bool val)
Definition vtkActor.h:231
a simple class to control print indentation
Definition vtkIndent.h:49
abstract class specifies interface to map data to graphics primitives
Definition vtkMapper.h:97
represents an 3D object for placement in a rendered scene
Definition vtkProp3D.h:59
an ordered list of Props
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:66
represent surface properties of a geometric object
Definition vtkProperty.h:77
abstract specification for renderers
Definition vtkRenderer.h:82
handles properties associated with a texture map
Definition vtkTexture.h:78
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:65
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
int vtkTypeBool
Definition vtkABI.h:69
vtkTypeUInt32 vtkMTimeType
Definition vtkType.h:287
#define VTK_SIZEHINT(...)