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
|
/*=========================================================================
Program: Visualization Toolkit
Module: vtkVisibleLinesPainter.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.
=========================================================================*/
// .NAME vtkVisibleLinesPainter - this is more of a hidden lines remove painter.
// .SECTION Description
// vtkVisibleLinesPainter is a hidden lines removal painter that removes hidden
// lines. Once this painter is inserted in the painter chain, if the
// representation type is VTK_WIREFRAME, then it will automatically remove the
// hidden lines.
#ifndef vtkVisibleLinesPainter_h
#define vtkVisibleLinesPainter_h
#include "vtkOpenGLRepresentationPainter.h"
class VTK_EXPORT vtkVisibleLinesPainter : public vtkOpenGLRepresentationPainter
{
public:
static vtkVisibleLinesPainter* New();
vtkTypeMacro(vtkVisibleLinesPainter, vtkOpenGLRepresentationPainter);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Release any graphics resources that are being consumed by this mapper.
// The parameter window could be used to determine which graphic
// resources to release. In this case, releases the display lists.
virtual void ReleaseGraphicsResources(vtkWindow *);
protected:
vtkVisibleLinesPainter();
~vtkVisibleLinesPainter();
// Description:
// Some subclasses may need to do some preprocessing
// before the actual rendering can be done eg. build effecient
// representation for the data etc. This should be done here.
// This method get called after the ProcessInformation()
// but before RenderInternal().
virtual void PrepareForRendering(vtkRenderer*, vtkActor*);
// Description:
// Changes the polygon mode according to the representation.
void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
unsigned long typeflags, bool forceCompileOnly);
// Description:
// Returns true when rendering is possible.
bool CanRender(vtkRenderer*, vtkActor*);
private:
vtkVisibleLinesPainter(const vtkVisibleLinesPainter&); // Not implemented.
void operator=(const vtkVisibleLinesPainter&); // Not implemented.
class vtkInternals;
vtkInternals* Internals;
};
#endif
|