/usr/include/ITK-4.5/itkVTKPolyDataWriter.h is in libinsighttoolkit4-dev 4.5.0-3.
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 | /*=========================================================================
*
* Copyright Insight Software Consortium
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0.txt
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*=========================================================================*/
#ifndef __itkVTKPolyDataWriter_h
#define __itkVTKPolyDataWriter_h
#include "itkIntTypes.h"
#include "itkMesh.h"
#include "itkTriangleCell.h"
namespace itk
{
/** \class VTKPolyDataWriter
* \brief
* Writes an itkMesh to a file in VTK file format.
*
* Caveat: The input to itkVTKPolyDataWriter must be a triangle mesh.
* Use vtkTriangleFilter to convert your mesh to a triangle mesh.
* \ingroup ITKMesh
*/
template< typename TInputMesh >
class VTKPolyDataWriter:public Object
{
public:
/** Standard "Self" typedef. */
typedef VTKPolyDataWriter Self;
typedef Object Superclass;
typedef SmartPointer< Self > Pointer;
typedef SmartPointer< const Self > ConstPointer;
/** Method for creation through the object factory */
itkNewMacro(Self);
/** Run-time type information (and related methods). */
itkTypeMacro(VTKPolyDataWriter, Object);
/** Write the Input mesh to the Output file.
* Use either Update() or Write(). */
void Update(void);
void Write(void);
/** Hold on to the type information specified by the template parameters.
*/
typedef TInputMesh InputMeshType;
typedef typename InputMeshType::PixelType PixelType;
typedef typename InputMeshType::PointType PointType;
typedef typename InputMeshType::CellType CellType;
typedef typename InputMeshType::PointIdentifier PointIdentifier;
/** Some convenient typedefs. */
typedef typename InputMeshType::ConstPointer InputMeshPointer;
typedef typename InputMeshType::CellTraits CellTraits;
/** Define the triangular cell types which form the surface */
typedef CellInterface< PixelType, CellTraits > CellInterfaceType;
typedef TriangleCell< CellInterfaceType > TriangleCellType;
typedef typename InputMeshType::PointsContainer PointsContainer;
typedef typename InputMeshType::CellsContainer CellsContainer;
typedef typename PointsContainer::ConstIterator PointIterator;
typedef typename CellsContainer::ConstIterator CellIterator;
typedef typename CellType::PointIdIterator PointIdIterator;
/** Set the Input */
void SetInput(const InputMeshType *input);
/** Set/Get the name of the file where data are written. */
itkSetStringMacro(FileName);
itkGetStringMacro(FileName);
protected:
VTKPolyDataWriter();
virtual ~VTKPolyDataWriter();
virtual void GenerateData();
std::string m_FileName;
InputMeshPointer m_Input;
void PrintSelf(std::ostream & os, Indent indent) const;
private:
VTKPolyDataWriter(const Self &); //purposely not implemented
void operator=(const Self &); //purposely not implemented
};
} // namespace itk
#ifndef ITK_MANUAL_INSTANTIATION
#include "itkVTKPolyDataWriter.hxx"
#endif
#endif
|