[vtkusers] Get/Set values Vector Data
Allen Sanderson
allen at sci.utah.edu
Wed Mar 18 12:19:12 EDT 2015
You do not need to do an insert next tuple as memory has already been allocated with the call to SetNumberOfTuples.
Right off I do see anything wrong with your approach. I would check the obvious does your polydata have points?? What happens to it down stream??
Cheers,
Allen
On Mar 18, 2015, at 12:55 PM, Chiranjib Sur <sur.chiranjib at gmail.com> wrote:
> HI Allen,
> Thanks for the pointer. I am having some issues with this. before explaining the issues let me state the problem I am trying to solve in bit more dtails.
>
> I have a poly data which corresponds to to different set, i.e. the combined poly data I am dealing with correspond to two different section of the geometrical object. And I know the offset of the data set which differentiates object A from Object B from the polydata.
>
> Now when I am trying to set value like velocity with 3 component, I am facing the issues. Although I do the following, the properties are getting assigned randomly. Here is the snippet of my code :
>
>
> vtkSmartPointer<vtkDoubleArray> velocity = vtkSmartPointer<vtkDoubleArray>::New();
> velocity->SetName ("Velocity");
> velocity->SetNumberOfComponents(3);
>
> velocity->SetNumberOfTuples( polydata->GetNumberOfPoints());
>
> polydata->GetPointData()->AddArray( velocity );
>
> for (long long i = offset; i < polydata->GetNumberOfPoints(); ++i) // offset determines the position of the polydata I want to start with instead of starting at == 0)
> {
> velocity->SetTuple3( i, _Vx, _Vy, _Vz ); //_Vx,_Vy,_Vz are double and declared elsewhere
> // velocity->InsertNextTuple3( _Vx, _Vy, _Vz ); // Instead of using SetTuple3, I can use InsertNextTuple3 or InsertTuple3 too.
> }
>
> Am I doing anything wrong here ?
>
> Thanks much,
> Chiranjib
>
> On Tue, Mar 17, 2015 at 6:55 PM, Allen Sanderson <allen at sci.utah.edu> wrote:
> Here is some sample code:
>
> vtkDoubleArray *velocityArray = vtkDoubleArray::New();
> velocityArray->SetName(var.c_str());
> // NOTE: you want to set the number of components BEFORE setting the number of Tuples so memory is correctly allocated.
>
> velocityArray->SetNumberOfComponents(3);
> velocityArray->SetNumberOfTuples(nTuples);
>
> polydata->GetPointData()->AddArray(velocityArray);
>
> double dx, dy, dz;
>
> Loop: velocityArray->SetTuple3(index, dx, dy, dz);
> Where : 0<= index < nTuples
>
> velocityArray->Delete();
>
>
> The get would be:
>
> double *velocity = velocityArray->GetTuple3(l);
>
>
> Cheers,
>
> Allen
>
>
> Allen Sanderson
> SCI Institute
> University of Utah
> www.sci.utah.edu
>
>
>
> On Mar 17, 2015, at 1:03 PM, Chiranjib Sur <sur.chiranjib at gmail.com> wrote:
>
>> Hi All,
>> I want to assign values (3 component vector) to all in a polydata set.
>> I found the email thread where the solution for a one component scalar data is explained (http://vtk.1045678.n5.nabble.com/Get-Set-values-in-scalar-data-td3259506.html)
>>
>> Anybody can help explaining how to do this for a 3-component vector data type.
>>
>> Thanks in advance.
>>
>> Chiranjib Sur
>> _______________________________________________
>> 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 VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>
>
> _______________________________________________
> 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 VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150318/7ae37315/attachment.html>
More information about the vtkusers
mailing list