<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>
I tried that Print(cerr), but I didnīt see anything printed on my console.. I hoped that would give me information to which class my getArr belongs. <br>thats the line where I used it:<br><br>input -&gt; GetPointData() -&gt; GetArray(0) -&gt;Print(cerr);<br><br>I do not know what I should try next.. <br>NH<br><br>&gt; Date: Mon, 22 Sep 2008 09:18:00 -0400<br>&gt; From: burlen.loring@kitware.com<br>&gt; To: nataliehapp@hotmail.com<br>&gt; CC: paraview@paraview.org<br>&gt; Subject: Re: [Paraview] SafeDownCast to vtkDoubleArray fails<br>&gt; <br>&gt; Natalie Happenhofer wrote:<br>&gt; &gt; Hi!<br>&gt; &gt; Thx a lot, I get now a DataArray using<br>&gt; &gt; getArr = scaldat -&gt;GetArray(0); //I just have one array in my point data<br>&gt; &gt;<br>&gt; &gt; But still the downcast to vtkDoubleArray fails, here is the code I used:<br>&gt; &gt;<br>&gt; &gt; scaldat = input -&gt; GetPointData();<br>&gt; &gt; vtkDataArray *getArr = vtkDataArray::CreateDataArray(VTK_DOUBLE);<br>&gt; &gt; getArr = scaldat -&gt; GetArray(0);<br>&gt; This is going to create a leak, because you ask for a New() an array <br>&gt; then reassign your pointer to it before you call Delete().<br>&gt; <br>&gt; &gt;<br>&gt; &gt;  vtkDoubleArray *scalars = vtkDoubleArray::New();<br>&gt; &gt; scalars = vtkDoubleArray::SafeDownCast(getArr); //this downcast fails, <br>&gt; &gt; i.e at runtime I get that warning below<br>&gt; Again this results in a leak for same reason.<br>&gt; &gt;  if(!scalars) vtkErrorMacro("SafeDownCast to vtkDoubleArray failed");<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; With the member function "IsTypeOf(char *classname)" I tried to find <br>&gt; &gt; out if getArr is an array of a subclass of vtkDataArray, but this does <br>&gt; &gt; not seem to be the case. getArr is just a vtkDataArray. But I need to <br>&gt; &gt; access the values in it!!!<br>&gt; There are a few reasons why the cast could fail. Do you know for sure <br>&gt; that getArr is not null? Could you check to be sure the array in <br>&gt; question is actually a double array? Try getArr-&gt;Print(cerr); That <br>&gt; should give more info. If this happened to me I would open the code in a <br>&gt; debugger and single step through this portion of the code examining <br>&gt; variables to see they have the expected values.<br>&gt; <br>&gt; <br>&gt; &gt;<br>&gt; &gt; thx,<br>&gt; &gt; NH<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; &gt; Date: Sun, 21 Sep 2008 11:49:00 -0400<br>&gt; &gt; &gt; From: burlen.loring@kitware.com<br>&gt; &gt; &gt; To: nataliehapp@hotmail.com<br>&gt; &gt; &gt; CC: paraview@paraview.org<br>&gt; &gt; &gt; Subject: Re: [Paraview] SafeDownCast to vtkDoubleArray fails<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Natalie Happenhofer wrote:<br>&gt; &gt; &gt; &gt; Hi!<br>&gt; &gt; &gt; &gt; I need to cast my Point Data to a vtkDoubleArray, but it fails:<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; vtkPointData *scaldat = input -&gt; GetPointData();<br>&gt; &gt; &gt; &gt; vtkDoubleArray *scalars = vtkDoubleArray::New();<br>&gt; &gt; &gt; &gt; scalars = vtkDoubleArray::SafeDownCast(scaldat);<br>&gt; &gt; &gt; &gt; if(!scalars) vtkErrorMacro("SafeDownCast to vtkDoubleArray failed");<br>&gt; &gt; &gt; PointData is not an array, it's a container of arrays. To get one of <br>&gt; &gt; its<br>&gt; &gt; &gt; arrays see the GetArray methods.<br>&gt; &gt; &gt; <br>&gt; &gt; http://www.vtk.org/doc/nightly/html/classvtkFieldData.html#888a6492210426d4ba4d358b87ab198f<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; To find this in the documentation you would have to use the inheritance<br>&gt; &gt; &gt; diagrams. PointData "is a" DataSetAttibutes "is a" FieldData and so on.<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; and everytime I run the program I get that vtkErrorMacro.<br>&gt; &gt; &gt; &gt; as far as I know from the input files, the PointData should be float,<br>&gt; &gt; &gt; &gt; but casting to vtkFloatArray fails as well. Why? and what can I do<br>&gt; &gt; &gt; &gt; about it?<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; thx a lot,<br>&gt; &gt; &gt; &gt; NH<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; &gt; &gt; Express yourself instantly with MSN Messenger! MSN Messenger<br>&gt; &gt; &gt; &gt; &lt;http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/&gt;<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt; &gt; _______________________________________________<br>&gt; &gt; &gt; &gt; ParaView mailing list<br>&gt; &gt; &gt; &gt; ParaView@paraview.org<br>&gt; &gt; &gt; &gt; http://www.paraview.org/mailman/listinfo/paraview<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; --<br>&gt; &gt; &gt; Burlen Loring<br>&gt; &gt; &gt; Kitware, Inc.<br>&gt; &gt; &gt; R&amp;D Engineer<br>&gt; &gt; &gt; 28 Corporate Drive<br>&gt; &gt; &gt; Clifton Park, NY 12065-8662<br>&gt; &gt; &gt; Phone: 518-371-3971 x137<br>&gt; &gt; &gt;<br>&gt; &gt;<br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; Express yourself instantly with MSN Messenger! MSN Messenger <br>&gt; &gt; &lt;http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/&gt;<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; Burlen Loring<br>&gt; Kitware, Inc.<br>&gt; R&amp;D Engineer<br>&gt; 28 Corporate Drive<br>&gt; Clifton Park, NY 12065-8662<br>&gt; Phone: 518-371-3971 x137<br>&gt; <br><br /><hr />Express yourself instantly with MSN Messenger! <a href='http://clk.atdmt.com/AVE/go/onm00200471ave/direct/01/' target='_new'>MSN Messenger</a></body>
</html>