/usr/include/vtk-7.1/vtkRenderState.h is in libvtk7-dev 7.1.1+dfsg1-2.
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 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkRenderState.h
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.
=========================================================================*/
/**
* @class vtkRenderState
* @brief Context in which a vtkRenderPass will render.
*
* vtkRenderState is a ligthweight effective class which gather information
* used by a vtkRenderPass to perform its execution.
* @attention
* Get methods are const to enforce that a renderpass cannot modify the
* RenderPass object. It works in conjunction with vtkRenderPass::Render where
* the argument vtkRenderState is const.
* @sa
* vtkRenderPass vtkRenderer vtkFrameBufferObject vtkProp
*/
#ifndef vtkRenderState_h
#define vtkRenderState_h
#include "vtkRenderingCoreModule.h" // For export macro
#include "vtkObject.h"
class vtkRenderer;
class vtkProp;
class vtkFrameBufferObjectBase;
class vtkInformation;
class VTKRENDERINGCORE_EXPORT vtkRenderState
{
public:
/**
* Constructor. All values are initialized to 0 or NULL.
* \pre renderer_exists: renderer!=0
* \post renderer_is_set: GetRenderer()==renderer.
* \post valid_state: IsValid()
*/
vtkRenderState(vtkRenderer *renderer);
/**
* Destructor. As a vtkRenderState does not own any of its variables,
* the destructor does nothing.
*/
~vtkRenderState();
/**
* Tells if the RenderState is a valid one (Renderer is not null).
*/
bool IsValid() const;
/**
* Return the Renderer. This is the renderer in which the render pass is
* performed. It gives access to the RenderWindow, to the props.
* \post result_exists: result!=0
*/
vtkRenderer *GetRenderer() const;
/**
* Return the FrameBuffer. This is the framebuffer in use. NULL means it is
* the FrameBuffer provided by the RenderWindow (it can actually be an FBO
* in case the RenderWindow is in off screen mode).
*/
vtkFrameBufferObjectBase *GetFrameBuffer() const;
/**
* Set the FrameBuffer. See GetFrameBuffer().
* \post is_set: GetFrameBuffer()==fbo
*/
void SetFrameBuffer(vtkFrameBufferObjectBase *fbo);
/**
* Get the window size of the state.
*/
void GetWindowSize(int size[2]) const;
/**
* Return the array of filtered props. See SetPropArrayAndCount().
*/
vtkProp **GetPropArray() const;
/**
* Return the size of the array of filtered props.
* See SetPropArrayAndCount().
* \post positive_result: result>=0
*/
int GetPropArrayCount() const;
/**
* Set the array of of filtered props and its size.
* It is a subset of props to render. A renderpass might ignore this
* filtered list and access to all the props of the vtkRenderer object
* directly. For example, a render pass may filter props that are visible and
* not culled by the frustum, but a sub render pass building a shadow map may
* need all the visible props.
* \pre positive_size: propArrayCount>=0
* \pre valid_null_array: propArray!=0 || propArrayCount==0
* \post is_set: GetPropArray()==propArray && GetPropArrayCount()==propArrayCount
*/
void SetPropArrayAndCount(vtkProp **propArray,
int propArrayCount);
/**
* Return the required property keys for the props. It tells that the
* current render pass it supposed to render only props that have all the
* RequiredKeys in their property keys.
*/
vtkInformation *GetRequiredKeys() const;
/**
* Set the required property keys for the props. See GetRequiredKeys().
* \post is_set: GetRequiredKeys()==keys
*/
void SetRequiredKeys(vtkInformation *keys);
protected:
/**
* The renderer in which the render pass is performed.
* It gives access to the RenderWindow, to the props.
*/
vtkRenderer *Renderer;
/**
* The framebuffer in use. NULL means the FrameBuffer provided by
* the RenderWindow (it can actually be an FBO in case the RenderWindow
* is in off screen mode).
*/
vtkFrameBufferObjectBase *FrameBuffer;
//@{
/**
* Subset of props to render. A renderpass might ignore this filtered list
* and access to all the props of the vtkRenderer object directly.
* For example, a render pass may filter props that are visible and
* not culled by the frustum, but a sub render pass building a shadow map may
* need all the visible props.
*/
vtkProp **PropArray;
int PropArrayCount;
//@}
/**
* It tells that the current render pass it supposed to render only props
* that have all the RequiredKeys in their property keys.
*/
vtkInformation *RequiredKeys;
private:
vtkRenderState(); // no default constructor.
vtkRenderState(const vtkRenderState &) VTK_DELETE_FUNCTION;
void operator=(const vtkRenderState &) VTK_DELETE_FUNCTION;
};
#endif
// VTK-HeaderTest-Exclude: vtkRenderState.h
|