/usr/include/vtk-6.3/vtkFieldDataSerializer.h is in libvtk6-dev 6.3.0+dfsg1-5.
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 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkFieldDataSerializer.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 vtkFieldDataSerializer.h -- Field data serialization/de-serialization
//
// .SECTION Description
// A concrete instance of vtkObject which provides functionality for
// serializing and de-serializing field data, primarily used for the purpose
// of preparing the data for transfer over MPI or other communication
// mechanism.
//
// .SECTION See Also
// vtkFieldData vtkPointData vtkCellData vtkMultiProcessStream
#ifndef VTKFIELDDATASERIALIZER_H_
#define VTKFIELDDATASERIALIZER_H_
#include "vtkParallelCoreModule.h" // For export macro
#include "vtkObject.h"
// Forward declarations
class vtkIdList;
class vtkFieldData;
class vtkDataArray;
class vtkStringArray;
class vtkIntArray;
class vtkMultiProcessStream;
class VTKPARALLELCORE_EXPORT vtkFieldDataSerializer : public vtkObject
{
public:
static vtkFieldDataSerializer* New();
vtkTypeMacro(vtkFieldDataSerializer,vtkObject);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Serializes the metadata of the given field data instance, i.e., the
// number of arrays, the name of each array and their dimensions.
static void SerializeMetaData(
vtkFieldData *fieldData, vtkMultiProcessStream& bytestream);
// Description:
// Given the serialized field metadata in a bytestream, this method extracts
// the name, datatype and dimensions of each array. The metadata is
// deserialized on user-supplied, pre-allocated data structures.
// (1) names -- an array of strings wherein, each element, names[i],
// corresponds to the name of array i.
// (2) datatypes -- an array of ints where each element corresponds
// to the actual primitive type of each array, e.g.,VTK_DOUBLE,VTK_INT, etc.
// (3) dimensions -- a 2-component array of integers where the first
// component corresponds to the number of tuples of and the second component
// corresponds to the number components of array i.
static void DeserializeMetaData(
vtkMultiProcessStream& bytestream,
vtkStringArray *names,
vtkIntArray *datatypes,
vtkIntArray *dimensions);
// Description:
// Serializes the given field data (all the field data) into a bytestream.
static void Serialize(
vtkFieldData *fieldData, vtkMultiProcessStream& bytestream);
// Description:
// Serializes the selected tuples from the the field data in a byte-stream.
static void SerializeTuples(
vtkIdList *tupleIds, vtkFieldData *fieldData,
vtkMultiProcessStream& bytestream);
// Description:
// Serializes the given sub-extent of field data of a structured grid
// in a byte-stream. The field data can be either cell-centered or
// node-centered depending on what subext and gridExtent actually
// represents.
static void SerializeSubExtent(
int subext[6], int gridExtent[6], vtkFieldData *fieldData,
vtkMultiProcessStream& bytestream);
// Description:
// Deserializes the field data from a bytestream to a the given sub-extent.
// The field data can be either cell-centered or node-centered depending
// on what subext and gridExtent actually represent.
static void DeSerializeToSubExtent(
int subext[6], int gridExtent[6], vtkFieldData *fieldData,
vtkMultiProcessStream& bytestream);
// Description:
// Deserializes the field data from a bytestream.
static void Deserialize(
vtkMultiProcessStream& bytestream, vtkFieldData *fieldData );
protected:
vtkFieldDataSerializer();
virtual ~vtkFieldDataSerializer();
// Description:
// Given an input data array and list of tuples, it extracts the selected
// tuples in to a new array and returns it.
static vtkDataArray* ExtractSelectedTuples(
vtkIdList *tupleIds, vtkDataArray *inputDataArray );
// Description:
// Given an input data array corresponding to a field on a structured grid,
// extract the data within the given extent.
static vtkDataArray* ExtractSubExtentData(
int subext[6], int gridExtent[6], vtkDataArray *inputDataArray);
// Description:
// Serializes the data array into a bytestream.
static void SerializeDataArray(
vtkDataArray *dataArray, vtkMultiProcessStream& bytestream );
// Description:
// Deserializes the data array from a bytestream
static void DeserializeDataArray(
vtkMultiProcessStream& bytestream, vtkDataArray *&dataArray );
private:
vtkFieldDataSerializer(const vtkFieldDataSerializer&); // Not implemented
void operator=(const vtkFieldDataSerializer&); // Not implemented
};
#endif /* VTKFIELDDATASERIALIZER_H_ */
|