[Paraview] Unable to write out EnSight format with VTK_POLYHEDRON
Robert Maynard
robert.maynard at kitware.com
Wed Dec 7 09:52:16 EST 2011
Hi,
Can you create a bug report with the code attached as a patch please.
On Thu, Dec 1, 2011 at 9:23 PM, kenichiro yoshimi
<rccm.kyoshimi at gmail.com> wrote:
> Hello,
>
> I tried to save data including VTK_POLYHEDRON meshes through "Save
> Data" with "EnSight format", but the polyhedrons couldn't be written.
> Probably, the reason is that vtkEnSightWriter doesn't support
> VTK_POLYHEDRON. In my case, I change the following and work well:
> 1. replace all "VTK_CONVEX_POINT_SET" with "VTK_POLYHEDRON".
> 2. vtkEnSightWriter.cxx: l.620
> //element conenctivity information
> for (k=0;k<CellsByElement[elementType].size();k++)
> {
> int CellId=CellsByElement[elementType][k];
> vtkIdList *PointIds=input->GetCell(CellId)->GetPointIds();
> for (int m=0;m<PointIds->GetNumberOfIds();m++)
> {
> int PointId=PointIds->GetId(m);
> this->WriteIntToFile(NodeIdToOrder[PointId],fd);
> }
> }
> ----------------------->
> if (elementType != VTK_POLYHEDRON)
> {
> //element conenctivity information
> for (k=0;k<CellsByElement[elementType].size();k++)
> {
> int CellId=CellsByElement[elementType][k];
> vtkIdList *PointIds=input->GetCell(CellId)->GetPointIds();
> for (int m=0;m<PointIds->GetNumberOfIds();m++)
> {
> int PointId=PointIds->GetId(m);
> this->WriteIntToFile(NodeIdToOrder[PointId],fd);
> }
> }
> }
> else
> {
> //number of faces per elements
> for (k=0;k<CellsByElement[elementType].size();k++)
> {
> int CellId=CellsByElement[elementType][k];
> int numFaces=input->GetCell(CellId)->GetNumberOfFaces();
> this->WriteIntToFile(numFaces,fd);
> }
> //number of nodes per faces
> for (k=0;k<CellsByElement[elementType].size();k++)
> {
> int CellId=CellsByElement[elementType][k];
> vtkCell *cell = input->GetCell(CellId);
> for (int m=0;m<cell->GetNumberOfFaces();m++)
> {
> int numNodes=cell->GetFace(m)->GetNumberOfPoints();
> this->WriteIntToFile(numNodes,fd);
> }
> }
> //element connectivity information
> for (k=0;k<CellsByElement[elementType].size();k++)
> {
> int CellId=CellsByElement[elementType][k];
> vtkCell *cell = input->GetCell(CellId);
> for (int m=0;m<cell->GetNumberOfFaces();m++)
> {
> vtkIdList *PointIds=cell->GetFace(m)->GetPointIds();
> for (int n=0;n<PointIds->GetNumberOfIds();n++)
> {
> int PointId=PointIds->GetId(n);
> this->WriteIntToFile(NodeIdToOrder[PointId],fd);
> }
> }
> }
> }
> ------------------------------------------------------------------
>
> Can anyone tell me if these modifications are correct?
>
> Please advice
> Thanks,
> yoshimi
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
--
Robert Maynard
More information about the ParaView
mailing list