/usr/include/vtk-6.1/vtkOpenGLLightMonitor.h is in libvtk6-dev 6.1.0+dfsg2-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkOpenGLLightMonitor
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkOpenGLLightMonitor -- A helper for painters that
// tracks state of OpenGL model-view and projection matrices.
//
// .SECTION Description:
// vtkOpenGLLightMonitor -- A helper for painters that
// tracks state of OpenGL lights. A Painter could use this
// to skip expensive processing that is only needed when
// lights change.
//
// this is not intended to be shared. each object should use it's
// own instance of this class. it's intended to be called once per
// render.
#ifndef __vtkOpenGLLightMonitor_H
#define __vtkOpenGLLightMonitor_H
#include "vtkRenderingOpenGLModule.h" // for export macro
#include "vtkObject.h"
class VTKRENDERINGOPENGL_EXPORT vtkOpenGLLightMonitor : public vtkObject
{
public:
static vtkOpenGLLightMonitor* New();
static vtkOpenGLLightMonitor *New(int lightId);
vtkTypeMacro(vtkOpenGLLightMonitor, vtkObject);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set/Get the light id of the OpenGL light to track. The
// light id must be set prior to use. Default value 0.
vtkSetMacro(LightId, int);
vtkGetMacro(LightId, int);
// Description:
// Fetches the current GL state and updates the
// internal copies of the data. returns true if
// any of the tracked OpenGL lights have changed.
// Typically this is the only function a user needs
// to call.
bool StateChanged();
// Description:
// Fetch and save OpenGL light state. Note,
// this is done automatically in SateChanged.
void Update();
//BTX
// Description:
// Setters for internal state.
void SetEnabled(int val);
void SetAmbient(float *val);
void SetDiffuse(float *val);
void SetSpecular(float *val);
void SetPosition(float *val);
void SetSpotDirection(float *val);
void SetSpotExponent(float val);
void SetSpotCutoff(float val);
void SetAttenuation(float *val);
//ETX
private:
vtkOpenGLLightMonitor(int lightId) : LightId(lightId), UpTime(0)
{ this->Initialize(); }
vtkOpenGLLightMonitor() : LightId(0), UpTime(0)
{ this->Initialize(); }
~vtkOpenGLLightMonitor(){}
void Initialize();
private:
int LightId;
int Enabled;
float Ambient[4];
float Diffuse[4];
float Specular[4];
float Position[4];
float SpotDirection[3];
float SpotExponent;
float SpotCutoff;
float Attenuation[3];
long long UpTime;
private:
vtkOpenGLLightMonitor(const vtkOpenGLLightMonitor &); // Not implemented
void operator=(const vtkOpenGLLightMonitor &); // Not implemented
};
#endif
|