VTK
vtkXMLHyperOctreeWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXMLHyperOctreeWriter.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 =========================================================================*/
31 #ifndef vtkXMLHyperOctreeWriter_h
32 #define vtkXMLHyperOctreeWriter_h
33 
34 #include "vtkIOXMLModule.h" // For export macro
35 #include "vtkXMLWriter.h"
36 
37 class vtkHyperOctree;
39 class vtkIntArray;
40 
42 {
43 public:
45  void PrintSelf(ostream& os, vtkIndent indent);
46  static vtkXMLHyperOctreeWriter* New();
47 
48  //BTX
50 
52  //ETX
54 
56  const char* GetDefaultFileExtension();
57 
58 protected:
61 
62  const char* GetDataSetName();
63 
64  // specify that we require HyperOctree input
66 
67  // The most important method, make the XML file for my input.
68  int WriteData();
69 
70  // <HyperOctree ...
71  int StartPrimElement(vtkIndent);
72 
73  // ... dim, size, origin>
75 
76  // Tree Structure
77  int WriteTopology(vtkIndent);
78 
79  // Used by WriteTopology to make and array from the Tree structure recursively
80  void SerializeTopology(vtkHyperOctreeCursor *, int);
81 
82  // Writes PointData and CellData attribute data.
83  int WriteAttributeData(vtkIndent);
84 
85  // </HyperOctree>
86  int FinishPrimElement(vtkIndent);
87 
88  // For appended mode placekeeping
90  unsigned long TopoOffset;
94 
95 private:
96  vtkXMLHyperOctreeWriter(const vtkXMLHyperOctreeWriter&); // Not implemented.
97  void operator=(const vtkXMLHyperOctreeWriter&); // Not implemented.
98 };
99 
100 #endif
virtual const char * GetDataSetName()=0
vtkDataObject * GetInput()
Definition: vtkXMLWriter.h:196
Store vtkAlgorithm input/output information.
Write VTK XML HyperOctree files.
OffsetsManagerGroup * TopologyOM
OffsetsManagerGroup * CellDataOM
A dataset structured as a tree where each node has exactly 2^n children.
virtual int WriteData()
Definition: vtkXMLWriter.h:323
dynamic, self-adjusting array of int
Definition: vtkIntArray.h:49
OffsetsManagerGroup * PointDataOM
Superclass for VTK's XML file writers.
Definition: vtkXMLWriter.h:53
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKIOXML_EXPORT
virtual void WritePrimaryElementAttributes(ostream &os, vtkIndent indent)
void PrintSelf(ostream &os, vtkIndent indent)
virtual const char * GetDefaultFileExtension()=0
virtual int FillInputPortInformation(int port, vtkInformation *info)
Objects that can traverse hyperoctree nodes.
static vtkAlgorithm * New()