public static void setEnabled(boolean enabled) {
PipingRules.enabled = enabled;
- if(!enabled)
- currentUpdates.clear();
+ if(!enabled) {
+ synchronized (ruleMutex) {
+ currentUpdates.clear();
+ }
+ }
}
public static boolean isEnabled() {
scp.insert(pcp1, pcp2);
scp.setWorldPosition(pos);
+ Vector3d dir = new Vector3d();
+ dir.sub(pcp2.getWorldPosition(), pcp1.getWorldPosition());
+ updateControlPointOrientation(scp, dir);
scp.setLength(length);
validate(scp.getPipeRun());
return scp;
Vector3d dir = new Vector3d();
dir.sub(currentPos, prevPos);
- boolean simple = currentUpdates.contains(icp);
+ boolean simple;
+ synchronized (ruleMutex) {
+ simple = currentUpdates.contains(icp);
+ }
+
if (simple) {
// Update based on position -> adjust length
double currentLength = (dir.length() - prev.getInlineLength()) * 2.0;