VTK: Rendering/Core/vtkLightActor.h Source File

| VTK 9.3.1

vtkLightActor.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
37 #ifndef vtkLightActor_h
38 #define vtkLightActor_h
39
40 #include "vtkProp3D.h"
41 #include "vtkRenderingCoreModule.h" // For export macro
42
43 VTK_ABI_NAMESPACE_BEGIN
44 class vtkLight;
45 class vtkConeSource;
46 class vtkPolyDataMapper;
47 class vtkActor;
48 class vtkCamera;
49 class vtkCameraActor;
50 class vtkBoundingBox;
51 class vtkProperty;
52
53 class VTKRENDERINGCORE_EXPORT vtkLightActor : public vtkProp3D
54 {
55 public:
56 static vtkLightActor* New();
57 vtkTypeMacro(vtkLightActor, vtkProp3D);
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
61
64 void SetLight(vtkLight* light);
65 vtkGetObjectMacro(Light, vtkLight);
67
69
74 void SetClippingRange(double dNear, double dFar);
75 void SetClippingRange(const double a[2]);
76 vtkGetVector2Macro(ClippingRange, double);
78
80
84 vtkProperty* GetConeProperty();
85 vtkProperty* GetFrustumProperty();
87
91 int RenderOpaqueGeometry(vtkViewport* viewport) override;
92
96 vtkTypeBool HasTranslucentPolygonalGeometry() override;
97
103 void ReleaseGraphicsResources(vtkWindow*) override;
104
108 double* GetBounds() override;
109
113 vtkMTimeType GetMTime() override;
114
115 protected:
116 vtkLightActor();
117 ~vtkLightActor() override;
118
119 void UpdateViewProps();
120
121 vtkLight* Light;
122 double ClippingRange[2];
123
124 vtkConeSource* ConeSource;
125 vtkPolyDataMapper* ConeMapper;
126 vtkActor* ConeActor;
127
128 vtkCamera* CameraLight;
129 vtkCameraActor* FrustumActor;
130
131 vtkBoundingBox* BoundingBox;
132
133 private:
134 vtkLightActor(const vtkLightActor&) = delete;
135 void operator=(const vtkLightActor&) = delete;
136 };
137
138 VTK_ABI_NAMESPACE_END
139 #endif
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
vtkBoundingBox
Fast, simple class for representing and operating on 3D bounds.
Definition: vtkBoundingBox.h:38
vtkCameraActor
a frustum to represent a camera.
Definition: vtkCameraActor.h:37
vtkCamera
a virtual camera for 3D rendering
Definition: vtkCamera.h:50
vtkConeSource
generate polygonal cone
Definition: vtkConeSource.h:43
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkLightActor
a cone and a frustum to represent a spotlight.
Definition: vtkLightActor.h:54
vtkLightActor::CameraLight
vtkCamera * CameraLight
Definition: vtkLightActor.h:128
vtkLightActor::GetMTime
vtkMTimeType GetMTime() override
Get the actors mtime plus consider its properties and texture if set.
vtkLightActor::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkLightActor::vtkLightActor
vtkLightActor()
vtkLightActor::SetClippingRange
void SetClippingRange(double dNear, double dFar)
Set/Get the location of the near and far clipping planes along the direction of projection.
vtkLightActor::HasTranslucentPolygonalGeometry
vtkTypeBool HasTranslucentPolygonalGeometry() override
Does this prop have some translucent polygonal geometry? No.
vtkLightActor::Light
vtkLight * Light
Definition: vtkLightActor.h:121
vtkLightActor::UpdateViewProps
void UpdateViewProps()
vtkLightActor::GetBounds
double * GetBounds() override
Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax).
vtkLightActor::FrustumActor
vtkCameraActor * FrustumActor
Definition: vtkLightActor.h:129
vtkLightActor::ConeMapper
vtkPolyDataMapper * ConeMapper
Definition: vtkLightActor.h:125
vtkLightActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkLightActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkLightActor::ConeSource
vtkConeSource * ConeSource
Definition: vtkLightActor.h:124
vtkLightActor::GetConeProperty
vtkProperty * GetConeProperty()
Set/Get properties of the different actors used to represent the camera.
vtkLightActor::~vtkLightActor
~vtkLightActor() override
vtkLightActor::SetClippingRange
void SetClippingRange(const double a[2])
Set/Get the location of the near and far clipping planes along the direction of projection.
vtkLightActor::ConeActor
vtkActor * ConeActor
Definition: vtkLightActor.h:126
vtkLightActor::SetLight
void SetLight(vtkLight *light)
The spotlight to represent.
vtkLightActor::BoundingBox
vtkBoundingBox * BoundingBox
Definition: vtkLightActor.h:131
vtkLightActor::New
static vtkLightActor * New()
vtkLightActor::GetFrustumProperty
vtkProperty * GetFrustumProperty()
Set/Get properties of the different actors used to represent the camera.
vtkLight
a virtual light for 3D rendering
Definition: vtkLight.h:58
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:42
vtkProp3D
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:48
vtkProperty
represent surface properties of a geometric object
Definition: vtkProperty.h:66
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:54
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:64
vtkProp3D.h
vtkMTimeType
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270