[vtkusers] Trouble Applying Threshold filter to UnstructuredGrid

Mike Jackson imikejackson at gmail.com
Mon Jun 2 12:46:54 EDT 2008


Funny, I was just trying that but didn't know what to set the  
"connection" value to.

Thank you, now it works how I was expecting it to.
-- 
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services


On Jun 2, 2008, at 12:44 PM, Amy Squillacote wrote:

> Hi Mike,
>
> You could also try using the version of SetInputArrayToProcess with  
> the following signature.
>
> void SetInputArrayToProcess(int idx, int port, int connection, int  
> fieldAssociation, const char *name);
>
> For vtkThreshold, idx, port, and connection should all be 0 (from  
> looking at the code for vtkThreshold's constructor).
> Set fieldAssociation to vtkDataObject::FIELD_ASSOCIATION_POINTS  
> (since you're using point data).
> Set name to "Scalars 3".
>
> - Amy
>
> John Platt wrote:
>> Hi Mike,
>>
>> Have you tried getting the index of your scalars from the point data
>>
>> 	grid->GetPointData()->GetArray("Scalars 3", index);
>>
>> HTH
>>
>> John.
>>
>>
>>
>> -----Original Message-----
>> From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On
>> Behalf Of Mike Jackson
>> Sent: 02 June 2008 16:45
>> To: vtkusers at vtk.org
>> Subject: [vtkusers] Trouble Applying Threshold filter to
>> UnstructuredGrid
>>
>> I have a vtkUnstructuredGrid with 5 sets of Scalars attached to  
>> the  point data. I would like to run a vtkThreshold filter on the  
>> grid  selecting only points from the grid that have a scalar value  
>> between  1.5 and 2.5. I only want to use the 3rd scalar array as  
>> the  determining factor.
>>
>> So lets say that I named my scalars "Scalars 1", "Scalars 2"...
>>
>> Here is what I have so far, which is not working.
>>
>> vtkSmartPointer<vtkThreshold> thr =  
>> vtkSmartPointer<vtkThreshold>::New ();
>> vtkFieldData* fd = grid->GetFieldData();
>> int index = -1;
>> fd->GetArray("Scalars 3", index);
>> thr->SetInput(grid);
>> thr->ThresholdBetween( 1.5, 2.5 );
>> thr->AllScalarsOff();
>> thr->SetInputArrayToProcess(index, info);
>> thr->Update(); // Force the filter to run
>> vtkUnstructuredGrid* output = thr->GetOutput(0);
>> output->Register(NULL);
>>
>> Note that I am using "info" variable which was retrieved from the   
>> RequestData(.. ) arguments in the usual fashion, which I don't  
>> think  is correct.
>>
>> Also, the index of the Scalars array comes back as "-1" which  
>> means  that my "Scalars 3" array could not be found. I know it is  
>> there. I  can print the vtkUnstructuredGrid and "see" the named  
>> array.
>>
>> So I know this should be straight forward but I am just coming up  
>> empty.
>>
>> Any help or hints would be appreciated.
>> --
>> Mike Jackson
>> imikejackson & gmail * com
>>
>> _______________________________________________
>> This is the private VTK discussion list.
>> Please keep messages on-topic. Check the FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>> _______________________________________________
>> This is the private VTK discussion list.
>> Please keep messages on-topic. Check the FAQ at: http:// 
>> www.vtk.org/Wiki/VTK_FAQ
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
>>
>
> -- 
> Amy Squillacote                    Phone: (256) 726-4839
> Computer Scientist                 Fax: (256) 726-4806
> CFD Research Corporation           Web: http://www.cfdrc.com
> 215 Wynn Drive, Suite 501
> Huntsville, AL  35805
>
>




More information about the vtkusers mailing list