Add PrintSummary() for DataSet.
This commit is contained in:
parent
c55d764c50
commit
e1bbda8cae
@ -67,6 +67,15 @@ public:
|
|||||||
if (index < nodeDims[0]-1)
|
if (index < nodeDims[0]-1)
|
||||||
ids[idx++] = index;
|
ids[idx++] = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" RegularConnectivity<1> ";
|
||||||
|
out<<"cellDim["<<cellDims[0]<<"] ";
|
||||||
|
out<<"nodeDim["<<nodeDims[0]<<"] ";
|
||||||
|
out<<"\n";
|
||||||
|
}
|
||||||
|
|
||||||
vtkm::Id cellDims[1];
|
vtkm::Id cellDims[1];
|
||||||
vtkm::Id nodeDims[1];
|
vtkm::Id nodeDims[1];
|
||||||
};
|
};
|
||||||
@ -122,6 +131,14 @@ public:
|
|||||||
if (i < nodeDims[0]-1 && j < nodeDims[1]-1)
|
if (i < nodeDims[0]-1 && j < nodeDims[1]-1)
|
||||||
ids[idx++] = CalculateCellIndex(i , j );
|
ids[idx++] = CalculateCellIndex(i , j );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" RegularConnectivity<2> ";
|
||||||
|
out<<"cellDim["<<cellDims[0]<<" "<<cellDims[1]<<"] ";
|
||||||
|
out<<"nodeDim["<<nodeDims[0]<<" "<<nodeDims[1]<<"] ";
|
||||||
|
out<<"\n";
|
||||||
|
}
|
||||||
|
|
||||||
vtkm::Id cellDims[2];
|
vtkm::Id cellDims[2];
|
||||||
vtkm::Id nodeDims[2];
|
vtkm::Id nodeDims[2];
|
||||||
@ -215,6 +232,14 @@ public:
|
|||||||
|
|
||||||
vtkm::Id cellDims[3];
|
vtkm::Id cellDims[3];
|
||||||
vtkm::Id nodeDims[3];
|
vtkm::Id nodeDims[3];
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" RegularConnectivity<3> ";
|
||||||
|
out<<"cellDim["<<cellDims[0]<<" "<<cellDims[1]<<" "<<cellDims[2]<<"] ";
|
||||||
|
out<<"nodeDim["<<nodeDims[0]<<" "<<nodeDims[1]<<" "<<nodeDims[2]<<"] ";
|
||||||
|
out<<"\n";
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
VTKM_EXEC_CONT_EXPORT
|
VTKM_EXEC_CONT_EXPORT
|
||||||
|
@ -522,6 +522,29 @@ make_ArrayHandle(const std::vector<T,Allocator> &array)
|
|||||||
return make_ArrayHandle(&array.front(), static_cast<vtkm::Id>(array.size()));
|
return make_ArrayHandle(&array.front(), static_cast<vtkm::Id>(array.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
VTKM_CONT_EXPORT
|
||||||
|
void
|
||||||
|
printSummary_ArrayHandle(const vtkm::cont::ArrayHandle<T> &array,
|
||||||
|
std::ostream &out)
|
||||||
|
{
|
||||||
|
vtkm::Id sz = array.GetNumberOfValues();
|
||||||
|
out<<"sz= "<<sz<<" [";
|
||||||
|
if (sz <= 5)
|
||||||
|
for (vtkm::Id i = 0 ; i < sz; i++)
|
||||||
|
{
|
||||||
|
out<<array.GetPortalConstControl().Get(i);
|
||||||
|
if (i != (sz-1)) out<<" ";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
out<<array.GetPortalConstControl().Get(0)<<" "<<array.GetPortalConstControl().Get(1);
|
||||||
|
out<<" ... ";
|
||||||
|
out<<array.GetPortalConstControl().Get(sz-2)<<" "<<array.GetPortalConstControl().Get(sz-1);
|
||||||
|
}
|
||||||
|
out<<"]";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class CellSet
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CellSet(const std::string &n, int d)
|
CellSet(const std::string &n, int d)
|
||||||
: name(n), dimensionality(d), structure(NULL)
|
: name(n), dimensionality(d), logicalStructure(NULL)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -63,10 +63,12 @@ public:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
virtual void PrintSummary(std::ostream&) = 0;
|
||||||
|
|
||||||
|
protected:
|
||||||
std::string name;
|
std::string name;
|
||||||
int dimensionality;
|
int dimensionality;
|
||||||
vtkm::cont::LogicalStructure *structure;
|
vtkm::cont::LogicalStructure *logicalStructure;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,12 @@ public:
|
|||||||
return nodesOfCellsConnectivity;
|
return nodesOfCellsConnectivity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" ExplicitCellSet: "<<name<<" dim= "<<dimensionality<<std::endl;
|
||||||
|
nodesOfCellsConnectivity.PrintSummary(out);
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ExplicitConnectivity nodesOfCellsConnectivity;
|
ExplicitConnectivity nodesOfCellsConnectivity;
|
||||||
};
|
};
|
||||||
|
@ -45,6 +45,12 @@ public:
|
|||||||
return regConn;
|
return regConn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" StructuredCellSet: "<<name<<" dim= "<<dimensionality<<std::endl;
|
||||||
|
structure.PrintSummary(out);
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
vtkm::RegularStructure<Dimension> structure;
|
vtkm::RegularStructure<Dimension> structure;
|
||||||
};
|
};
|
||||||
|
@ -62,6 +62,17 @@ class CoordinateSystem
|
|||||||
axes.push_back(CoordinateAxis(nx));
|
axes.push_back(CoordinateAxis(nx));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" {";
|
||||||
|
for (vtkm::Id i = 0; i < axes.size(); i++)
|
||||||
|
{
|
||||||
|
out<<axes[i].FieldName<<"["<<axes[i].FieldComponent<<"]";
|
||||||
|
if (i < axes.size()-1) out<<", ";
|
||||||
|
}
|
||||||
|
out<<"}\n";
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<CoordinateAxis> axes;
|
std::vector<CoordinateAxis> axes;
|
||||||
};
|
};
|
||||||
|
@ -92,6 +92,20 @@ public:
|
|||||||
return static_cast<vtkm::Id>(this->Fields.size());
|
return static_cast<vtkm::Id>(this->Fields.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<"DataSet:\n";
|
||||||
|
out<<" CoordSystems["<<CoordSystems.size()<<"]\n";
|
||||||
|
for (vtkm::Id i = 0; i < CoordSystems.size(); i++)
|
||||||
|
CoordSystems[i].PrintSummary(out);
|
||||||
|
out<<" CellSets["<<GetNumberOfCellSets()<<"]\n";
|
||||||
|
for (vtkm::Id i = 0; i < GetNumberOfCellSets(); i++)
|
||||||
|
GetCellSet(i)->PrintSummary(out);
|
||||||
|
out<<" Fields["<<GetNumberOfFields()<<"]\n";
|
||||||
|
for (vtkm::Id i = 0; i < GetNumberOfFields(); i++)
|
||||||
|
GetField(i).PrintSummary(out);
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::vector<vtkm::cont::CoordinateSystem> CoordSystems;
|
std::vector<vtkm::cont::CoordinateSystem> CoordSystems;
|
||||||
std::vector<vtkm::cont::Field> Fields;
|
std::vector<vtkm::cont::Field> Fields;
|
||||||
|
@ -129,6 +129,20 @@ public:
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" ExplicitConnectivity: #shapes= "<<NumShapes<<" #connectivity= "<<ConnectivityLength<<"\n";
|
||||||
|
out<<" Shapes: ";
|
||||||
|
printSummary_ArrayHandle(Shapes, out);
|
||||||
|
out<<"\n";
|
||||||
|
out<<" NumIndices: ";
|
||||||
|
printSummary_ArrayHandle(NumIndices, out);
|
||||||
|
out<<"\n";
|
||||||
|
out<<" Connectivity: ";
|
||||||
|
printSummary_ArrayHandle(Connectivity, out);
|
||||||
|
out<<"\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
vtkm::Id ConnectivityLength;
|
vtkm::Id ConnectivityLength;
|
||||||
|
@ -178,6 +178,24 @@ public:
|
|||||||
Copy(tmp1, tmp2);
|
Copy(tmp1, tmp2);
|
||||||
data = tmp2;
|
data = tmp2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void PrintSummary(std::ostream &out)
|
||||||
|
{
|
||||||
|
out<<" "<<name;
|
||||||
|
out<<" assoc= ";
|
||||||
|
switch (GetAssociation())
|
||||||
|
{
|
||||||
|
case ASSOC_WHOLE_MESH: out<<"Mesh "; break;
|
||||||
|
case ASSOC_POINTS: out<<"Points "; break;
|
||||||
|
case ASSOC_CELL_SET: out<<"Cells "; break;
|
||||||
|
case ASSOC_LOGICAL_DIM: out<<"LogicalDim "; break;
|
||||||
|
}
|
||||||
|
vtkm::cont::ArrayHandle<vtkm::Float32> vals;
|
||||||
|
vals = data.CastToArrayHandle(vtkm::Float32(), VTKM_DEFAULT_STORAGE_TAG());
|
||||||
|
printSummary_ArrayHandle(vals, out);
|
||||||
|
//out<<" order= "<<order;
|
||||||
|
out<<"\n";
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string name; ///< name of field
|
std::string name; ///< name of field
|
||||||
|
@ -30,6 +30,8 @@ void TestDataSet_Explicit()
|
|||||||
vtkm::cont::testing::MakeTestDataSet tds;
|
vtkm::cont::testing::MakeTestDataSet tds;
|
||||||
vtkm::cont::DataSet *ds = tds.Make3DExplicitDataSet1();
|
vtkm::cont::DataSet *ds = tds.Make3DExplicitDataSet1();
|
||||||
|
|
||||||
|
ds->PrintSummary(std::cout);
|
||||||
|
|
||||||
VTKM_TEST_ASSERT(ds->GetNumberOfCellSets() == 1,
|
VTKM_TEST_ASSERT(ds->GetNumberOfCellSets() == 1,
|
||||||
"Incorrect number of cell sets");
|
"Incorrect number of cell sets");
|
||||||
|
|
||||||
|
@ -45,6 +45,7 @@ TwoDimRegularTest()
|
|||||||
vtkm::cont::testing::MakeTestDataSet tds;
|
vtkm::cont::testing::MakeTestDataSet tds;
|
||||||
|
|
||||||
vtkm::cont::DataSet *ds = tds.Make2DRegularDataSet0();
|
vtkm::cont::DataSet *ds = tds.Make2DRegularDataSet0();
|
||||||
|
ds->PrintSummary(std::cout);
|
||||||
|
|
||||||
vtkm::cont::CellSetStructured<2> *cs;
|
vtkm::cont::CellSetStructured<2> *cs;
|
||||||
cs = dynamic_cast<vtkm::cont::CellSetStructured<2> *>(ds->GetCellSet(0));
|
cs = dynamic_cast<vtkm::cont::CellSetStructured<2> *>(ds->GetCellSet(0));
|
||||||
@ -111,6 +112,8 @@ ThreeDimRegularTest()
|
|||||||
vtkm::cont::testing::MakeTestDataSet tds;
|
vtkm::cont::testing::MakeTestDataSet tds;
|
||||||
|
|
||||||
vtkm::cont::DataSet *ds = tds.Make3DRegularDataSet0();
|
vtkm::cont::DataSet *ds = tds.Make3DRegularDataSet0();
|
||||||
|
ds->PrintSummary(std::cout);
|
||||||
|
|
||||||
vtkm::cont::CellSetStructured<3> *cs;
|
vtkm::cont::CellSetStructured<3> *cs;
|
||||||
cs = dynamic_cast<vtkm::cont::CellSetStructured<3> *>(ds->GetCellSet(0));
|
cs = dynamic_cast<vtkm::cont::CellSetStructured<3> *>(ds->GetCellSet(0));
|
||||||
VTKM_TEST_ASSERT(cs, "Invalid Cell Set");
|
VTKM_TEST_ASSERT(cs, "Invalid Cell Set");
|
||||||
|
Loading…
Reference in New Issue
Block a user