<div dir="ltr">Thank you for your advice, David.<div><br></div><div>I made a mistake, m_SkullMesh is a vtkOBJReader and the m_SkullMesh->GetOutput() should be a vtkPolyData.</div><div><br></div><div>I hope to get the point array of it. The code I wrote before could work properly</div><div><br></div><div><div><span class="" style="white-space:pre">    </span>int meshNum = m_SkullMesh->GetOutput()->GetNumberOfPoints();</div><div><span class="" style="white-space:pre"> </span>double *skullTemplate = new double[3*meshNum];</div><div><span class="" style="white-space:pre">     </span>for(int i = 0; i < meshNum; ++i) {</div><div><span class="" style="white-space:pre">              </span>double* temp = m_SkullMesh->GetOutput()->GetPoint(i);</div><div><span class="" style="white-space:pre">                </span>skullTemplate[3*i] = temp[0];</div><div><span class="" style="white-space:pre">              </span>skullTemplate[3*i+1] = temp[1];</div><div><span class="" style="white-space:pre">            </span>skullTemplate[3*i+2] = temp[2];</div><div><span class="" style="white-space:pre">    </span>}</div></div><div><br></div><div>But I think it should have a better way to avoid the copy and get the data pointer directly. Can you give me some suggestion? Thank you!</div><div><br></div><div>Best,</div><div>Lin</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 17, 2014 at 7:41 PM, David Doria <span dir="ltr"><<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Wed, Sep 17, 2014 at 7:17 AM, Lin M <span dir="ltr"><<a href="mailto:majcjc@gmail.com" target="_blank">majcjc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>I try to get the data ptr which I think is a double * pointing to a double array from vtkpolydata but I met an access violation when I useĀ </div><div><br></div><div>double *skullTemplate = vtkDoubleArray::SafeDownCast(m_SkullMesh->GetOutput()->GetPoints()->GetData())->GetPointer(0);</div><div><br></div><div>m_SkullMesh is a vtkPolyData.</div><div><br></div><div>How can I do to get it work? Thank you!</div><div><br></div><div>Best,</div><div>Lin<br></div></div></blockquote></div></div><div><br>Please post the smallest, compilable code you can that demonstrates the problem. From what you've shown, one error is that you shouldn't have to GetOutput() from a vtkPolyData. <br><span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>David<br></div></font></span></div></div></div>
</blockquote></div><br></div>