[vtkusers] PolyData and tensors
Darshan Pai
darshanpai at gmail.com
Thu Mar 25 13:20:22 EDT 2010
So I figured out the problem . If I do InsetComponent instead of
SetComponent it works without crashing .
So I guess the problem was I did not Allocate the Space before doing
SetComponent .
Regards
Darshan
On Thu, Mar 25, 2010 at 1:19 AM, Darshan Pai <darshanpai at gmail.com> wrote:
> Added a compilable version here . Please check . I am clueless
>
> #include <vtkActor.h>
> #include <vtkRenderer.h>
> #include <vtkRenderWindow.h>
> #include <vtkRenderWindowInteractor.h>
> #include <vtkSmartPointer.h>
> #include <vtkDoubleArray.h>
> #include <vtkPoints.h>
> #include <vtkCellArray.h>
> #include <vtkPolyDataMapper.h>
> #include <vtkPolydata.h>
> #include <iostream>
> #include <fstream>
> #include <vtkProperty.h>
> #include <vtkPointData.h>
>
> int main()
> {
> vtkPoints *points = vtkPoints::New();
> vtkCellArray *lines = vtkCellArray::New();
> vtkPolyData *indata = vtkPolyData::New();
> vtkPolyDataMapper *mapper = vtkPolyDataMapper::New();
> vtkActor* fiber_actor = vtkActor::New();
> vtkDoubleArray *dbar = vtkDoubleArray::New();
>
> dbar->SetNumberOfTuples(10);
> dbar->SetNumberOfComponents(9);
> points->SetNumberOfPoints(10);
> lines->SetNumberOfCells(10);
>
> points->InsertPoint(0,101.822,56.87,64.0516);
> points->InsertPoint(1,101.844,57.7007,64.5);
> points->InsertPoint(2,101.818,57.81,64.4116);
> points->InsertPoint(3,101.497,58.75,63.6901);
> points->InsertPoint(4,101.147,59.69,63.0351);
> points->InsertPoint(5,101.05,60.0038,62.8423);
> points->InsertPoint(6,100.88,60.63,62.4272);
> points->InsertPoint(7,100.701,61.57,61.9138);
> points->InsertPoint(8,100.609,62.3104,61.5);
> points->InsertPoint(9,100.591,62.51,61.3388);
> indata->SetPoints(points);
>
> for (int j = 0; j < 10 - 1; j++)
> {
> lines->InsertNextCell(2);
> lines->InsertCellPoint(j);
> lines->InsertCellPoint(j+1);
> }
> indata->SetLines(lines);
> for (int i = 0; i < 10; i++)
>
> {
> dbar->SetComponent(i,0,1);
> dbar->SetComponent(i,1,1);
> dbar->SetComponent(i,2,1);
> dbar->SetComponent(i,3,1);
> dbar->SetComponent(i,4,1);
> dbar->SetComponent(i,5,1);
> dbar->SetComponent(i,6,1);
> dbar->SetComponent(i,7,1);
> dbar->SetComponent(i,8,1);
> }
> indata->GetPointData()->SetTensors(dbar);
> mapper->SetInput(indata);
>
> fiber_actor->SetMapper(mapper);
> fiber_actor->GetProperty()->SetLineWidth(3.0);
> vtkSmartPointer<vtkRenderer> renderer =
> vtkSmartPointer<vtkRenderer>::New();
> renderer->AddActor(fiber_actor);
> vtkSmartPointer<vtkRenderWindow> renderWindow =
> vtkSmartPointer<vtkRenderWindow>::New();
> renderWindow->AddRenderer( renderer );
> renderWindow->SetSize(1000,1000);
>
> vtkSmartPointer<vtkRenderWindowInteractor> interactor =
> vtkSmartPointer<vtkRenderWindowInteractor>::New();
> interactor->SetRenderWindow( renderWindow );
>
> // Initialize the event loop and then start it
> interactor->Initialize();
> interactor->Start();
> }
>
> On Wed, Mar 24, 2010 at 7:25 PM, David Doria <daviddoria+vtk at gmail.com<daviddoria%2Bvtk at gmail.com>
> > wrote:
>
>> On Wed, Mar 24, 2010 at 6:46 PM, Darshan Pai <darshanpai at gmail.com>wrote:
>>
>>> I am trying to make a polydata composed of polylines , I am planning to
>>> add tensor information at each of the points .
>>> i want to make a EllipsoidTensorProbeRepresentation which will add this
>>> polyline as a trajectory so that I can get an
>>> ellipsoid representation across the polyline.
>>>
>>> My main problem is adding the tensor.
>>> I did the following
>>>
>>> vtkDoubleArray *dbar = vtkDoubleArray::New();
>>> dbar->SetNumberOfValues(size);
>>> dbar->SetNumberOfComponents(9);
>>>
>>> The for each point I add the 9 components using the following function
>>>
>>> dbar->SetComponent(i,0,1)
>>> dbar->SetComponent(i,1,1);
>>> .............. and so on
>>>
>>> When I try to add it to the polydata though
>>> indata->GetPointData()->SetTensors(dbar);
>>>
>>> It crashes .
>>>
>>> I am not sure where I am going wrong
>>>
>>> Please Help
>>>
>>> Darshan
>>>
>>>
>> Can you make the smallest compilable example that demonstrates this
>> behavior and post it to the list?
>>
>> Thanks,
>>
>> David
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100325/0e6e033e/attachment.htm>
More information about the vtkusers
mailing list