VTK  9.0.2
vtkProjectedTetrahedraMapper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkProjectedTetrahedraMapper.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 /*
17  * Copyright 2003 Sandia Corporation.
18  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
19  * license for use of this work by or on behalf of the
20  * U.S. Government. Redistribution and use in source and binary forms, with
21  * or without modification, are permitted provided that this Notice and any
22  * statement of authorship are reproduced on all copies.
23  */
24 
42 #ifndef vtkProjectedTetrahedraMapper_h
43 #define vtkProjectedTetrahedraMapper_h
44 
45 #include "vtkRenderingVolumeModule.h" // For export macro
47 
48 class vtkFloatArray;
49 class vtkPoints;
51 class vtkVisibilitySort;
52 class vtkVolumeProperty;
53 class vtkRenderWindow;
54 
55 class VTKRENDERINGVOLUME_EXPORT vtkProjectedTetrahedraMapper
57 {
58 public:
61  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
63  virtual void SetVisibilitySort(vtkVisibilitySort* sort);
64  vtkGetObjectMacro(VisibilitySort, vtkVisibilitySort);
65 
66  static void MapScalarsToColors(
67  vtkDataArray* colors, vtkVolumeProperty* property, vtkDataArray* scalars);
68  static void TransformPoints(vtkPoints* inPoints, const float projection_mat[16],
69  const float modelview_mat[16], vtkFloatArray* outPoints);
70 
75  virtual bool IsSupported(vtkRenderWindow*) { return false; }
76 
77 protected:
80 
82 
87  void ReportReferences(vtkGarbageCollector* collector) override;
88 
89 private:
91  void operator=(const vtkProjectedTetrahedraMapper&) = delete;
92 };
93 
94 #endif
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:50
dynamic, self-adjusting array of float
Definition: vtkFloatArray.h:36
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:34
represent and manipulate 3D points
Definition: vtkPoints.h:34
Unstructured grid volume renderer.
static vtkProjectedTetrahedraMapper * New()
virtual void SetVisibilitySort(vtkVisibilitySort *sort)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkProjectedTetrahedraMapper() override
void ReportReferences(vtkGarbageCollector *collector) override
The visibility sort will probably make a reference loop by holding a reference to the input.
static void TransformPoints(vtkPoints *inPoints, const float projection_mat[16], const float modelview_mat[16], vtkFloatArray *outPoints)
static void MapScalarsToColors(vtkDataArray *colors, vtkVolumeProperty *property, vtkDataArray *scalars)
virtual bool IsSupported(vtkRenderWindow *)
Return true if the rendering context provides the nececessary functionality to use this class.
create a window for renderers to draw into
dynamic, self-adjusting array of unsigned char
Abstract class for an unstructured grid volume mapper.
Abstract class that can sort cell data along a viewpoint.
represents the common properties for rendering a volume.