VTK  9.7.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
28 #ifndef vtkLightActor_h
29 #define vtkLightActor_h
30 
31 #include "vtkProp3D.h"
32 #include "vtkRenderingCoreModule.h" // For export macro
33 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
34 
35 VTK_ABI_NAMESPACE_BEGIN
36 class vtkLight;
37 class vtkConeSource;
38 class vtkPolyDataMapper;
39 class vtkActor;
40 class vtkCamera;
41 class vtkCameraActor;
42 class vtkBoundingBox;
43 class vtkProperty;
44 
45 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkLightActor : public vtkProp3D
46 {
47 public:
48  static vtkLightActor* New();
49  vtkTypeMacro(vtkLightActor, vtkProp3D);
50  void PrintSelf(ostream& os, vtkIndent indent) override;
51 
53 
56  void SetLight(vtkLight* light);
57  vtkGetObjectMacro(Light, vtkLight);
59 
61 
66  void SetClippingRange(double dNear, double dFar);
67  void SetClippingRange(const double a[2]);
68  vtkGetVector2Macro(ClippingRange, double);
70 
72 
76  vtkProperty* GetConeProperty();
77  vtkProperty* GetFrustumProperty();
79 
83  int RenderOpaqueGeometry(vtkViewport* viewport) override;
84 
89 
95  void ReleaseGraphicsResources(vtkWindow*) override;
96 
100  double* GetBounds() override;
101 
105  vtkMTimeType GetMTime() override;
106 
107 protected:
108  vtkLightActor();
109  ~vtkLightActor() override;
110 
111  void UpdateViewProps();
112 
114  double ClippingRange[2];
115 
119 
122 
124 
125 private:
126  vtkLightActor(const vtkLightActor&) = delete;
127  void operator=(const vtkLightActor&) = delete;
128 };
129 
130 VTK_ABI_NAMESPACE_END
131 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:41
vtkCameraActor * FrustumActor
double * GetBounds() override=0
Return a reference to the Prop3D's composite transform.
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:318
abstract specification for Viewports
Definition: vtkViewport.h:46
represent surface properties of a geometric object
Definition: vtkProperty.h:59
virtual int RenderOpaqueGeometry(vtkViewport *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:236
virtual vtkTypeBool HasTranslucentPolygonalGeometry()
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
Definition: vtkProp.h:300
vtkConeSource * ConeSource
vtkLight * Light
generate polygonal cone
Definition: vtkConeSource.h:34
represents an 3D object for placement in a rendered scene
Definition: vtkProp3D.h:39
a frustum to represent a camera.
vtkBoundingBox * BoundingBox
int vtkTypeBool
Definition: vtkABI.h:64
virtual void ReleaseGraphicsResources(vtkWindow *)
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being...
Definition: vtkProp.h:321
window superclass for vtkRenderWindow
Definition: vtkWindow.h:41
a simple class to control print indentation
Definition: vtkIndent.h:28
a virtual camera for 3D rendering
Definition: vtkCamera.h:41
a virtual light for 3D rendering
Definition: vtkLight.h:49
a cone and a frustum to represent a spotlight.
Definition: vtkLightActor.h:45
vtkActor * ConeActor
vtkPolyDataMapper * ConeMapper
map vtkPolyData to graphics primitives
vtkCamera * CameraLight
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_MARSHALAUTO
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkMTimeType GetMTime() override
Get the vtkProp3D's mtime.
Fast, simple class for representing and operating on 3D bounds.