Add PrintSummary() for DataSet.
This commit is contained in:
parent
c55d764c50
commit
e1bbda8cae
@ -67,6 +67,15 @@ public:
|
||||
if (index < nodeDims[0]-1)
|
||||
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 nodeDims[1];
|
||||
};
|
||||
@ -122,6 +131,14 @@ public:
|
||||
if (i < nodeDims[0]-1 && j < nodeDims[1]-1)
|
||||
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 nodeDims[2];
|
||||
@ -215,6 +232,14 @@ public:
|
||||
|
||||
vtkm::Id cellDims[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:
|
||||
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()));
|
||||
}
|
||||
|
||||
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:
|
||||
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;
|
||||
}
|
||||
|
||||
private:
|
||||
virtual void PrintSummary(std::ostream&) = 0;
|
||||
|
||||
protected:
|
||||
std::string name;
|
||||
int dimensionality;
|
||||
vtkm::cont::LogicalStructure *structure;
|
||||
vtkm::cont::LogicalStructure *logicalStructure;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -29,6 +29,12 @@ public:
|
||||
return nodesOfCellsConnectivity;
|
||||
}
|
||||
|
||||
virtual void PrintSummary(std::ostream &out)
|
||||
{
|
||||
out<<" ExplicitCellSet: "<<name<<" dim= "<<dimensionality<<std::endl;
|
||||
nodesOfCellsConnectivity.PrintSummary(out);
|
||||
}
|
||||
|
||||
public:
|
||||
ExplicitConnectivity nodesOfCellsConnectivity;
|
||||
};
|
||||
|
@ -45,6 +45,12 @@ public:
|
||||
return regConn;
|
||||
}
|
||||
|
||||
virtual void PrintSummary(std::ostream &out)
|
||||
{
|
||||
out<<" StructuredCellSet: "<<name<<" dim= "<<dimensionality<<std::endl;
|
||||
structure.PrintSummary(out);
|
||||
}
|
||||
|
||||
public:
|
||||
vtkm::RegularStructure<Dimension> structure;
|
||||
};
|
||||
|
@ -62,6 +62,17 @@ class CoordinateSystem
|
||||
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:
|
||||
std::vector<CoordinateAxis> axes;
|
||||
};
|
||||
|
@ -92,6 +92,20 @@ public:
|
||||
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:
|
||||
std::vector<vtkm::cont::CoordinateSystem> CoordSystems;
|
||||
std::vector<vtkm::cont::Field> Fields;
|
||||
|
@ -129,6 +129,20 @@ public:
|
||||
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:
|
||||
vtkm::Id ConnectivityLength;
|
||||
|
@ -178,6 +178,24 @@ public:
|
||||
Copy(tmp1, 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:
|
||||
std::string name; ///< name of field
|
||||
|
@ -30,6 +30,8 @@ void TestDataSet_Explicit()
|
||||
vtkm::cont::testing::MakeTestDataSet tds;
|
||||
vtkm::cont::DataSet *ds = tds.Make3DExplicitDataSet1();
|
||||
|
||||
ds->PrintSummary(std::cout);
|
||||
|
||||
VTKM_TEST_ASSERT(ds->GetNumberOfCellSets() == 1,
|
||||
"Incorrect number of cell sets");
|
||||
|
||||
|
@ -45,6 +45,7 @@ TwoDimRegularTest()
|
||||
vtkm::cont::testing::MakeTestDataSet tds;
|
||||
|
||||
vtkm::cont::DataSet *ds = tds.Make2DRegularDataSet0();
|
||||
ds->PrintSummary(std::cout);
|
||||
|
||||
vtkm::cont::CellSetStructured<2> *cs;
|
||||
cs = dynamic_cast<vtkm::cont::CellSetStructured<2> *>(ds->GetCellSet(0));
|
||||
@ -111,6 +112,8 @@ ThreeDimRegularTest()
|
||||
vtkm::cont::testing::MakeTestDataSet tds;
|
||||
|
||||
vtkm::cont::DataSet *ds = tds.Make3DRegularDataSet0();
|
||||
ds->PrintSummary(std::cout);
|
||||
|
||||
vtkm::cont::CellSetStructured<3> *cs;
|
||||
cs = dynamic_cast<vtkm::cont::CellSetStructured<3> *>(ds->GetCellSet(0));
|
||||
VTKM_TEST_ASSERT(cs, "Invalid Cell Set");
|
||||
|
Loading…
Reference in New Issue
Block a user