/usr/include/XdmfTIFFController.hpp is in libxdmf-dev 3.0+git20160803-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 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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | /*****************************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : XdmfTIFFController.hpp */
/* */
/* Author: */
/* Kenneth Leiter */
/* kenneth.leiter@arl.army.mil */
/* US Army Research Laboratory */
/* Aberdeen Proving Ground, MD */
/* */
/* Copyright @ 2011 US Army Research Laboratory */
/* All Rights Reserved */
/* See Copyright.txt 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. */
/* */
/*****************************************************************************/
#ifndef XDMFTIFFCONTROLLER_HPP_
#define XDMFTIFFCONTROLLER_HPP_
// C Compatible Includes
#include "XdmfCore.hpp"
#include "XdmfHeavyDataController.hpp"
#ifdef __cplusplus
/**
* @brief Couples an XdmfArray with TIFF data stored on disk.
*
* Serves as an interface between data stored in XdmfArrays and data
* stored in tiff files on disk. When an Xdmf file is read from or
* written to disk an XdmfTIFFController is attached to
* XdmfArrays. This allows data to be released from memory but still
* be accessible or have its location written to light data.
*/
class XDMFCORE_EXPORT XdmfTIFFController : public XdmfHeavyDataController {
public:
virtual ~XdmfTIFFController();
/**
* Create a new controller for an TIFF file on disk.
*
* Example of use:
*
* C++
*
* @dontinclude ExampleXdmfTIFFController.cpp
* @skipline //#initializationsimplified
* @until //#initializationsimplified
*
* Python
*
* @dontinclude XdmfExampleTIFFController.py
* @skipline #//initializationsimplified
* @until #//initializationsimplified
*
* @param filePath The location of the tiff file the data
* set resides in.
* @param type The data type of the dataset to read.
* @param dimensions The number of elements to select in each
* dimension from the data set.
* (size in each dimension)
*
* @return New TIFF Controller.
*/
static shared_ptr<XdmfTIFFController>
New(const std::string & filePath,
const shared_ptr<const XdmfArrayType> & type,
const std::vector<unsigned int> & dimensions);
/**
* Create a new controller for an TIFF file on disk.
*
* Example of use:
*
* C++
*
* @dontinclude ExampleXdmfTIFFController.cpp
* @skipline //#initialization
* @until //#initialization
*
* Python
*
* @dontinclude XdmfExampleTIFFController.py
* @skipline #//initialization
* @until #//initialization
*
* @param filePath The location of the tiff file the data set resides in.
* @param type The data type of the dataset to read.
* @param starts The offset of the starting element in each
* dimension in the data set.
* @param strides The number of elements to move in each
* dimension from the data set.
* @param dimensions The number of elements to select in each
* dimension from the data set.
* (size in each dimension)
* @param dataspaces The number of elements in the entire
* data set (may be larger than
* dimensions if using hyperslabs).
*
* @return New TIFF Controller.
*/
static shared_ptr<XdmfTIFFController>
New(const std::string & filePath,
const shared_ptr<const XdmfArrayType> & type,
const std::vector<unsigned int> & starts,
const std::vector<unsigned int> & strides,
const std::vector<unsigned int> & dimensions,
const std::vector<unsigned int> & dataspaces);
virtual std::string getName() const;
virtual void
getProperties(std::map<std::string, std::string> & collectedProperties) const;
virtual void read(XdmfArray * const array);
XdmfTIFFController(const XdmfTIFFController &);
protected:
XdmfTIFFController(const std::string & filePath,
const shared_ptr<const XdmfArrayType> & type,
const std::vector<unsigned int> & starts,
const std::vector<unsigned int> & strides,
const std::vector<unsigned int> & dimensions,
const std::vector<unsigned int> & dataspaces);
virtual shared_ptr<XdmfHeavyDataController>
createSubController(const std::vector<unsigned int> & starts,
const std::vector<unsigned int> & strides,
const std::vector<unsigned int> & dimensions);
unsigned int getNumberDirectories() const;
void readToArray(XdmfArray * const array,
void * pointer,
unsigned int offset,
unsigned int start,
unsigned int stride,
unsigned int amount,
shared_ptr<const XdmfArrayType> type);
private:
void operator=(const XdmfTIFFController &); // Not implemented.
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
struct XDMFTIFFCONTROLLER; // Simply as a typedef to ensure correct typing
typedef struct XDMFTIFFCONTROLLER XDMFTIFFCONTROLLER;
XDMFCORE_EXPORT XDMFTIFFCONTROLLER * XdmfTIFFControllerNew(char * filePath,
int type,
unsigned int * dimensions,
unsigned int numDims,
int * status);
XDMFCORE_EXPORT XDMFTIFFCONTROLLER * XdmfTIFFControllerNewHyperslab(char * filePath,
int type,
unsigned int * starts,
unsigned int * strides,
unsigned int * dimensions,
unsigned int * dataspaces,
unsigned int numDims,
int * status);
XDMF_HEAVYCONTROLLER_C_CHILD_DECLARE(XdmfTIFFController, XDMFTIFFCONTROLLER, XDMFCORE)
#ifdef __cplusplus
}
#endif
#endif /* XDMFTIFFCONTROLLER_HPP_ */
|