diff options
author | Marius Kintel <marius@kintel.net> | 2012-08-22 00:31:28 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2012-08-22 00:31:28 (GMT) |
commit | a629560cee963087f6e43019d37933ce60776e49 (patch) | |
tree | ad8c0b150ce405b49eb575593ac778415047ce58 /src/CGALEvaluator.cc | |
parent | 1e56bf65b940f4d71104a358d3fea1e06f0ee461 (diff) | |
parent | d831b44474b4b3220d884306fd29aaf0cb5810fe (diff) |
Merge pull request #186 from openscad/issue185
Issue185
Diffstat (limited to 'src/CGALEvaluator.cc')
-rw-r--r-- | src/CGALEvaluator.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/CGALEvaluator.cc b/src/CGALEvaluator.cc index ee04e05..ac6190f 100644 --- a/src/CGALEvaluator.cc +++ b/src/CGALEvaluator.cc @@ -241,6 +241,12 @@ Response CGALEvaluator::visit(State &state, const TransformNode &node) // First union all children N = applyToChildren(node, CGE_UNION); + if ( matrix_contains_infinity( node.matrix ) || matrix_contains_nan( node.matrix ) ) { + // due to the way parse/eval works we can't currently distinguish between NaN and Inf + PRINT("Warning: Transformation matrix contains Not-a-Number and/or Infinity - removing object."); + N.reset(); + } + // Then apply transform // If there is no geometry under the transform, N will be empty and of dim 0, // just just silently ignore such nodes |