/usr/include/XdmfGeometry.h is in libxdmf-dev 2.1.dfsg.1-6build1.
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 | /*******************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : $Id: XdmfGeometry.h,v 1.12 2010-03-16 17:33:38 kwleiter Exp $ */
/* Date : $Date: 2010-03-16 17:33:38 $ */
/* Version : $Revision: 1.12 $ */
/* */
/* Author: */
/* Jerry A. Clarke */
/* clarke@arl.army.mil */
/* US Army Research Laboratory */
/* Aberdeen Proving Ground, MD */
/* */
/* Copyright @ 2007 US Army Research Laboratory */
/* All Rights Reserved */
/* See Copyright.txt or http://www.arl.hpc.mil/ice 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 __XdmfGeometry_h
#define __XdmfGeometry_h
#include "XdmfElement.h"
class XdmfArray;
class XdmfDataItem;
#define XDMF_GEOMETRY_NONE 0
#define XDMF_GEOMETRY_XYZ 1
#define XDMF_GEOMETRY_XY 2
#define XDMF_GEOMETRY_X_Y_Z 3
#define XDMF_GEOMETRY_X_Y 4
#define XDMF_GEOMETRY_VXVYVZ 5
#define XDMF_GEOMETRY_ORIGIN_DXDYDZ 6
#define XDMF_GEOMETRY_VXVY 7
#define XDMF_GEOMETRY_ORIGIN_DXDY 8
//! Class to handle the XYZ positions of a Grid
/*!
XdmfGeometry is a required part of an XdmfGrid.
Geometry can be specified in several different ways :
\verbatim
XDMF_GEOMETRY_XYZ : X0,Y0,Z0,X1,Y1,Z1 ..... XN,YN,ZN for every point
XDMF_GEOMETRY_X_Y_Z : X0,X1 ... XN,Y0,Y1 ... YN,Z0,Z1 ... ZN for every point
XDMF_GEOMETRY_VXVYVZ : X0,X1 ... XN,Y0,Y1 ... YN,Z0,Z1 ... ZN for XAxis, YAxis, ZAxis
XDMF_GEOMETRY_ORIGIN_DXDYDZ : Xorigin, Yorigin, Zorigin, Dx, Dy, Dz
\endverbatim
*/
class XDMF_EXPORT XdmfGeometry : public XdmfElement {
public:
XdmfGeometry();
~XdmfGeometry();
XdmfConstString GetClassName() { return ( "XdmfGeometry" ) ; };
//! Set the number of points in the geometry
/*!
This is the number of points that are defined, not necessarily
the total number of points in the grid. For example, if
the geometry type is XDMF_GEOMETRY_ORIGIN_DXDYDZ this
is 6
*/
XdmfSetValueMacro( NumberOfPoints, XdmfInt64 );
//! Get the number of points that were definded
XdmfGetValueMacro( NumberOfPoints, XdmfInt64 );
//! Set the Geometry type
/*!
\verbatim
XDMF_GEOMETRY_XYZ : X0,Y0,Z0,X1,Y1,Z1 ..... XN,YN,ZN for every point
XDMF_GEOMETRY_X_Y_Z : X0,X1 ... XN,Y0,Y1 ... YN,Z0,Z1 ... ZN for every point
XDMF_GEOMETRY_VXVYVZ : X0,X1 ... XN,Y0,Y1 ... YN,Z0,Z1 ... ZN for XAxis, YAxis, ZAxis
XDMF_GEOMETRY_ORIGIN_DXDYDZ : Xorigin, Yorigin, Zorigin, Dx, Dy, Dz
XML Element : Grid
XML Attribute : Name = Any String
XML Attribute : GeometryType = XYZ* | XY | X_Y_Z | X_Y | VXVYVZ | ORIGIN_DXDYDZ
Example :
<Grid Name="Mesh" GridType="Uniform">
<Topology ...
<Geometry ...
<Attribute ...
</Grid>
\endverbatim
*/
XdmfSetValueMacro( GeometryType, XdmfInt32 );
//! Get the Geometry type
XdmfGetValueMacro( GeometryType, XdmfInt32 );
//! Set the number of values to be written to Light Data before switching to Heavy Data
XdmfSetValueMacro(LightDataLimit, XdmfInt32)
//! Gets the number of values to be written to Light Data before switching to Heavy Data
XdmfGetValueMacro(LightDataLimit, XdmfInt32)
// PATCH September 09, Ian Curington, HR Wallingford Ltd.
//! Get the Units
XdmfGetStringMacro(Units);
//! Set the Units
XdmfSetStringMacro(Units);
// end patch
XdmfString GetGeometryTypeAsString( void );
XdmfInt32 SetGeometryTypeFromString( XdmfConstString GeometryType );
//! Build XML (Output)
XdmfInt32 Build();
//! Insert an Element
XdmfInt32 Insert(XdmfElement *Child);
XdmfInt32 Update();
XdmfInt32 UpdateInformation();
XdmfInt32 SetPoints( XdmfArray *Points );
XdmfArray *GetPoints(XdmfInt32 Create=1);
XdmfInt32 Release();
#ifndef SWIG
XdmfInt32 SetOrigin( XdmfFloat64 *Origin );
XdmfInt32 SetDxDyDz( XdmfFloat64 *DxDyDz);
#endif
XdmfFloat64 *GetOrigin( void ) { return( this->Origin ); };
XdmfFloat64 GetOriginX( void ) { return( this->Origin[0] ); };
XdmfFloat64 GetOriginY( void ) { return( this->Origin[1] ); };
XdmfFloat64 GetOriginZ( void ) { return( this->Origin[2] ); };
XdmfInt32 SetOrigin( XdmfFloat64 X, XdmfFloat64 Y, XdmfFloat64 Z );
XdmfInt32 SetDxDyDz( XdmfFloat64 Dx, XdmfFloat64 Dy, XdmfFloat64 Dz );
XdmfFloat64 GetDx( void ) { return( this->DxDyDz[0] ); };
XdmfFloat64 GetDy( void ) { return( this->DxDyDz[1] ); };
XdmfFloat64 GetDz( void ) { return( this->DxDyDz[2] ); };
XdmfFloat64 *GetDxDyDz( void ) { return( this->DxDyDz ); };
XdmfArray *GetVectorX( void ) { return( this->VectorX ); };
XdmfArray *GetVectorY( void ) { return( this->VectorY ); };
XdmfArray *GetVectorZ( void ) { return( this->VectorZ ); };
void SetVectorX( XdmfArray *Array, XdmfBoolean isMine = 0) { this->VectorX = Array; this->VectorXIsMine = isMine;};
void SetVectorY( XdmfArray *Array, XdmfBoolean isMine = 0 ) { this->VectorY = Array; this->VectorYIsMine = isMine;};
void SetVectorZ( XdmfArray *Array, XdmfBoolean isMine = 0 ) { this->VectorZ = Array; this->VectorZIsMine = isMine;};
XdmfInt32 HasData( void ) {
if ( this->Points || ( this->VectorX && this->VectorY && this->VectorZ )){
return( XDMF_SUCCESS );
}
return( XDMF_FAIL );
}
protected:
XdmfDataItem *GetDataItem(XdmfInt32 Index, XdmfXmlNode Node);
XdmfInt32 GeometryType;
XdmfInt32 PointsAreMine;
XdmfInt64 NumberOfPoints;
XdmfInt32 LightDataLimit;
XdmfArray *Points;
XdmfFloat64 Origin[3];
XdmfFloat64 DxDyDz[3];
XdmfArray *VectorX;
XdmfArray *VectorY;
XdmfArray *VectorZ;
XdmfString Units; // Ian Curington, HR Wallingford Ltd.
XdmfBoolean VectorXIsMine;
XdmfBoolean VectorYIsMine;
XdmfBoolean VectorZIsMine;
};
extern XDMF_EXPORT XdmfGeometry *GetXdmfGeometryHandle( void *Pointer );
#endif // __XdmfGeometry_h
|