[vtkusers] Help with drawing lines

Rob Remke robert_remke at starkey.com
Mon Feb 16 13:27:26 EST 2009


Michael,

I would like to see some example code if it is not too hard to dig up.

Thanks,		Rob

-----Original Message-----
From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On Behalf Of Michael Jackson
Sent: Tuesday, January 20, 2009 9:52 AM
To: VTK Users
Subject: Re: [vtkusers] Help with drawing lines

You probably want to create a vtkPolyData set that contains just
lines. You should be able to do this quite easily by creating the
vtkPolyData object then inserting a new cell of type VTK_POLY_LINE and
2 points. When you are complete with that then use 1 actor to
visualize the ployData. I can possibly dig up some code if needed.

_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio



On Jan 20, 2009, at 10:44 AM, Konstantinos Kelg wrote:

> Actually, the lines I have to draw are too many (more than 100.000).
> So I don't think drawing each line with a different actor would be a
> good idea. Isn't there any way to define all the lines in a single
> object and then render them with one actor ?
>
> I thought that "vtkCellArray" would do the job, but I guess I was
> wrong. Perhaps I'm missing sth...
>
>
> --- Στις Δευτ., 19/01/09, ο/η Andre Gouws
> <andre at ynic.york.ac.uk> έγραψε:
> Από: Andre Gouws <andre at ynic.york.ac.uk>
> Θέμα: Re: [vtkusers] vtkAVIWriter problem.
> Προς: kkelgeor at yahoo.gr
> Κοιν.: vtkusers at vtk.org
> Ημερομηνία: Δευτέρα, 19 Ιανουάριος 2009,
> 9:44
>
> I usually
>  just use vtkLineSource (has SetPoint1 and SetPoint2 calls once you
> have calculated the positions) .. example from the vtk source
> (Python sorry)
>
> rake = vtk.vtkLineSource()
> rake.SetPoint1(15, -5, 32)
> rake.SetPoint2(15, 5, 32)
> rake.SetResolution(21)
>
> ..... addmapper ...
>
> ..... addactor ... etc.
>
>
> > 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
> >
> i think vtkLineRepresentation  (or vtkLinewidget) is a better way to
> draw lines in a scene…you must set the properties of the line the
> way you like, add it to the renderer  and simply set the
> coordinates(in world coordinates) of two end points of the line …
>
> ====================================================
>
> Hi. I need to render some vectors in 3D space and I've decided to
> draw them as lines. However my code doesn't seem to work (I see
> nothing). Does anyone know why ?
>
>
> vtkCellArray *cellArrayNorm = vtkCellArray::New();
> vtkPoints *points2 = vtkPoints::New();
> points2->Allocate(2*m_NumOfVertices*3*sizeof(float));
>
>
> for(int k=0; k<m_NumOfVertices; k++)
>   {
>   float* fp = VerticesP[k].coords; // Get vertex coords.
>
>   float* fpN = NormP[k].coords; // Get vertex normal.
>   points2->SetPoint(k, fp); // Set 1st point
>   points2->SetPoint(m_NumOfVertices + k, // Set 2nd point.
>
>     fp[0]+fpN[0], // x+dx
>       fp[1]+fpN[1], // y+dy
>       fp[2]+fpN[2]);// z+dz
>   // Set up new (line) cell and insert.
>   int pts[2] = {k, m_NumOfVertices+k};
>   cellArrayNorm->InsertNextCell(2, pts);
>   }
>
>
>
>   vtkPolyData *polyDataNorm = vtkPolyData::New();
>   polyDataNorm->SetPoints(points2);
>   polyDataNorm->SetPolys(cellArrayNorm);
>
>   vtkPolyDataMapper *polyDataMapperNorm = vtkPolyDataMapper::New();
>   polyDataMapperNorm->SetInput(polyDataNorm);
>
>   ActorNorm->SetMapper(polyDataMapperNorm);
>   ren1->AddActor(ActorNorm);
>
>   vtkProperty *prop = vtkProperty::New();
>   prop->SetColor(1.0, 0.0, 0.0);
>   ActorNorm->SetProperty(prop);
>
>   points2->Delete();
>   cellArrayNorm->Delete();
>   polyDataNorm->Delete();
>   polyDataMapperNorm->Delete();
>   prop->Delete();
>
> Thanks.
>
>
> Χρησιμοποιείτε Yahoo!
> Βαρεθήκατε τα ενοχλητικά μηνύ ματα
> (spam); Το Yahoo! Mail διαθέτει την καλύτερη
> δυνατή προστασία κατά των
> ενοχλητικών μηνυμάτων
> http://login.yahoo.com/config/mail?.intl=gr
> _______________________________________________
> 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


More information about the vtkusers mailing list