[cig-commits] r6565 - in
short/3D/PyLith/trunk/unittests/libtests/meshio: . data
brad at geodynamics.org
brad at geodynamics.org
Fri Apr 13 11:44:49 PDT 2007
Author: brad
Date: 2007-04-13 11:44:49 -0700 (Fri, 13 Apr 2007)
New Revision: 6565
Modified:
short/3D/PyLith/trunk/unittests/libtests/meshio/TestMeshIO.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.hh
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.cc
short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.hh
Log:
Updated MeshIO tests to include tests on groups of vertices and cells.
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/TestMeshIO.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/TestMeshIO.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/TestMeshIO.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -20,6 +20,9 @@
#include "data/MeshData.hh"
+#include <strings.h> // USES strcasecmp()
+#include <stdexcept> // USES std::logic_error
+
// ----------------------------------------------------------------------
// Get simple mesh for testing I/O.
ALE::Obj<ALE::Mesh>*
@@ -28,45 +31,68 @@
// buildTopology() requires zero based index
CPPUNIT_ASSERT(true == data.useIndexZero);
- const int cellDim = data.cellDim;
- const int numCorners = data.numCorners;
- const int spaceDim = data.spaceDim;
- const int numVertices = data.numVertices;
- const int numCells = data.numCells;
- const double* vertCoords = data.vertices;
- const int* cells = data.cells;
- const int* materialIds = data.materialIds;
- CPPUNIT_ASSERT(0 != vertCoords);
- CPPUNIT_ASSERT(0 != cells);
- CPPUNIT_ASSERT(0 != materialIds);
+ CPPUNIT_ASSERT(0 != data.vertices);
+ CPPUNIT_ASSERT(0 != data.cells);
+ CPPUNIT_ASSERT(0 != data.materialIds);
+ if (data.numGroups > 0) {
+ CPPUNIT_ASSERT(0 != data.groups);
+ CPPUNIT_ASSERT(0 != data.groupSizes);
+ CPPUNIT_ASSERT(0 != data.groupNames);
+ CPPUNIT_ASSERT(0 != data.groupTypes);
+ } // if
- ALE::Obj<Mesh>* meshHandle = new ALE::Obj<Mesh>;
- *meshHandle = new Mesh(PETSC_COMM_WORLD, cellDim);
- ALE::Obj<Mesh> mesh = *meshHandle;
- mesh.addRef();
- ALE::Obj<sieve_type> sieve = new sieve_type(mesh->comm());
+ ALE::Obj<Mesh>* mesh = new ALE::Obj<Mesh>;
+ CPPUNIT_ASSERT(0 != mesh);
+ *mesh = new Mesh(PETSC_COMM_WORLD, data.cellDim);
+ CPPUNIT_ASSERT(!mesh->isNull());
+ ALE::Obj<sieve_type> sieve = new sieve_type((*mesh)->comm());
+ CPPUNIT_ASSERT(!sieve.isNull());
+ // Cells and vertices
const bool interpolate = false;
- ALE::SieveBuilder<Mesh>::buildTopology(sieve, cellDim, numCells,
- const_cast<int*>(cells), numVertices,
- interpolate, numCorners);
- mesh->setSieve(sieve);
- mesh->stratify();
- ALE::SieveBuilder<Mesh>::buildCoordinates(mesh, spaceDim, vertCoords);
+ ALE::SieveBuilder<Mesh>::buildTopology(sieve, data.cellDim, data.numCells,
+ const_cast<int*>(data.cells), data.numVertices,
+ interpolate, data.numCorners);
+ (*mesh)->setSieve(sieve);
+ (*mesh)->stratify();
+ ALE::SieveBuilder<Mesh>::buildCoordinates(*mesh, data.spaceDim,
+ data.vertices);
- const ALE::Obj<Mesh::label_sequence>& cellsMesh = mesh->heightStratum(0);
-
+ // Material ids
+ const ALE::Obj<Mesh::label_sequence>& cells = (*mesh)->heightStratum(0);
+ CPPUNIT_ASSERT(!cells.isNull());
const ALE::Obj<Mesh::label_type>& labelMaterials =
- mesh->createLabel("material-id");
-
+ (*mesh)->createLabel("material-id");
+ CPPUNIT_ASSERT(!labelMaterials.isNull());
int i = 0;
- for(Mesh::label_sequence::iterator e_iter =
- cellsMesh->begin();
- e_iter != cellsMesh->end();
+ for(Mesh::label_sequence::iterator e_iter=cells->begin();
+ e_iter != cells->end();
++e_iter)
- mesh->setValue(labelMaterials, *e_iter, materialIds[i++]);
+ (*mesh)->setValue(labelMaterials, *e_iter, data.materialIds[i++]);
- return meshHandle;
+ // Groups
+ for (int iGroup=0, index=0; iGroup < data.numGroups; ++iGroup) {
+ const ALE::Obj<int_section_type>& groupField =
+ (*mesh)->getIntSection(data.groupNames[iGroup]);
+ CPPUNIT_ASSERT(!groupField.isNull());
+
+ MeshIO::GroupPtType type;
+ const int numPoints = data.groupSizes[iGroup];
+ if (0 == strcasecmp("cell", data.groupTypes[iGroup])) {
+ type = MeshIO::CELL;
+ for(int i=0; i < numPoints; ++i)
+ groupField->setFiberDimension(data.groups[index++], 1);
+ } else if (0 == strcasecmp("vertex", data.groupTypes[iGroup])) {
+ type = MeshIO::VERTEX;
+ const int numCells = (*mesh)->heightStratum(0)->size();
+ for(int i=0; i < numPoints; ++i)
+ groupField->setFiberDimension(data.groups[index++]+numCells, 1);
+ } else
+ throw std::logic_error("Could not parse group type.");
+ (*mesh)->allocate(groupField);
+ } // for
+
+ return mesh;
} // createMesh
// ----------------------------------------------------------------------
@@ -136,7 +162,6 @@
const ALE::Obj<Mesh::label_type>& labelMaterials =
mesh->getLabel("material-id");
const int idDefault = -999;
-
const int size = numCells;
int_array materialIds(size);
i = 0;
@@ -148,7 +173,43 @@
for (int iCell=0; iCell < numCells; ++iCell)
CPPUNIT_ASSERT_EQUAL(data.materialIds[iCell], materialIds[iCell]);
- // :TODO: Check groups of vertices
+ // Check groups
+ const ALE::Obj<std::set<std::string> >& groupNames =
+ mesh->getIntSections();
+ int iGroup = 0;
+ int index = 0;
+ for (std::set<std::string>::const_iterator name=groupNames->begin();
+ name != groupNames->end();
+ ++name, ++iGroup) {
+ const ALE::Obj<int_section_type>& groupField = mesh->getIntSection(*name);
+ CPPUNIT_ASSERT(!groupField.isNull());
+ const int_section_type::chart_type& chart = groupField->getChart();
+ const Mesh::point_type firstPoint = *chart.begin();
+ ALE::Obj<Mesh::numbering_type> numbering;
+ std::string groupType = "";
+ if (mesh->height(firstPoint) == 0) {
+ groupType = "cell";
+ numbering = mesh->getFactory()->getNumbering(mesh, mesh->depth());
+ } else {
+ groupType = "vertex";
+ numbering = mesh->getFactory()->getNumbering(mesh, 0);
+ } // if/else
+ const int numPoints = chart.size();
+ int_array points(numPoints);
+ int i = 0;
+ for(int_section_type::chart_type::iterator c_iter = chart.begin();
+ c_iter != chart.end();
+ ++c_iter) {
+ CPPUNIT_ASSERT(!numbering.isNull());
+ points[i++] = numbering->getIndex(*c_iter);
+ } // for
+
+ CPPUNIT_ASSERT_EQUAL(std::string(data.groupNames[iGroup]), *name);
+ CPPUNIT_ASSERT_EQUAL(std::string(data.groupTypes[iGroup]), groupType);
+ CPPUNIT_ASSERT_EQUAL(data.groupSizes[iGroup], numPoints);
+ for (int i=0; i < numPoints; ++i)
+ CPPUNIT_ASSERT_EQUAL(data.groups[index++], points[i]);
+ } // for
} // checkVals
// ----------------------------------------------------------------------
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -23,6 +23,11 @@
vertices(0),
cells(0),
materialIds(0),
+ groups(0),
+ groupSizes(0),
+ groupNames(0),
+ groupTypes(0),
+ numGroups(0),
useIndexZero(true)
{ // constructor
} // constructor
@@ -33,4 +38,5 @@
{ // destructor
} // destructor
+
// End of file
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -44,11 +44,14 @@
int* cells; ///< Pointer to indices of vertices in cells
int* materialIds; ///< Pointer to cell material identifiers
+ int* groups; ///< Array of pointers to indices of points in groups
+ int* groupSizes; ///< Array of sizes of each group
+ char** groupNames; ///< Array of group names
+ char** groupTypes; ///< Array of group types
+ int numGroups; ///< Number of groups
+
bool useIndexZero; ///< Indices start with 0 if true, 1 if false
- // :TODO:
- // Add groups of vertices
-
};
#endif // pylith_meshio_meshdata_hh
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -37,6 +37,25 @@
2, 1
};
+const int pylith::meshio::MeshData1D::_numGroups = 3;
+
+const int pylith::meshio::MeshData1D::_groupSizes[] =
+ { 1, 1, 2 };
+
+const int pylith::meshio::MeshData1D::_groups[] = {
+ 1,
+ 0,
+ 0, 1
+};
+
+const char* pylith::meshio::MeshData1D::_groupNames[] = {
+ "group A", "group B", "group C"
+};
+
+const char* pylith::meshio::MeshData1D::_groupTypes[] = {
+ "vertex", "cell", "vertex"
+};
+
const bool pylith::meshio::MeshData1D::_useIndexZero = true;
pylith::meshio::MeshData1D::MeshData1D(void)
@@ -49,6 +68,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -38,6 +38,24 @@
1, 0, 1
};
+const int pylith::meshio::MeshData1Din2D::_numGroups = 2;
+
+const int pylith::meshio::MeshData1Din2D::_groupSizes[] =
+ { 2, 3 };
+
+const int pylith::meshio::MeshData1Din2D::_groups[] = {
+ 0, 2,
+ 0, 1, 3
+};
+
+const char* pylith::meshio::MeshData1Din2D::_groupNames[] = {
+ "group A", "group B"
+};
+
+const char* pylith::meshio::MeshData1Din2D::_groupTypes[] = {
+ "cell", "vertex"
+};
+
const bool pylith::meshio::MeshData1Din2D::_useIndexZero = true;
pylith::meshio::MeshData1Din2D::MeshData1Din2D(void)
@@ -50,6 +68,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din2D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -38,6 +38,24 @@
1, 1, 0
};
+const int pylith::meshio::MeshData1Din3D::_numGroups = 2;
+
+const int pylith::meshio::MeshData1Din3D::_groupSizes[] =
+ { 1, 1 };
+
+const int pylith::meshio::MeshData1Din3D::_groups[] = {
+ 2,
+ 1
+};
+
+const char* pylith::meshio::MeshData1Din3D::_groupNames[] = {
+ "group A", "group B"
+};
+
+const char* pylith::meshio::MeshData1Din3D::_groupTypes[] = {
+ "vertex", "cell"
+};
+
const bool pylith::meshio::MeshData1Din3D::_useIndexZero = true;
pylith::meshio::MeshData1Din3D::MeshData1Din3D(void)
@@ -50,6 +68,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData1Din3D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -43,6 +43,25 @@
1, 0, 1
};
+const int pylith::meshio::MeshData2D::_numGroups = 3;
+
+const int pylith::meshio::MeshData2D::_groupSizes[] =
+ { 5, 3, 2 };
+
+const int pylith::meshio::MeshData2D::_groups[] = {
+ 0, 2, 4, 6, 8,
+ 1, 4, 7,
+ 0, 2
+};
+
+const char* pylith::meshio::MeshData2D::_groupNames[] = {
+ "group A", "group B", "group C"
+};
+
+const char* pylith::meshio::MeshData2D::_groupTypes[] = {
+ "vertex", "vertex", "cell"
+};
+
const bool pylith::meshio::MeshData2D::_useIndexZero = true;
pylith::meshio::MeshData2D::MeshData2D(void)
@@ -55,6 +74,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -43,6 +43,23 @@
0, 1, 0
};
+const int pylith::meshio::MeshData2Din3D::_numGroups = 1;
+
+const int pylith::meshio::MeshData2Din3D::_groupSizes[] =
+ { 3 };
+
+const int pylith::meshio::MeshData2Din3D::_groups[] = {
+ 0, 3, 6
+};
+
+const char* pylith::meshio::MeshData2Din3D::_groupNames[] = {
+ "group A"
+};
+
+const char* pylith::meshio::MeshData2Din3D::_groupTypes[] = {
+ "vertex"
+};
+
const bool pylith::meshio::MeshData2Din3D::_useIndexZero = true;
pylith::meshio::MeshData2Din3D::MeshData2Din3D(void)
@@ -55,6 +72,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData2Din3D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.cc
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.cc 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.cc 2007-04-13 18:44:49 UTC (rev 6565)
@@ -47,6 +47,25 @@
1, 0
};
+const int pylith::meshio::MeshData3D::_numGroups = 2;
+
+const int pylith::meshio::MeshData3D::_groupSizes[] =
+ { 5, 2, 4 };
+
+const int pylith::meshio::MeshData3D::_groups[] = {
+ 0, 4, 6, 7, 10,
+ 0, 1,
+ 0, 4, 12, 13
+};
+
+const char* pylith::meshio::MeshData3D::_groupNames[] = {
+ "group A", "group B", "group C"
+};
+
+const char* pylith::meshio::MeshData3D::_groupTypes[] = {
+ "vertex", "cell", "vertex"
+};
+
const bool pylith::meshio::MeshData3D::_useIndexZero = true;
pylith::meshio::MeshData3D::MeshData3D(void)
@@ -59,6 +78,11 @@
vertices = const_cast<double*>(_vertices);
cells = const_cast<int*>(_cells);
materialIds = const_cast<int*>(_materialIds);
+ groups = const_cast<int*>(_groups);
+ groupSizes = const_cast<int*>(_groupSizes);
+ groupNames = const_cast<char**>(_groupNames);
+ groupTypes = const_cast<char**>(_groupTypes);
+ numGroups = _numGroups;
useIndexZero = _useIndexZero;
} // constructor
Modified: short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.hh
===================================================================
--- short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.hh 2007-04-13 16:11:03 UTC (rev 6564)
+++ short/3D/PyLith/trunk/unittests/libtests/meshio/data/MeshData3D.hh 2007-04-13 18:44:49 UTC (rev 6565)
@@ -46,6 +46,12 @@
static const int _cells[]; ///< Pointer to indices of vertices in cells
static const int _materialIds[]; ///< Pointer to cell material identifiers
+ static const int _groups[]; ///< Groups of points
+ static const int _groupSizes[]; ///< Sizes of groups
+ static const char* _groupNames[]; ///< Array of group names
+ static const char* _groupTypes[]; ///< Array of group types
+ static const int _numGroups; ///< Number of groups
+
static const bool _useIndexZero; ///< First vertex is 0 if true, 1 if false
};
More information about the cig-commits
mailing list