[vtkusers] ImplicitModeller and ContourFilter

Mathieu Malaterre mathieu.malaterre at kitware.com
Fri Mar 26 16:50:17 EST 2004


Christopher,

 > NIso->SetInput((vtkDataSet*) Nmodeller->GetOutput());

	VTK uses forward declaration, you should not cast object like this. You 
need to include the proper header that's all.
	In your case you need:

#include "vtkImageData.h"

Mathieu

Christopher.Moore at noaa.gov wrote:
> Thanks for the try, Pingkun, but simply casting the ImplicitModeller 
> didn't work - the output is ImageData (the superclass is already DataSet), 
> and when I add the cast:
> 
> NIso->SetInput((vtkDataSet*) Nmodeller->GetOutput());
> 
> I get the following errors now:
> 
> /usr/local/lib/vtk/libvtkHybrid.a(vtkImplicitModeller.o)(.text+0x2f): In 
> function `vtkImplicitModeller::CollectRevisions(std::basic_ostream<char, 
> std::char_traits<char> >&)':: undefined reference to 
> `vtkDataSetToImageFilter::CollectRevisions(std::basic_ostream<char,
> std::char_traits<char> >&)'
> /usr/local/lib/vtk/libvtkHybrid.a(vtkImplicitModeller.o)(.text+0x4e5): In 
> function `vtkImplicitModeller::UpdateData(vtkDataObject*)':: undefined reference 
> to `vtkDataSetToImageFilter::GetInput()'
> /usr/local/lib/vtk/libvtkHybrid.a(vtkImplicitModeller.o)(.text+0xc15): In 
> function `vtkImplicitModeller_ThreadedAppend(void*)':: undefined reference 
> to `vtkCellLocator::New()'
> /usr/local/lib/vtk/libvtkHybrid.a(vtkImplicitModeller.o)(.text+0xfa6): In 
> function `vtkImplicitModeller_ThreadedAppend(void*)':: undefined reference to 
> `vtkCellLocator::FindClosestPointWithinRadius(float*, float, float*, 
> vtkGenericCell*, int&, int&, float&)'
> /usr/local/lib/vtk/libvtkHybrid.a(vtkImplicitModeller.o)(.text+0x19c8): In 
> function `vtkImplicitModeller::Append(vtkDataSet*)':: undefined reference 
> to `vtkStructuredGrid::New()'
> 
> Does anyone have any ideas?
> 
> Cheers,
> Chris
> 
> On Fri, 26 Mar 2004, Yan Pingkun wrote:
> 
> 
>>vtkImageData is derived from vtkDataSet. So you can call the function
>>like this:
>>NIso->SetInput((vtkDataSet*) Nmodeller->GetOutput());
>>This is caused by the strong type checking character of C++. Sometimes
>>it may help us from being trapped by errors.
>>
>>TCL is a script language. It doesn't match the data type strictly.
>>Hence, there's no warning or error on it.
>>
>>My two cents.
>>
>>Pingkun
>>
>>-----Original Message-----
>>From: vtkusers-admin at vtk.org [mailto:vtkusers-admin at vtk.org] On Behalf
>>Of Christopher.Moore at noaa.gov
>>Sent: Friday, March 26, 2004 9:15 AM
>>To: vtkusers at vtk.org
>>Subject: [vtkusers] ImplicitModeller and ContourFilter
>>
>>
>>
>>This is odd:
>>
>>Now that ImplicitModeller is a DataSetToImageFilter, my ContourFilter 
>>complains, but only in C++, not Tcl:
>>
>>  vtkVectorText *letterN = vtkVectorText::New();
>>  letterN->SetText("N");
>>
>>  vtkImplicitModeller *Nmodeller = vtkImplicitModeller::New();
>>  Nmodeller->SetInput(letterN->GetOutput());
>>  Nmodeller->SetMaximumDistance(0.2);
>>  Nmodeller->SetSampleDimensions(64, 64, 64);
>>  Nmodeller->SetAdjustDistance(.5);
>>
>>  vtkContourFilter *NIso = vtkContourFilter::New();
>>  NIso->SetInput(Nmodeller->GetOutput());
>>  NIso->SetValue(1, .1);
>>
>>compiler error:
>>
>>CreateCompass.cxx:138: no matching function for call to 
>>`vtkContourFilter::SetInput(vtkImageData*)'
>>/usr/local/include/vtk/vtkDataSetToPolyDataFilter.h:44: candidates are: 
>>virtual void vtkDataSetToPolyDataFilter::SetInput(vtkDataSet*)
>>
>>but if I run Examples/Modelling/Tcl/hello.tcl, it seems to run fine with
>>
>>the same ContourFilter input (vtkImplicitModeller GetOutput).
>>
>>Am I missing something?  How do I use ImplicitModeller with
>>ContourFilter?  
>>Why does it work when wrapped in Tcl?
>>
>>Cheers,
>>Chris
>>
>>__________________________________________________________________
>>Christopher Moore                email: Christopher.Moore at noaa.gov
>>Research Scientist, Oceanography                 tel: 206.526.6779
>>University of Washington/JISAO/NOAA-PMEL         fax: 206.526.6744
>>------------------------------------------------------------------
>>
>>
> 
> 
> _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at: <http://public.kitware.com/cgi-bin/vtkfaq>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
> 






More information about the vtkusers mailing list