[vtkusers] vtkGlyph3D

Peter Schmitt pschmitt at gmail.com
Mon Jul 18 17:18:01 EDT 2005


Exactly.  

I was stumped for a while because I didn't (knowingly, at least) call
any functions from vtkPolyData...

It's working now--thanks!
Pete

On 7/18/05, John Biddiscombe <biddisco at cscs.ch> wrote:
> 
> > One of them is missing.
> 
> for this error, it'd be #include "vtkPolyData.h"
> 
> >
> >
> > HTH,
> > David
> >
> >
> > Peter Schmitt wrote:
> >
> >> vtkusers,
> >> I am having some goofy problems with vtkGlyph3D::SetInput(vtkDataSet*).
> >>
> >> When I call  vtkGlyph3D::SetInput(mask->GetOutput()), I get the
> >> following error on compile:
> >> ////////////////
> >> // start snip
> >> main.C: In function `int main(int, char**)':
> >> main.C:208: no matching function for call to
> >> `vtkGlyph3D::SetInput(vtkPolyData*
> >>   )'
> >> /software/linux-sles8-ia32/vtk-nvgl-4.4.2-gcc-r1/include/vtk/vtkDataSetToPolyDataFilter.h:41:
> >>
> >> candidates
> >>   are: virtual void vtkDataSetToPolyDataFilter::SetInput(vtkDataSet*)
> >> make: *** [main.o] Error 1
> >> // stop snip
> >> ///////////////
> >>
> >> However, I can compile & execute properly if I run the following
> >> command instead:
> >> vtkGlyph3D::SetInput((vtkDataSet*) mask->GetOutput())
> >>
> >> Why do I have to manually set my mask as a vtkDataSet?  Is this a bug
> >> in my program or vtk?  The vtkMaskPoints examples do not manually
> >> declare a point mask as (vtkDataSet*)  I have included a small code
> >> fragment at the end of this email.
> >>
> >> Thanks,
> >> Pete
> >>
> >>
> >> // code snip follows:
> >>
> >>    vtkUnstructuredGrid* ugrid = vtkUnstructuredGrid::New();
> >>    //... set data
> >>
> >>    /* Set up arrow source that will be used with glyph*/
> >>    vtkArrowSource *arrow = vtkArrowSource::New();
> >>
> >>    /* transform base vector */
> >>    vtkTransform *scale = vtkTransform::New();
> >>
> >>    /* apply the scaling */
> >>    vtkTransformPolyDataFilter *trans =
> >> vtkTransformPolyDataFilter::New();
> >>    trans->SetTransform(scale);
> >>    trans->SetInput(arrow->GetOutput());
> >>
> >>    /* limit number of vectors to be drawn via a mask */
> >>    vtkMaskPoints *mask = vtkMaskPoints::New();
> >>    mask->SetInput(ugrid);
> >>    mask->SetOnRatio(75);
> >>    mask->RandomModeOn();
> >>
> >>    /* set the glyph using the objects we just set up */
> >>    vtkGlyph3D *arrows = vtkGlyph3D::New();
> >>    arrows->SetInput((vtkDataSet*) mask->GetOutput());    // <<<-----
> >> runs properly
> >>    //arrows->SetInput(mask->GetOutput());          //   <<< ----
> >> gives me compile error
> >>    arrows->SetSource(trans->GetOutput());
> >>    arrows->SetScaleModeToDataScalingOff();
> >>    arrows->SetColorModeToColorByVector();
> >>
> >> --
> >> Pete
> >> _______________________________________________
> >> 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
> 
> 
> 
> --
> John Biddiscombe,                            email:biddisco @ cscs.ch
> http://www.cscs.ch/about/BJohn.php
> CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
> Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82
> 
> 
> 


-- 
Pete



More information about the vtkusers mailing list