/usr/include/XdmfGeometryType.hpp is in libxdmf-dev 3.0+git20160803-4.
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 188 189 190 | /*****************************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : XdmfGeometryType.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 XDMFGEOMETRYTYPE_HPP_
#define XDMFGEOMETRYTYPE_HPP_
// C Compatible Includes
#include "Xdmf.hpp"
#ifdef __cplusplus
// Includes
#include "XdmfItemProperty.hpp"
#include <map>
/**
* @brief Property describing the types of coordinate values stored in
* an XdmfGeometry.
*
* XdmfGeometryType is a property used by XdmfGeometry to specify the
* type of coordinate values stored in the XdmfGeometry. A specific
* XdmfGeometryType can be created by calling one of the static
* methods in the class, i.e. XdmfAttributeType::XYZ().
*
* Example of use:
*
* C++
*
* @dontinclude ExampleXdmfGeometryType.cpp
* @skipline //#initialization
* @until //#initialization
* @skipline //#getType
* @until //#getType
*
* Python
*
* @dontinclude XdmfExampleGeometryType.py
* @skipline #//getType
* @until #//getType
*
* Xdmf supports the following geometry types:
* NoGeometryType
* XYZ
* XY
* Polar
* Spherical
*
* The Polar and Spherical types consist of a series of coordinates.
* These coordinates are in order of: radius, polar, azimuthal.
* In accordance with the ISO standard.
*
*/
class XDMF_EXPORT XdmfGeometryType : public XdmfItemProperty {
public:
virtual ~XdmfGeometryType();
friend class XdmfGeometry;
// Supported Xdmf Geometry Types
static shared_ptr<const XdmfGeometryType> NoGeometryType();
static shared_ptr<const XdmfGeometryType> XYZ();
static shared_ptr<const XdmfGeometryType> XY();
static shared_ptr<const XdmfGeometryType> Polar();
static shared_ptr<const XdmfGeometryType> Spherical();
/**
* Get the dimensions of this geometry type - i.e. XYZ = 3.
*
* Example of use:
*
* C++
*
* @dontinclude ExampleXdmfGeometryType.cpp
* @skipline //#getDimensions
* @until //#getDimensions
*
* Python
*
* @dontinclude XdmfExampleGeometryType.py
* @skipline #//getDimensions
* @until #//getDimensions
*
* @return An int containing number of dimensions.
*/
virtual unsigned int getDimensions() const;
/**
* Get the name of this geometry type.
*
* Example of use:
*
* C++
*
* @dontinclude ExampleXdmfGeometryType.cpp
* @skipline //#getName
* @until //#getName
*
* Python
*
* @dontinclude XdmfExampleGeometryType.py
* @skipline #//getName
* @until #//getName
*
* @return The name of this geometry type.
*/
std::string getName() const;
virtual void
getProperties(std::map<std::string, std::string> & collectedProperties) const;
protected:
/**
* Protected constructor for XdmfGeometryType. The constructor is
* protected because all geometry types supported by Xdmf should be
* accessed through more specific static methods that construct
* XdmfGeometryTypes - i.e. XdmfGeometryType::XYZ().
*
* @param name a std::string containing the name of the geometry type..
* @param dimensions an int containing the dimensions of the geometry type.
*/
XdmfGeometryType(const std::string & name, const int & dimensions);
static std::map<std::string, shared_ptr<const XdmfGeometryType>(*)()> mGeometryDefinitions;
static void InitTypes();
private:
XdmfGeometryType(const XdmfGeometryType &); // Not implemented.
void operator=(const XdmfGeometryType &); // Not implemented.
static shared_ptr<const XdmfGeometryType>
New(const std::map<std::string, std::string> & itemProperties);
unsigned int mDimensions;
std::string mName;
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
// C wrappers go here
#define XDMF_GEOMETRY_TYPE_NO_GEOMETRY_TYPE 300
#define XDMF_GEOMETRY_TYPE_XYZ 301
#define XDMF_GEOMETRY_TYPE_XY 302
#define XDMF_GEOMETRY_TYPE_POLAR 303
#define XDMF_GEOMETRY_TYPE_SPHERICAL 304
XDMF_EXPORT int XdmfGeometryTypeNoGeometryType();
XDMF_EXPORT int XdmfGeometryTypeXYZ();
XDMF_EXPORT int XdmfGeometryTypeXY();
XDMF_EXPORT int XdmfGeometryTypePolar();
XDMF_EXPORT int XdmfGeometryTypeSpherical();
XDMF_EXPORT unsigned int XdmfGeometryTypeGetDimensions(int type, int * status);
XDMF_EXPORT char * XdmfGeometryTypeGetName(int type);
#ifdef __cplusplus
}
#endif
#endif /* XDMFGEOMETRYTYPE_HPP_ */
|