Below is the piece of code where I call for the sub class.<div><br></div><div><div>vtkSmartPointer&lt;CnurbsInterpolate&gt; cnurbInterpolater = </div><div>    vtkSmartPointer&lt;CnurbsInterpolate&gt;::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;pNurb =  pNurb;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;size = size;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;x = x;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;y = y;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;z = z;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;MaximumCurveError = 0.0000001;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater-&gt;MaximumCurveLineSegments = 10000;</div><div>    contourRep-&gt;SetLineInterpolator(cnurbInterpolater);</div><div><br></div><div>And below is my class that sub classed the <span style="font-family:Verdana,Geneva,Helvetica,Arial,sans-serif;font-size:13.333333015441895px">vtkContourLineInterpolator:</span></div>
<div><span style="font-family:Verdana,Geneva,Helvetica,Arial,sans-serif;font-size:13.333333015441895px"><br></span></div><div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">class CnurbsInterpolate:public vtkContourLineInterpolator </font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">{</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><br></font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">public:</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>CNurbsCurve* pNurb;</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer&lt;vtkPoints&gt; points;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>double * x;</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>double * y;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>double * z;</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>double MaximumCurveError ;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">        int    MaximumCurveLineSegments; </font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>int size;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>public:</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><br></font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">    static CnurbsInterpolate *New()</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">    { </font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">      return new CnurbsInterpolate; </font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">    }</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"> </font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">   CnurbsInterpolate() {}</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><br></font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">    int InterpolateLine( vtkRenderer *vtkNotUsed(ren),</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">                                                       vtkContourRepresentation *rep,</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">                                                       int idx1, int idx2 )</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">{</font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">        </font></span></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>double *controlPointsStack2 = new double[3];</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span> this-&gt;pNurb-&gt;Interpolate(x,y,z, size+2 );</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">        </span>for(int i=0; i&lt;=100; i++)</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                        </span>{</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>double Uiter = double(i)/100.0;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>double xn,yn,zn;</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>this-&gt;pNurb-&gt;GetPoint(Uiter,xn,yn,zn);</font></div>
<div><span class="Apple-tab-span" style="white-space:pre"><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">                                </font></span></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>controlPointsStack2[0] = xn;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>controlPointsStack2[1] = yn;</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>controlPointsStack2[2] = zn;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>//outfile &lt;&lt;xn &lt;&lt; &quot; &quot; &lt;&lt; yn &lt;&lt; &quot; &quot; &lt;&lt; zn &lt;&lt; &quot; &quot;&lt;&lt;&quot;\n&quot;;</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>if(i&gt;=0 &amp;&amp; i&lt;12){</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>rep-&gt;AddIntermediatePointWorldPosition(0,controlPointsStack2);</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>else if (i&gt;=12 &amp;&amp; i&lt;57){</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>rep-&gt;AddIntermediatePointWorldPosition(1,controlPointsStack2);</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>}else if (i&gt;=57 &amp;&amp; i&lt;95){</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>this-&gt;Representation-&gt;AddIntermediatePointWorldPosition(2,controlPointsStack2);</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>else{</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>rep-&gt;AddIntermediatePointWorldPosition(3,controlPointsStack2);</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>}</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                        </span>}</font></div></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><div>delete [] controlPointsStack2;</div>
<div>  </div><div>  return 1;</div><div>}</div><div><br></div><div>This adds the defined points plus the straight lines between nodes.</div><div>And also when I drag the control points only the straight lines get changed.</div>
<div>Please help me. </div><div>Thanks a lot.</div><div><br></div></font></div><div>On Thu, Aug 2, 2012 at 3:06 PM, Gishara Indeewarie <span dir="ltr">&lt;<a href="mailto:gish.777@gmail.com" target="_blank">gish.777@gmail.com</a>&gt;</span> wrote:</div>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Dear all,</div><div><br></div><div>I wanted to add cnurb interpolation to my contour representation. So I sub-classed the <span style="font-size:13px;font-family:Verdana,Geneva,Helvetica,Arial,sans-serif">vtkContourLineInterpolator and added my interpolation</span></div>

<div><span style="font-size:13px;font-family:Verdana,Geneva,Helvetica,Arial,sans-serif">in the method, </span><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"> virtual int InterpolateLine. </font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">My problem is I am getting the intermediate points I have added plus the points added by default. (The default points have been added</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">as straight lines </font><span style="font-family:Verdana,Geneva,Helvetica,Arial,sans-serif">between nodes.)</span></div>

<div><span style="font-family:Verdana,Geneva,Helvetica,Arial,sans-serif">I am using </span><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">AddIntermediatePointWorldPosition method to add points between nodes.</font></div>

<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">And when I try to change the contour by dragging control points the straight lines are changed (which were added by deafault.),</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">not the points I have added.</font></div>

<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><br></font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">Please help me.</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif">Thanks.</font></div>

<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><br></font></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div></div><font color="#666666">Gish</font><br>
</div>