[Paraview] Custom source glyph error

Bob Flandard bflandard at gmail.com
Wed Jan 4 18:11:46 EST 2017


Hi Dave,

Thanks for looking at that. I've experimented with creating point results
data within ParaView (rather than importing it from the Ensight *.case
file) using the programmable python filter and code stolen from the wiki
(see attached state file). In this case it seems that everything works as
expected with no error messages and as a bonus it also allows contouring
the results data on the glyphs, which you mentioned in a previous message.

One fix would be to convert all my data files from Ensight to vtkPolydata,
but I think that may be more effort than it's worth and would possible open
a can of malevolent worms. Maybe the Ensight data format isn't being
converted internally to the same format as the native vtk format.

Thanks again, Bob

On 4 January 2017 at 21:00, David Lonie <david.lonie at kitware.com> wrote:

> I dug into the error a bit and at a glance, it seems like it might be an
> issue with the vtkCompositeDataPipeline (pinging Berk for this since he
> knows more about composite pipelines).
>
> The stack for the error is:
>
> 1   vtkDataObjectTree::SetDataSetFrom vtkDataObjectTree.cxx:305
> 2   vtkDataObjectTree::SetDataSet vtkDataObjectTree.cxx:242
> 3   vtkCompositeDataPipeline::ExecuteEach vtkCompositeDataPipeline.cxx:310
> 4   vtkCompositeDataPipeline::ExecuteSimpleAlgorithm
> vtkCompositeDataPipeline.cxx:398
> 5   vtkCompositeDataPipeline::ExecuteData vtkCompositeDataPipeline.cxx:167
> ...
>
> Since the glyph filter is not equipped to handle composite glyphs, the
> pipeline iterates through all of the datasets in the composite glyph source
> and executes the filter for each of them, combining the outputs into
> another composite dataset. But for some reason, the output composite
> dataset doesn't seem to match the input composite dataset's structure.
>
> The odd thing I see is that ExecuteSimpleAlgorithm does call CopyStructure
> before iterating through the glyphs at vtkCompositeDataPipeline:369. Not
> sure why things are mismatched when the output is updated.
>
> On Wed, Jan 4, 2017 at 12:46 PM, Bob Flandard <bflandard at gmail.com> wrote:
>
>> Hi Dave,
>>
>> In the state file, the glyph source is already polyData - created using
>> the sphere source (sensibly the gui doesn't allow selection of a non
>> polyData glyph source).
>>
>> The composite dataset feature will be very useful for multi colored
>> glyphs.
>>
>> Thanks, Bob
>>
>> On 4 January 2017 at 17:25, David Lonie <david.lonie at kitware.com> wrote:
>>
>>> I believe the issue here is that the glyph source must be polydata at
>>> the moment. Does a dataset surface filter (or similar) help?
>>>
>>> I mentioned on the other thread that I'm working on improving the glyph
>>> representation so you won't need to use the filter to get custom glyphs.
>>> This patch will also add the ability to use a composite dataset (with
>>> polydata leaves) as the glyph source.
>>>
>>> Cheers,
>>> Dave
>>>
>>> On Wed, Jan 4, 2017 at 8:02 AM, Bob Flandard <bflandard at gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm getting an error message (see end) using the "glyph with custom
>>>> source filter" for the case where the input points have associated results
>>>> data sets and the custom glyph source is of multiblock type.
>>>>
>>>> I've attached two small sample state files that demonstrate the issue.
>>>>
>>>> The custom glyph should be two hemispheres, one black and one white.
>>>> One state file shows the desired result, but the point source data has no
>>>> results data sets associated with it. The other state file has point
>>>> sources with two associated results data sets (mode1 and mode2) contained
>>>> in the attached Ensight *.case files. This second file gives the error
>>>> message below when loading.
>>>>
>>>> Is this a bug or is there a filter that implements "CopyStructure",
>>>> that I should use?
>>>>
>>>> Thanks for any suggestions,
>>>>
>>>> Bob
>>>>
>>>>
>>>> The error message is:
>>>>
>>>> ERROR: In C:\bbd\df0abce0\source-paraview\VTK\Common\DataModel\vtkDataObjectTree.cxx,
>>>> line 306
>>>> vtkMultiBlockDataSet (0000000017C45180): Structure does not match. You
>>>> must use CopyStructure before calling this method.
>>>>
>>>> _______________________________________________
>>>> 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
>>>>
>>>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://public.kitware.com/mailman/listinfo/paraview
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170104/faa9d711/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: custom glyph working with points that have data sets.zip
Type: application/zip
Size: 25971 bytes
Desc: not available
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170104/faa9d711/attachment.zip>


More information about the ParaView mailing list