Below is the piece of code where I call for the sub class.<div><br></div><div><div>vtkSmartPointer<CnurbsInterpolate> cnurbInterpolater = </div><div> vtkSmartPointer<CnurbsInterpolate>::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->pNurb = pNurb;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->size = size;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->x = x;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->y = y;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->z = z;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->MaximumCurveError = 0.0000001;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>cnurbInterpolater->MaximumCurveLineSegments = 10000;</div><div> contourRep->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<vtkPoints> 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->pNurb->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<=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->pNurb->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 <<xn << " " << yn << " " << zn << " "<<"\n";</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                </span>if(i>=0 && i<12){</font></div><div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>rep->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>=12 && i<57){</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>rep->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>=57 && i<95){</font></div>
<div><font face="Verdana, Geneva, Helvetica, Arial, sans-serif"><span class="Apple-tab-span" style="white-space:pre">                                        </span>this->Representation->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->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"><<a href="mailto:gish.777@gmail.com" target="_blank">gish.777@gmail.com</a>></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>