[vtkusers] Help with drawing lines

Michael Jackson mike.jackson at bluequartz.net
Tue Jan 20 10:52:16 EST 2009


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




More information about the vtkusers mailing list