VTK
vtkStandardPolyDataPainter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStandardPolyDataPainter.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 =========================================================================*/
15 /*
16  * Copyright 2004 Sandia Corporation.
17  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
18  * license for use of this work by or on behalf of the
19  * U.S. Government. Redistribution and use in source and binary forms, with
20  * or without modification, are permitted provided that this Notice and any
21  * statement of authorship are reproduced on all copies.
22  */
23 
40 #ifndef vtkStandardPolyDataPainter_h
41 #define vtkStandardPolyDataPainter_h
42 
43 #include "vtkRenderingOpenGLModule.h" // For export macro
44 #include "vtkPolyDataPainter.h"
45 
46 class vtkCellArray;
47 class vtkDataArray;
48 class vtkPointData;
49 class vtkPoints;
51 
52 class VTKRENDERINGOPENGL_EXPORT vtkStandardPolyDataPainter : public vtkPolyDataPainter
53 {
54 public:
56  virtual void PrintSelf(ostream &os, vtkIndent indent);
58 
59  void AddMultiTextureCoordsArray(vtkDataArray * array);
60 
61 protected:
64 
69  virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
70  unsigned long typeflags, bool forceCompileOnly);
71 
72  void DrawCells(int mode, vtkCellArray *connectivity,
73  vtkIdType startCellId,
74  vtkShaderDeviceAdapter2 *shaderDevice2,
75  vtkRenderer *renderer,
76  int buildnormals, int interpolation);
77 
82  virtual void ProcessInformation(vtkInformation*);
83 
84  void UpdateGenericAttributesCache(vtkShaderDeviceAdapter2 *shaderDevice2);
85 
87 private:
88  vtkStandardPolyDataPainter(const vtkStandardPolyDataPainter&) VTK_DELETE_FUNCTION;
89  void operator=(const vtkStandardPolyDataPainter&) VTK_DELETE_FUNCTION;
90 
91  class vtkInternal;
92  vtkInternal* Internal;
93 
94 };
95 
96 #endif //vtkStandardPolyDataPainter_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
represent and manipulate point attribute data
Definition: vtkPointData.h:37
virtual void RenderInternal(vtkRenderer *renderer, vtkActor *actor, unsigned long typeflags, bool forceCompileOnly)
Performs the actual rendering.
A standard implementation of vtkPolyDataPainter.
Store vtkAlgorithm input/output information.
abstract specification for renderers
Definition: vtkRenderer.h:63
int vtkIdType
Definition: vtkType.h:287
virtual void ProcessInformation(vtkInformation *)
Called before RenderInternal() if the Information has been changed since the last time this method wa...
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
object to represent cell connectivity
Definition: vtkCellArray.h:50
an adapter to pass generic vertex attributes to the rendering pipeline.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
represent and manipulate 3D points
Definition: vtkPoints.h:39
Abstract class for drawing poly data.