<span id="result_box" class="" lang="en"><span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">How to</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">obtain</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">the extreme</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">points of</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">open loop</span><span class="" title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ">?</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">Is there</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">an alternative</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">to my</span> <span title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ" class="hps">version</span><span class="" title="īĮÖĶÉŌÅ, ŽŌĻĀŁ Õ×ÉÄÅŌŲ ĮĢŲŌÅŅĪĮŌÉ×ĪŁŹ ŠÅŅÅ×ĻÄ">? It is crash with Exception :(<br>
private void FindDifferentSidePoints(vtkPolyData polyData, double[] bounds, out double[] firstPoint, out double[] lastPoint, out int firstPointID, out int lastPointID)<br>ššššššš {<br>ššššššššššš firstPoint = null;<br>ššššššššššš lastPoint = null;<br>
<br>ššššššššššš firstPointID = 0;<br>ššššššššššš lastPointID = 0;<br><br>ššššššššššš int numberOfCells = polyData.GetNumberOfCells();<br>ššššššššššš for (int j = 0; j &lt; numberOfCells; j++)<br>ššššššššššš {<br>ššššššššššššššš if (firstPoint == null)<br>
ššššššššššššššš {<br>ššššššššššššššššššš double[] point = polyData.GetCell(j).GetPoints().GetPoint(0);<br>ššššššššššššššššššš if (point[1] == bounds[2] || point[1] == bounds[3])<br>ššššššššššššššššššš {<br>ššššššššššššššššššššššš firstPoint = point;<br>
ššššššššššššššššššššššš firstPointID = polyData.GetCell(j).GetPointId(0);<br>ššššššššššššššššššš }<br>ššššššššššššššššššš if (firstPoint == null)<br>ššššššššššššššššššš {<br>ššššššššššššššššššššššš point = polyData.GetCell(j).GetPoints().GetPoint(1);<br>
ššššššššššššššššššššššš if (point[1] == bounds[2] || point[1] == bounds[3])<br>ššššššššššššššššššššššš {<br>ššššššššššššššššššššššššššš firstPoint = point;<br>ššššššššššššššššššššššššššš firstPointID = polyData.GetCell(j).GetPointId(1);<br>
ššššššššššššššššššššššš }<br>ššššššššššššššššššš }<br>ššššššššššššššš }<br>ššššššššššššššš if (firstPoint != null &amp;&amp; lastPoint == null)<br>ššššššššššššššš {<br>ššššššššššššššššššš double[] point = polyData.GetCell(j).GetPoints().GetPoint(0);<br>
ššššššššššššššššššš if (point[1] == bounds[3] &amp;&amp; Math.Abs(point[0] - firstPoint[0]) &gt; 5 &amp;&amp; point[1] != firstPoint[1] ||<br>ššššššššššššššššššššššš point[1] == bounds[2] &amp;&amp; (Math.Abs(point[0] - firstPoint[0]) &gt; 5) &amp;&amp; point[1] != firstPoint[1])<br>
ššššššššššššššššššš {<br>ššššššššššššššššššššššš lastPoint = point;<br>ššššššššššššššššššššššš lastPointID = polyData.GetCell(j).GetPointId(0);<br>ššššššššššššššššššš }<br>ššššššššššššššššššš if (lastPoint == null)<br>ššššššššššššššššššš {<br>
ššššššššššššššššššššššš point = polyData.GetCell(j).GetPoints().GetPoint(1);<br>ššššššššššššššššššššššš if (point[1] == bounds[3] &amp;&amp; Math.Abs(point[0] - firstPoint[0]) &gt; 5 &amp;&amp; point[1] != firstPoint[1] ||<br>
ššššššššššššššššššššššššššš point[1] == bounds[2] &amp;&amp; (Math.Abs(point[0] - firstPoint[0]) &gt; 5) &amp;&amp; point[1] != firstPoint[1])<br>ššššššššššššššššššššššš {<br>ššššššššššššššššššššššššššš lastPoint = point;<br>
ššššššššššššššššššššššššššš lastPointID = polyData.GetCell(j).GetPointId(1);<br>ššššššššššššššššššššššš }<br>ššššššššššššššššššš }<br>ššššššššššššššš }<br>ššššššššššš }<br>ššššššš }<br clear="all"></span></span><br>-- <br>
ó õ×ĮÖÅĪÉÅĶ,<br>įĪÄŅÅŹ.<br>Best regards, Andrew<br>