<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Check Criteria - Self Intersection of Curves (C7)</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic4" id="xps10_pagetitle">Check Criteria - Self Intersection of Curves (C7)</div>
      <hr noshade="true">
      <table cellspacing="4" width="100%" align="center">
         <tr valign="top">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" width="20%">
               <p class="para_td"> <a class="links" href="javascript:void(0)" onclick="top.openFile('nx_analysis/vda_checker.html');return(false);">Check VDA-4955 Compliance Overview</a></p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" width="20%">
               <p class="para_td"> <a class="links" href="javascript:void(0)" onclick="top.openFile('nx_analysis/vda_criteria.html');return(false);">Description of the Check Criteria</a></p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" width="20%">
               <p class="para_td"> <a class="links" href="javascript:void(0)" onclick="top.openFile('nx_analysis/vda4955_check_crit_curves.html');return(false);">Curves</a></p>
            </td>
            <td bgcolor="#ffffff" colspan="1" rowspan="1" width="20%"></td>
            <td bgcolor="#ffffff" colspan="1" rowspan="1" width="20%"></td>
         </tr>
      </table><br><table cellspacing="4" align="center">
         <tr valign="middle">
            <td bgcolor="#f4f4f4" colspan="2" rowspan="1" valign="top">
               <p class="para_td">Self Intersection of Curves (C7)&nbsp; </p>
            </td>
         </tr>
         <tr valign="middle">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Input</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Curves</p>
            </td>
         </tr>
         <tr valign="middle">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Parameter</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Lower limit constraint value of Self Intersection distance</p>
            </td>
         </tr>
         <tr valign="middle">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="3" valign="top">
               <p class="para_td">What is analyzed ?</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Check if curves self intersect or non adjacent curve points&nbsp; touch each other. The criterion is violated if intersection points are found whose distance is less or equal to the Self Intersection distance constraint value. </p>
               <p class="para_td">Each curve is first checked for occurrences of spikes and cuts. A Spike/Cut Angle criterion is associated with the Self Intersection criterion. If at some point the curve has a steep dip, i.e., the curve tangent vector arriving at the point and the curve tangent vector leaving the point change their direction by more than (180 - value of Spike/Cut Angle)[deg] then the direction change is classified as spike/cut occurrence and logged as a Spike/Cut Angle violation. </p>
               <p class="para_td">The vicinity of spike/cut occurrences is exempted from self intersection checks. Checking continues after any violation to find and log all violations. </p>
            </td>
         </tr>
         <tr>
            <td bgcolor="#F4F4F4" colspan="1" rowspan="1" valign="top">
               <p class="para_td"> <img align="bottom" src="graphics/v2cm7.gif" border="0"> [IMG_4955]
               </p>
            </td>
         </tr>
         <tr>
            <th bgcolor="#F4F4F4" colspan="1" rowspan="1" valign="top">
               <p class="para_th">Example of Self-Intersecting Curve</p>
            </th>
         </tr>
         <tr valign="middle">
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <p class="para_td">Results Log&nbsp; Output</p>
            </td>
            <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
               <table cellspacing="0" align="center">
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="7" rowspan="1" valign="top">
                        <p class="para_td">Spike/Cut Angle (U7c)</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">object_id</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="3" rowspan="1" valign="top">
                        <p class="para_td">curve</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">value</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="3" rowspan="1" valign="top">
                        <p class="para_td">violation angle</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="2" valign="top">
                        <p class="para_td">value2</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="2" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="2" valign="top">
                        <p class="para_td">Spike/Cut type</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="2" rowspan="2" valign="top"></td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">0</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">A spike/cut with none of the qualifications below.</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">1</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">Warning: After initial widening the spike sides are narrowing. A spike could not clearly be identified.</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">2</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">Needle; opening distance &lt; 0.05 * length of smaller side of spike.</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">3</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">Warning: Unable to determine the complete length of a side. A spike could not clearly be identified.</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">4</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">More than one spike in the same point set range was found. </p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">point</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="3" rowspan="1" valign="top">
                        <p class="para_td">spike point </p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">sub_id</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top"></td>
                     <td bgcolor="#f4f4f4" colspan="3" rowspan="1" valign="top">
                        <p class="para_td">same as object_id</p>
                     </td>
                  </tr>
               </table><br><table cellspacing="0" width="100%" align="center">
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="4" rowspan="1" valign="top">
                        <p class="para_td">Self Intersection (C7c)</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">object_id</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">curve</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">value</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">minimum distance of intersection points</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">point</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">intersection point </p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">point2</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">second point, if no intersection but&nbsp;points nearly touch</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">sub_id</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">same as object_id</p>
                     </td>
                  </tr>
                  <tr valign="middle">
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="6"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top" width="10"></td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">sub_id2</p>
                     </td>
                     <td bgcolor="#f4f4f4" colspan="1" rowspan="1" valign="top">
                        <p class="para_td">same as object_id (only if point2 exists)</p>
                     </td>
                  </tr>
               </table><br></td>
         </tr>
      </table><br></body>
</html>