[Paraview] Providing block names within .vtm files

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Tue Mar 29 09:52:24 EDT 2011


FYI, I've added a feature request for the
same:http://public.kitware.com/Bug/view.php?id=12023

Utkarsh

On Fri, Mar 25, 2011 at 12:00 PM, Adriano Gagliardi
<agagliardi at ara.co.uk> wrote:
>
> Jean,
>
> Your fix works fine and pretty simple to implement. Should this be added as
> a feature request or possibly a bug?
>
> Regards,
>
> Adriano
>
> ===================================
>
> Adriano Gagliardi MEng PhD
> Business Sector Leader
> Computational Aerodynamics
> Aircraft Research Association Ltd.
> Manton Lane
> Bedford
>
> Tel: 01234 32 4644
> E-mail: agagliardi at ara.co.uk
> Url: www.ara.co.uk
> -----Original Message-----
> From: Favre Jean [mailto:jfavre at cscs.ch]
> Sent: 25 March 2011 12:05
> To: agagliardi at ara.co.uk; paraview at paraview.org
> Subject: RE: [Paraview] Providing block names within .vtm files
>
>
> I believe the functionality is missing. I have looked for it for many years.
>
> I just put together a quick hack, which seems to work fine for me. No
> exhaustive testing was done. It works for my test data, which are
> multi-blocks of multi-blocks. It could be generalized to multi-pieces too.
> I'll let a Kitware guru do that. :-)
>
> I modified VTK/IO/vtkXMLMultiBlockDataReader.cxx to get the attribute "name"
>
>    // child is a leaf node, read and insert.
>    const char* tagName = childXML->GetName();
>    if (strcmp(tagName, "DataSet") == 0)
>      {
>      vtkSmartPointer<vtkDataSet> childDS;
>      const char* name;
>      if (this->ShouldReadDataSet(dataSetIndex))
>        {
>        // Read
>        childDS.TakeReference(this->ReadDataset(childXML, filePath));
>        name = childXML->GetAttribute("name");
>        }
>      // insert
>      if (mblock)
>        {
>        mblock->SetBlock(index, childDS);
>        mblock->GetMetaData(index)->Set(vtkCompositeDataSet::NAME(), name);
>        }
>      else if (mpiece)
>        {
>        mpiece->SetPiece(index, childDS);
>        }
>      dataSetIndex++;
>      }
>    // Child is a multiblock dataset itself. Create it.
>    else if (mblock != 0
>             && strcmp(tagName, "Block") == 0)
>      {
>      vtkMultiBlockDataSet* childDS = vtkMultiBlockDataSet::New();;
>      this->ReadComposite(childXML, childDS, filePath, dataSetIndex);
>      const char* name = childXML->GetAttribute("name");
>      if (mblock)
>        {
>        mblock->SetBlock(index, childDS);
>        mblock->GetMetaData(index)->Set(vtkCompositeDataSet::NAME(), name);
>        }
>      else if (mpiece)
>        {
>        vtkErrorMacro("Multipiece data can't have composite children.");
>        return;
>        }
>      childDS->Delete();
>      }
>
>
> -----------------
> Jean M. Favre
> Swiss National Supercomputing Center
>
> =
>
>
> **********************************************************************
> This email contains information that is private and confidential and is intended only for the addressee.
> If you are not the intended recipient please delete it and notify us immediately by e-mailing the sender.
> Note: All email sent to or from this address may be accessed by someone other than the recipient, for
> system management and security reasons.
> Aircraft Research Association Ltd.  Registered in England, Registration No 503668 Registered Office:
> Manton Lane, Bedford MK41 7PF England VAT No GB 196351245
>
> **********************************************************************
> _______________________________________________
> 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
>


More information about the ParaView mailing list