VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOpenGLGlyph3DMapper.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00027 #ifndef vtkOpenGLGlyph3DMapper_h 00028 #define vtkOpenGLGlyph3DMapper_h 00029 00030 #include "vtkRenderingOpenGL2Module.h" // For export macro 00031 #include "vtkGlyph3DMapper.h" 00032 #include "vtkNew.h" // For vtkNew 00033 00034 class vtkOpenGLGlyph3DHelper; 00035 class vtkBitArray; 00036 00037 class VTKRENDERINGOPENGL2_EXPORT vtkOpenGLGlyph3DMapper 00038 : public vtkGlyph3DMapper 00039 { 00040 public: 00041 static vtkOpenGLGlyph3DMapper* New(); 00042 vtkTypeMacro(vtkOpenGLGlyph3DMapper, vtkGlyph3DMapper); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00048 virtual void Render(vtkRenderer *ren, vtkActor *a); 00049 00053 virtual void ReleaseGraphicsResources(vtkWindow *window); 00054 00055 protected: 00056 vtkOpenGLGlyph3DMapper(); 00057 ~vtkOpenGLGlyph3DMapper(); 00058 00060 virtual void Render(vtkRenderer*, vtkActor*, vtkDataSet*); 00061 00063 void CopyInformationToSubMapper(vtkOpenGLGlyph3DHelper*); 00064 00065 void SetupColorMapper(); 00066 00067 vtkMapper *ColorMapper; 00068 00069 class vtkOpenGLGlyph3DMapperEntry; 00070 class vtkOpenGLGlyph3DMapperSubArray; 00071 class vtkOpenGLGlyph3DMapperArray; 00072 vtkOpenGLGlyph3DMapperArray *GlyphValues; // array of value for datasets 00073 00075 00076 virtual void RebuildStructures(vtkOpenGLGlyph3DMapperSubArray *entry, 00077 vtkIdType numPts, vtkActor* actor, vtkDataSet* dataset, 00078 vtkBitArray *maskArray, bool selecting_points); 00080 00081 vtkWeakPointer<vtkWindow> LastWindow; // Window used for previous render. 00082 00083 private: 00084 vtkOpenGLGlyph3DMapper(const vtkOpenGLGlyph3DMapper&); // Not implemented. 00085 void operator=(const vtkOpenGLGlyph3DMapper&); // Not implemented. 00086 }; 00087 00088 #endif