+ private static void updateFixedLength(PipeControlPoint icp, PipeControlPoint prev, PipeControlPoint next, Vector3d s, Vector3d e, Vector3d dir) {
+ if (prev != null) {
+ checkOverlap(icp, prev);
+ }
+ if (next != null)
+ checkOverlap(icp, next);
+ }
+
+ private static void checkOverlap(PipeControlPoint icp, PipeControlPoint prev) {
+ double d = MathTools.distance(prev.getWorldPosition(), icp.getWorldPosition());
+ double r = icp.getInlineLength() + prev.getInlineLength();
+ if (d < r) {
+ if (icp.getPipelineComponent().getError() == null)
+ icp.getPipelineComponent().setError("Overlapping");
+ if (prev.getPipelineComponent().getError() == null)
+ prev.getPipelineComponent().setError("Overlapping");
+ }
+ }
+