Circular Dependency

SA has the flexibility to build relationships upon other relationships. This ability has a inherent danger to it in that it can result in a re-computation loop. Anyone with experience programmed has probably run into scenarios where a program gets stuck endlessly computing something and must be shut down in order to make it stop. SA's relationship re-computation process can also get stuck. To prevent the application from becoming unresponsive we cut this process off after the relationships have been updated a set number of times. To notify a user that this problem has occurred we add a notification as follows:

 

This warning indicates that SA's relationships may have not finished updating. This might be due to a scenario where there is a loop in the dependencies and the process cannot be completed or it may also indicate that a refresh is needed. To correct this problem use the Re-Compute option and see if that fixes the problem:

One example of where this might be an issue is in prior versions if a circle had projection plane defined but the plane was lower in the list. This was a false alarm due to the order of evaluation. However, other more significant errors can occur if relationships are built from cardinal points or other intersections and a real circular dependency is created. If re-computing the relationships doesn't clear the warning from the tree then it might be necessary to inspect the relationships to look for problems.