From 10d677508fcbac79209d86da1d82f41784d94992 Mon Sep 17 00:00:00 2001 From: Owen Harvey Date: Fri, 29 Dec 2023 17:37:20 +1000 Subject: [PATCH 1/2] Issue #450. Making torus and ellipsoid primitive objects. Switching the definitions of torus and ellipsoid to be SymbolicObj3 primitives rather than being `implict`ly defined. The maths functions haven't changed, only been moved around. One test was updated as some of the STL values changed, but to the eye it looks similar, and a random check of values indicated that they were small. --- CHANGELOG.md | 1 + Graphics/Implicit/Canon.hs | 10 + Graphics/Implicit/Definitions.hs | 6 + Graphics/Implicit/Export/SymbolicFormats.hs | 6 +- Graphics/Implicit/ObjectUtil/GetBox3.hs | 6 +- Graphics/Implicit/ObjectUtil/GetImplicit3.hs | 6 +- Graphics/Implicit/Primitives.hs | 15 +- tests/golden/torusEllipsoidCone.ascii.stl | 760 +++++++++---------- 8 files changed, 388 insertions(+), 422 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 644b03fc..bc1f25f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ * Other changes * Fixing `shell` so that it doesn't increase the outside dimentions of objects. * Fixing an issue with bounding boxes for infinite functions. [#412](https://github.com/Haskell-Things/ImplicitCAD/issues/412) + * Making `torus` and `ellipsoid` primitive objects, rather than being defined implicitly. [#450](https://github.com/Haskell-Things/ImplicitCAD/issues/450) # Version [0.4.1.0](https://github.com/Haskell-Things/ImplicitCAD/compare/v0.4.0.0...v0.4.1.0) (2023-12-18) diff --git a/Graphics/Implicit/Canon.hs b/Graphics/Implicit/Canon.hs index 71feed18..6e19f5a2 100644 --- a/Graphics/Implicit/Canon.hs +++ b/Graphics/Implicit/Canon.hs @@ -91,6 +91,8 @@ import Graphics.Implicit.Definitions , Shared3 , Sphere , Transform3 + , Torus + , Ellipsoid ) , hasZeroComponent ) @@ -171,6 +173,8 @@ fmapObj3 fmapObj3 f _ _ (Cube v) = f $ Cube v fmapObj3 f _ _ (Sphere r) = f $ Sphere r fmapObj3 f _ _ (Cylinder r1 r2 h) = f $ Cylinder r1 r2 h +fmapObj3 f _ _ (Torus r1 r2) = f $ Torus r1 r2 +fmapObj3 f _ _ (Ellipsoid a b c) = f $ Ellipsoid a b c fmapObj3 f g s (Rotate3 q o) = f $ Rotate3 q (fmapObj3 f g s o) fmapObj3 f g s (Transform3 m o) = f $ Transform3 m (fmapObj3 f g s o) fmapObj3 f g s (Extrude o2 h) = f $ Extrude (fmapObj2 g f s o2) h @@ -225,6 +229,8 @@ instance EqObj SymbolicObj2 where instance EqObj SymbolicObj3 where Cube a =^= Cube b = a == b Sphere a =^= Sphere b = a == b + Torus a1 a2 =^= Torus b1 b2 = a1 == b1 && a2 == b2 + Ellipsoid a1 b1 c1 =^= Ellipsoid a2 b2 c2 = a1 == a2 && b1 == b2 && c1 == c2 Cylinder r1a r2a ha =^= Cylinder r1b r2b hb = r1a == r1b && r2a == r2b && ha == hb Rotate3 x a =^= Rotate3 y b = x == y && a =^= b Transform3 x a =^= Transform3 y b = x == y && a =^= b @@ -300,6 +306,10 @@ canon3 (Cube v) | hasZeroComponent v = emptySpace canon3 (Sphere 0) = emptySpace canon3 (Cylinder 0 _ _) = emptySpace canon3 (Extrude _o2 0) = emptySpace +canon3 (Torus _ 0) = emptySpace +canon3 (Ellipsoid 0 _ _) = emptySpace +canon3 (Ellipsoid _ 0 _) = emptySpace +canon3 (Ellipsoid _ _ 0) = emptySpace canon3 (Rotate3 0 o) = o canon3 (RotateExtrude 0 _t _r _o) = emptySpace canon3 (RotateExtrude _theta _t _r (Shared Empty)) = emptySpace diff --git a/Graphics/Implicit/Definitions.hs b/Graphics/Implicit/Definitions.hs index bdfdda95..acc3a528 100644 --- a/Graphics/Implicit/Definitions.hs +++ b/Graphics/Implicit/Definitions.hs @@ -58,6 +58,8 @@ module Graphics.Implicit.Definitions ( Cylinder, Rotate3, Transform3, + Torus, + Ellipsoid, Extrude, ExtrudeM, ExtrudeOnEdgeOf, @@ -324,6 +326,8 @@ data SymbolicObj3 = Cube ℝ3 -- rounding, size. | Sphere ℝ -- radius | Cylinder ℝ ℝ ℝ -- + | Torus ℝ ℝ + | Ellipsoid ℝ ℝ ℝ -- Simple transforms | Rotate3 (Quaternion ℝ) SymbolicObj3 | Transform3 (M44 ℝ) SymbolicObj3 @@ -367,6 +371,8 @@ instance Show SymbolicObj3 where ExtrudeOnEdgeOf s s1 -> showCon "extrudeOnEdgeOf" @| s @| s1 Shared3 s -> flip showsPrec s + Torus r1 r2 -> showCon "torus" @| r1 @| r2 + Ellipsoid a b c -> showCon "ellipsoid" @| a @| b @| c infixl 2 @|| ------------------------------------------------------------------------------ diff --git a/Graphics/Implicit/Export/SymbolicFormats.hs b/Graphics/Implicit/Export/SymbolicFormats.hs index 811988fd..be312679 100644 --- a/Graphics/Implicit/Export/SymbolicFormats.hs +++ b/Graphics/Implicit/Export/SymbolicFormats.hs @@ -12,7 +12,7 @@ module Graphics.Implicit.Export.SymbolicFormats (scad2, scad3) where import Prelude((.), fmap, Either(Left, Right), ($), (*), ($!), (-), (/), pi, error, (+), (==), take, floor, (&&), const, pure, (<>), sequenceA, (<$>)) -import Graphics.Implicit.Definitions(ℝ, SymbolicObj2(Shared2, Square, Circle, Polygon, Rotate2, Transform2), SymbolicObj3(Shared3, Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeM, RotateExtrude, ExtrudeOnEdgeOf), isScaleID, SharedObj(Empty, Full, Complement, UnionR, IntersectR, DifferenceR, Translate, Scale, Mirror, Outset, Shell, EmbedBoxedObj, WithRounding), quaternionToEuler) +import Graphics.Implicit.Definitions(ℝ, SymbolicObj2(Shared2, Square, Circle, Polygon, Rotate2, Transform2), SymbolicObj3(Shared3, Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeM, RotateExtrude, ExtrudeOnEdgeOf, Torus, Ellipsoid), isScaleID, SharedObj(Empty, Full, Complement, UnionR, IntersectR, DifferenceR, Translate, Scale, Mirror, Outset, Shell, EmbedBoxedObj, WithRounding), quaternionToEuler) import Graphics.Implicit.Export.TextBuilderUtils(Text, Builder, toLazyText, fromLazyText, bf) import Control.Monad.Reader (Reader, runReader, ask) @@ -127,6 +127,10 @@ buildS3 (Cube (V3 w d h)) = call "cube" [bf w, bf d, bf h] [] buildS3 (Sphere r) = callNaked "sphere" ["r = " <> bf r] [] +buildS3 (Torus r1 r2) = callNaked "torus" ["r1 = " <> bf r1, "r2 = " <> bf r2] [] + +buildS3 (Ellipsoid a b c) = callNaked "ellipsoid" ["a = " <> bf a, "b = " <> bf b, "c = " <> bf c] [] + buildS3 (Cylinder h r1 r2) = callNaked "cylinder" [ "r1 = " <> bf r1 ,"r2 = " <> bf r2 diff --git a/Graphics/Implicit/ObjectUtil/GetBox3.hs b/Graphics/Implicit/ObjectUtil/GetBox3.hs index 405abac5..37ffbf8d 100644 --- a/Graphics/Implicit/ObjectUtil/GetBox3.hs +++ b/Graphics/Implicit/ObjectUtil/GetBox3.hs @@ -12,7 +12,7 @@ import Graphics.Implicit.Definitions ( Fastℕ, fromFastℕ, ExtrudeMScale(C2, C1), - SymbolicObj3(Shared3, Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeOnEdgeOf, ExtrudeM, RotateExtrude), + SymbolicObj3(Shared3, Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeOnEdgeOf, ExtrudeM, RotateExtrude, Torus, Ellipsoid), Box3, ℝ, fromFastℕtoℝ, @@ -34,6 +34,10 @@ getBox3 (Shared3 obj) = getBoxShared obj getBox3 (Cube size) = (pure 0, size) getBox3 (Sphere r) = (pure (-r), pure r) getBox3 (Cylinder h r1 r2) = (V3 (-r) (-r) 0, V3 r r h ) where r = max r1 r2 +getBox3 (Torus r1 r2) = + let r = r1 + r2 + in (V3 (-r) (-r) (-r2), V3 r r r2) +getBox3 (Ellipsoid a b c) = (V3 (-a) (-b) (-c), V3 a b c) -- (Rounded) CSG -- Simple transforms getBox3 (Rotate3 q symbObj) = diff --git a/Graphics/Implicit/ObjectUtil/GetImplicit3.hs b/Graphics/Implicit/ObjectUtil/GetImplicit3.hs index 04a2b338..ed25b828 100644 --- a/Graphics/Implicit/ObjectUtil/GetImplicit3.hs +++ b/Graphics/Implicit/ObjectUtil/GetImplicit3.hs @@ -6,10 +6,10 @@ module Graphics.Implicit.ObjectUtil.GetImplicit3 (getImplicit3) where -import Prelude (id, (||), (/=), either, round, fromInteger, Either(Left, Right), abs, (-), (/), (*), sqrt, (+), atan2, max, cos, minimum, ($), sin, pi, (.), Bool(True, False), ceiling, floor, pure, (==), otherwise) +import Prelude (id, (||), (/=), either, round, fromInteger, Either(Left, Right), abs, (-), (/), (*), sqrt, (+), atan2, max, cos, minimum, ($), sin, pi, (.), Bool(True, False), ceiling, floor, pure, (==), otherwise, (**)) import Graphics.Implicit.Definitions - ( objectRounding, ObjectContext, ℕ, SymbolicObj3(Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeM, ExtrudeOnEdgeOf, RotateExtrude, Shared3), Obj3, ℝ2, ℝ, fromℕtoℝ, toScaleFn ) + ( objectRounding, ObjectContext, ℕ, SymbolicObj3(Cube, Sphere, Cylinder, Rotate3, Transform3, Extrude, ExtrudeM, ExtrudeOnEdgeOf, RotateExtrude, Shared3, Torus, Ellipsoid), Obj3, ℝ2, ℝ, fromℕtoℝ, toScaleFn ) import Graphics.Implicit.MathUtil ( rmax, rmaximum ) @@ -31,6 +31,8 @@ getImplicit3 ctx (Cube (V3 dx dy dz)) = \(V3 x y z) -> rmaximum (objectRounding ctx) [abs (x-dx/2) - dx/2, abs (y-dy/2) - dy/2, abs (z-dz/2) - dz/2] getImplicit3 _ (Sphere r) = \(V3 x y z) -> sqrt (x*x + y*y + z*z) - r +getImplicit3 _ (Torus r1 r2) = \(V3 x y z) -> let a = (sqrt (x**2 + y**2) - r1) in a**2 + z**2 - r2**2 +getImplicit3 _ (Ellipsoid a b c) = \(V3 x y z) -> (x**2/a**2) + (y**2/b**2) + (z**2/c**2) - 1 getImplicit3 _ (Cylinder h r1 r2) = \(V3 x y z) -> let d = sqrt (x*x + y*y) - ((r2-r1)/h*z+r1) diff --git a/Graphics/Implicit/Primitives.hs b/Graphics/Implicit/Primitives.hs index 3001fea3..a694e858 100644 --- a/Graphics/Implicit/Primitives.hs +++ b/Graphics/Implicit/Primitives.hs @@ -53,7 +53,7 @@ module Graphics.Implicit.Primitives ( pattern Shared, Object(Space, canonicalize)) where -import Prelude(Applicative, Eq, Foldable, Num, abs, (<), otherwise, Num, (+), (-), (*), (/), (.), negate, Bool(True, False), Maybe(Just, Nothing), Either, fmap, ($), (**), sqrt, (<=), (&&), max, Ord) +import Prelude(Applicative, Eq, Foldable, Num, abs, (<), otherwise, Num, (-), (*), (/), (.), negate, Bool(True, False), Maybe(Just, Nothing), Either, fmap, ($), (<=), (&&), max, Ord) import Graphics.Implicit.Canon (canonicalize2, canonicalize3) import Graphics.Implicit.Definitions (ObjectContext, ℝ, ℝ2, ℝ3, Box2, @@ -84,13 +84,14 @@ import Graphics.Implicit.Definitions (ObjectContext, ℝ, ℝ2, ℝ3, Box2, Cube, Sphere, Cylinder, + Torus, Rotate3, Transform3, Extrude, ExtrudeM, RotateExtrude, ExtrudeOnEdgeOf, - Shared3 + Shared3, Ellipsoid ), ExtrudeMScale, defaultObjectContext @@ -147,16 +148,10 @@ cone :: cone = cylinder2 0 torus :: ℝ -> ℝ -> SymbolicObj3 -- Major radius, minor radius -torus r1 r2 = implicit - (\(V3 x y z) -> let a = (sqrt (x**2 + y**2) - r1) in a**2 + z**2 - r2**2) - (V3 (-r) (-r) (-r2), V3 r r r2) - where - r = r1 + r2 +torus = Torus ellipsoid :: ℝ -> ℝ -> ℝ -> SymbolicObj3 -- a, b, c -ellipsoid a b c = implicit - (\(V3 x y z) -> (x**2/a**2) + (y**2/b**2) + (z**2/c**2) - 1) - (V3 (-a) (-b) (-c), V3 a b c) +ellipsoid = Ellipsoid -- $ 2D Primitives diff --git a/tests/golden/torusEllipsoidCone.ascii.stl b/tests/golden/torusEllipsoidCone.ascii.stl index 3382ca8b..43607a1d 100644 --- a/tests/golden/torusEllipsoidCone.ascii.stl +++ b/tests/golden/torusEllipsoidCone.ascii.stl @@ -19221,32 +19221,32 @@ vertex 2.4e1 -3.0e1 -1.4922699e1 vertex 2.4e1 -3.2e1 -1.5023719e1 endloop endfacet -facet normal -1.7828962e-2 5.043796e-2 -9.9856806e-1 +facet normal -2.5734968e-2 5.0429273e-2 -9.9839604e-1 outer loop vertex 2.4e1 -3.2e1 -1.5023719e1 vertex 2.4e1 -3.0e1 -1.4922699e1 -vertex 2.499993e1 -3.0999893e1 -1.4991056e1 +vertex 2.4999834e1 -3.0999748e1 -1.4998968e1 endloop endfacet -facet normal -4.4203877e-2 2.407332e-2 -9.9873245e-1 +facet normal -4.419408e-2 3.1977348e-2 -9.985111e-1 outer loop vertex 2.4e1 -3.0e1 -1.4922699e1 vertex 2.6e1 -3.0e1 -1.5011219e1 -vertex 2.499993e1 -3.0999893e1 -1.4991056e1 +vertex 2.4999834e1 -3.0999748e1 -1.4998968e1 endloop endfacet -facet normal -6.169676e-3 -1.3990806e-2 -9.998831e-1 +facet normal 1.7381727e-3 -1.3991051e-2 -9.9990064e-1 outer loop vertex 2.6e1 -3.0e1 -1.5011219e1 vertex 2.6e1 -3.2e1 -1.4983233e1 -vertex 2.499993e1 -3.0999893e1 -1.4991056e1 +vertex 2.4999834e1 -3.0999748e1 -1.4998968e1 endloop endfacet -facet normal 2.0237045e-2 1.2416242e-2 -9.997181e-1 +facet normal 2.02384e-2 4.5094043e-3 -9.99785e-1 outer loop vertex 2.6e1 -3.2e1 -1.4983233e1 vertex 2.4e1 -3.2e1 -1.5023719e1 -vertex 2.499993e1 -3.0999893e1 -1.4991056e1 +vertex 2.4999834e1 -3.0999748e1 -1.4998968e1 endloop endfacet facet normal 3.8325835e-2 -1.3980794e-2 -9.991675e-1 @@ -21671,32 +21671,18 @@ vertex 3.6e1 -1.4e1 -1.4918598e1 vertex 3.6e1 -1.6e1 -1.5013676e1 endloop endfacet -facet normal -3.3654608e-2 4.745816e-2 -9.983061e-1 +facet normal -3.406912e-2 4.7457494e-2 -9.982921e-1 outer loop vertex 3.6e1 -1.6e1 -1.5013676e1 vertex 3.6e1 -1.4e1 -1.4918598e1 -vertex 3.6999855e1 -1.4999472e1 -1.4999819e1 -endloop -endfacet -facet normal -3.406979e-2 4.704327e-2 -9.9831164e-1 -outer loop -vertex 3.6e1 -1.4e1 -1.4918598e1 vertex 3.8e1 -1.4e1 -1.4986854e1 -vertex 3.6999855e1 -1.4999472e1 -1.4999819e1 endloop endfacet -facet normal 2.3652103e-2 -1.0699884e-2 -9.99663e-1 +facet normal 2.410638e-2 -1.0699768e-2 -9.9965215e-1 outer loop +vertex 3.6e1 -1.6e1 -1.5013676e1 vertex 3.8e1 -1.4e1 -1.4986854e1 vertex 3.8e1 -1.6e1 -1.4965446e1 -vertex 3.6999855e1 -1.4999472e1 -1.4999819e1 -endloop -endfacet -facet normal 2.4106495e-2 -1.0245458e-2 -9.996569e-1 -outer loop -vertex 3.8e1 -1.6e1 -1.4965446e1 -vertex 3.6e1 -1.6e1 -1.5013676e1 -vertex 3.6999855e1 -1.4999472e1 -1.4999819e1 endloop endfacet facet normal 9.040029e-2 -1.0659055e-2 -9.958485e-1 @@ -25395,32 +25381,18 @@ vertex -3.8e1 1.6e1 -1.4965446e1 vertex -3.8e1 1.4e1 -1.4986854e1 endloop endfacet -facet normal -2.3652103e-2 1.0699884e-2 -9.99663e-1 +facet normal -2.410638e-2 1.0699768e-2 -9.9965215e-1 outer loop vertex -3.8e1 1.4e1 -1.4986854e1 vertex -3.8e1 1.6e1 -1.4965446e1 -vertex -3.6999855e1 1.4999472e1 -1.4999819e1 -endloop -endfacet -facet normal -2.4106495e-2 1.0245458e-2 -9.996569e-1 -outer loop -vertex -3.8e1 1.6e1 -1.4965446e1 vertex -3.6e1 1.6e1 -1.5013676e1 -vertex -3.6999855e1 1.4999472e1 -1.4999819e1 endloop endfacet -facet normal 3.3654608e-2 -4.745816e-2 -9.983061e-1 +facet normal 3.406912e-2 -4.7457494e-2 -9.982921e-1 outer loop +vertex -3.8e1 1.4e1 -1.4986854e1 vertex -3.6e1 1.6e1 -1.5013676e1 vertex -3.6e1 1.4e1 -1.4918598e1 -vertex -3.6999855e1 1.4999472e1 -1.4999819e1 -endloop -endfacet -facet normal 3.406979e-2 -4.704327e-2 -9.9831164e-1 -outer loop -vertex -3.6e1 1.4e1 -1.4918598e1 -vertex -3.8e1 1.4e1 -1.4986854e1 -vertex -3.6999855e1 1.4999472e1 -1.4999819e1 endloop endfacet facet normal 9.867165e-2 -4.7253333e-2 -9.939975e-1 @@ -27845,32 +27817,32 @@ vertex -2.8e1 3.0e1 -1.49744215e1 vertex -2.7000639e1 3.1000584e1 -1.4958836e1 endloop endfacet -facet normal 6.169676e-3 1.3990806e-2 -9.998831e-1 +facet normal -1.7381727e-3 1.3991051e-2 -9.9990064e-1 outer loop vertex -2.6e1 3.0e1 -1.5011219e1 vertex -2.6e1 3.2e1 -1.4983233e1 -vertex -2.499993e1 3.0999893e1 -1.4991056e1 +vertex -2.4999834e1 3.0999748e1 -1.4998968e1 endloop endfacet -facet normal -2.0237045e-2 -1.2416242e-2 -9.997181e-1 +facet normal -2.02384e-2 -4.5094043e-3 -9.99785e-1 outer loop vertex -2.6e1 3.2e1 -1.4983233e1 vertex -2.4e1 3.2e1 -1.5023719e1 -vertex -2.499993e1 3.0999893e1 -1.4991056e1 +vertex -2.4999834e1 3.0999748e1 -1.4998968e1 endloop endfacet -facet normal 1.7828962e-2 -5.043796e-2 -9.9856806e-1 +facet normal 2.5734968e-2 -5.0429273e-2 -9.9839604e-1 outer loop vertex -2.4e1 3.2e1 -1.5023719e1 vertex -2.4e1 3.0e1 -1.4922699e1 -vertex -2.499993e1 3.0999893e1 -1.4991056e1 +vertex -2.4999834e1 3.0999748e1 -1.4998968e1 endloop endfacet -facet normal 4.4203877e-2 -2.407332e-2 -9.9873245e-1 +facet normal 4.419408e-2 -3.1977348e-2 -9.985111e-1 outer loop vertex -2.4e1 3.0e1 -1.4922699e1 vertex -2.6e1 3.0e1 -1.5011219e1 -vertex -2.499993e1 3.0999893e1 -1.4991056e1 +vertex -2.4999834e1 3.0999748e1 -1.4998968e1 endloop endfacet facet normal 4.070281e-2 -5.0404176e-2 -9.978991e-1 @@ -70755,16 +70727,16 @@ vertex -2.2e1 -1.4324169e1 -6.0e0 vertex -2.0822304e1 -1.6e1 -6.0e0 endloop endfacet -facet normal -1.5275024e-1 -9.5473814e-1 -2.552302e-1 +facet normal -1.4990936e-1 -9.564441e-1 -2.5048336e-1 outer loop vertex 0.0e0 -1.4e1 -7.180219e0 -vertex 0.0e0 -1.4315508e1 -6.0e0 +vertex 0.0e0 -1.4309088e1 -6.0e0 vertex -1.9720266e0 -1.4e1 -6.0e0 endloop endfacet -facet normal 1.5275024e-1 -9.5473814e-1 -2.552302e-1 +facet normal 1.4990936e-1 -9.564441e-1 -2.5048336e-1 outer loop -vertex 0.0e0 -1.4315508e1 -6.0e0 +vertex 0.0e0 -1.4309088e1 -6.0e0 vertex 0.0e0 -1.4e1 -7.180219e0 vertex 1.9720266e0 -1.4e1 -6.0e0 endloop @@ -73289,17 +73261,17 @@ vertex -2.2e1 1.6e1 -7.8252974e0 vertex -2.0822304e1 1.6e1 -6.0e0 endloop endfacet -facet normal -1.5275024e-1 9.5473814e-1 -2.552302e-1 +facet normal -1.4990936e-1 9.564441e-1 -2.5048336e-1 outer loop -vertex 0.0e0 1.4315508e1 -6.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 vertex 0.0e0 1.4e1 -7.180219e0 vertex -1.9720266e0 1.4e1 -6.0e0 endloop endfacet -facet normal 1.5275024e-1 9.5473814e-1 -2.552302e-1 +facet normal 1.4990936e-1 9.564441e-1 -2.5048336e-1 outer loop vertex 0.0e0 1.4e1 -7.180219e0 -vertex 0.0e0 1.4315508e1 -6.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 vertex 1.9720266e0 1.4e1 -6.0e0 endloop endfacet @@ -79701,58 +79673,58 @@ vertex -2.0e1 -1.5873131e1 -4.0e0 vertex -1.9907719e1 -1.6e1 -4.0e0 endloop endfacet -facet normal -3.1607175e-1 -9.354824e-1 -1.5802336e-1 +facet normal -3.6122662e-1 -9.1482204e-1 -1.8059902e-1 outer loop vertex -2.0e0 -1.4e1 -5.9628477e0 -vertex -2.0e0 -1.4331568e1 -4.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 vertex -2.9813464e0 -1.4e1 -4.0e0 endloop endfacet -facet normal -2.1599282e-1 -9.627557e-1 -1.6263041e-1 +facet normal -2.4911627e-1 -9.50136e-1 -1.875705e-1 outer loop -vertex -2.0e0 -1.4331568e1 -4.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 vertex -2.0e0 -1.4e1 -5.9628477e0 vertex -1.9720266e0 -1.4e1 -6.0e0 endloop endfacet -facet normal -1.558521e-1 -9.741257e-1 -1.636742e-1 +facet normal -1.520236e-1 -9.699333e-1 -1.9004816e-1 outer loop -vertex -2.0e0 -1.4331568e1 -4.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 vertex -1.9720266e0 -1.4e1 -6.0e0 -vertex 0.0e0 -1.4315508e1 -6.0e0 +vertex 0.0e0 -1.4309088e1 -6.0e0 endloop endfacet -facet normal -1.9467661e-1 -9.5976144e-1 -2.0238338e-1 +facet normal -1.501698e-1 -9.705784e-1 -1.8821965e-1 outer loop -vertex -2.0e0 -1.4331568e1 -4.0e0 -vertex 0.0e0 -1.4315508e1 -6.0e0 -vertex 0.0e0 -1.4737245e1 -4.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 +vertex 0.0e0 -1.4309088e1 -6.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 endloop endfacet -facet normal 1.5466534e-1 -9.6670806e-1 -2.0384823e-1 +facet normal 1.5207979e-1 -9.7029173e-1 -1.8816407e-1 outer loop -vertex 0.0e0 -1.4737245e1 -4.0e0 -vertex 0.0e0 -1.4315508e1 -6.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 +vertex 0.0e0 -1.4309088e1 -6.0e0 vertex 1.9720266e0 -1.4e1 -6.0e0 endloop endfacet -facet normal 2.0488866e-1 -9.6655136e-1 -1.5426959e-1 +facet normal 1.943681e-1 -9.6995014e-1 -1.4634821e-1 outer loop -vertex 0.0e0 -1.4737245e1 -4.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 vertex 1.9720266e0 -1.4e1 -6.0e0 vertex 2.0e0 -1.4e1 -5.9628477e0 endloop endfacet -facet normal 1.9612093e-1 -9.66882e-1 -1.6332744e-1 +facet normal 1.5007332e-1 -9.699548e-1 -1.9148302e-1 outer loop -vertex 0.0e0 -1.4737245e1 -4.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 vertex 2.0e0 -1.4e1 -5.9628477e0 -vertex 2.0e0 -1.4331568e1 -4.0e0 +vertex 2.0e0 -1.4387494e1 -4.0e0 endloop endfacet -facet normal 3.1607175e-1 -9.354824e-1 -1.5802336e-1 +facet normal 3.6122662e-1 -9.1482204e-1 -1.8059902e-1 outer loop -vertex 2.0e0 -1.4331568e1 -4.0e0 +vertex 2.0e0 -1.4387494e1 -4.0e0 vertex 2.0e0 -1.4e1 -5.9628477e0 vertex 2.9813464e0 -1.4e1 -4.0e0 endloop @@ -82417,59 +82389,59 @@ vertex -2.0e1 1.6e1 -4.2408366e0 vertex -1.9907719e1 1.6e1 -4.0e0 endloop endfacet -facet normal -3.1607175e-1 9.354824e-1 -1.5802336e-1 +facet normal -3.6122662e-1 9.1482204e-1 -1.8059902e-1 outer loop -vertex -2.0e0 1.4331568e1 -4.0e0 +vertex -2.0e0 1.4387494e1 -4.0e0 vertex -2.0e0 1.4e1 -5.9628477e0 vertex -2.9813464e0 1.4e1 -4.0e0 endloop endfacet -facet normal -1.9612093e-1 9.66882e-1 -1.6332744e-1 +facet normal -1.5007332e-1 9.699548e-1 -1.9148302e-1 outer loop vertex -2.0e0 1.4e1 -5.9628477e0 -vertex -2.0e0 1.4331568e1 -4.0e0 -vertex 0.0e0 1.4737245e1 -4.0e0 +vertex -2.0e0 1.4387494e1 -4.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 endloop endfacet -facet normal -1.5624933e-1 9.6646416e-1 -2.0379679e-1 +facet normal -1.5341596e-1 9.7008896e-1 -1.8812475e-1 outer loop vertex -2.0e0 1.4e1 -5.9628477e0 -vertex 0.0e0 1.4737245e1 -4.0e0 -vertex 0.0e0 1.4315508e1 -6.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 endloop endfacet -facet normal -1.5687661e-1 9.8052925e-1 -1.1811923e-1 +facet normal -1.5380388e-1 9.812917e-1 -1.1580565e-1 outer loop vertex -2.0e0 1.4e1 -5.9628477e0 -vertex 0.0e0 1.4315508e1 -6.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 vertex -1.9720266e0 1.4e1 -6.0e0 endloop endfacet -facet normal 1.9467661e-1 9.5976144e-1 -2.0238338e-1 +facet normal 1.501698e-1 9.705784e-1 -1.8821965e-1 outer loop -vertex 0.0e0 1.4315508e1 -6.0e0 -vertex 0.0e0 1.4737245e1 -4.0e0 -vertex 2.0e0 1.4331568e1 -4.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 endloop endfacet -facet normal 1.5668494e-1 9.7385216e-1 -1.6450486e-1 +facet normal 1.5337886e-1 9.69457e-1 -1.9138475e-1 outer loop -vertex 0.0e0 1.4315508e1 -6.0e0 -vertex 2.0e0 1.4331568e1 -4.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 vertex 2.0e0 1.4e1 -5.9628477e0 endloop endfacet -facet normal 1.5687661e-1 9.8052925e-1 -1.1811923e-1 +facet normal 1.5380388e-1 9.812917e-1 -1.1580565e-1 outer loop -vertex 0.0e0 1.4315508e1 -6.0e0 +vertex 0.0e0 1.4309088e1 -6.0e0 vertex 2.0e0 1.4e1 -5.9628477e0 vertex 1.9720266e0 1.4e1 -6.0e0 endloop endfacet -facet normal 3.1607175e-1 9.354824e-1 -1.5802336e-1 +facet normal 3.6122662e-1 9.1482204e-1 -1.8059902e-1 outer loop vertex 2.0e0 1.4e1 -5.9628477e0 -vertex 2.0e0 1.4331568e1 -4.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 vertex 2.9813464e0 1.4e1 -4.0e0 endloop endfacet @@ -87947,58 +87919,58 @@ vertex -1.939613e1 -1.6e1 -2.0e0 vertex -1.9907719e1 -1.6e1 -4.0e0 endloop endfacet -facet normal -3.8490182e-1 -9.141614e-1 -1.2712006e-1 +facet normal -3.9147764e-1 -9.1402185e-1 -1.0634507e-1 outer loop -vertex -2.0e0 -1.4331568e1 -4.0e0 -vertex -2.0e0 -1.4609681e1 -2.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 vertex -3.4480226e0 -1.4e1 -2.0e0 endloop endfacet -facet normal -3.1920448e-1 -9.4475436e-1 -7.44826e-2 +facet normal -3.6592442e-1 -9.267194e-1 -8.5384145e-2 outer loop -vertex -2.0e0 -1.4331568e1 -4.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 vertex -3.4480226e0 -1.4e1 -2.0e0 vertex -2.9813464e0 -1.4e1 -4.0e0 endloop endfacet -facet normal -1.9696961e-1 -9.7106594e-1 -1.3503301e-1 +facet normal -1.5190183e-1 -9.817728e-1 -1.14227794e-1 outer loop -vertex -2.0e0 -1.4609681e1 -2.0e0 -vertex -2.0e0 -1.4331568e1 -4.0e0 -vertex 0.0e0 -1.4737245e1 -4.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 +vertex -2.0e0 -1.4387494e1 -4.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 endloop endfacet -facet normal -1.3496318e-1 -9.882362e-1 -7.193142e-2 +facet normal -1.4962736e-1 -9.823866e-1 -1.1192976e-1 outer loop -vertex -2.0e0 -1.4609681e1 -2.0e0 -vertex 0.0e0 -1.4737245e1 -4.0e0 -vertex 0.0e0 -1.488282e1 -2.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 endloop endfacet -facet normal 1.9828644e-1 -9.7755796e-1 -7.115418e-2 +facet normal 1.519425e-1 -9.820357e-1 -1.1188979e-1 outer loop -vertex 0.0e0 -1.488282e1 -2.0e0 -vertex 0.0e0 -1.4737245e1 -4.0e0 -vertex 2.0e0 -1.4331568e1 -4.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 +vertex 0.0e0 -1.46969385e1 -4.0e0 +vertex 2.0e0 -1.4387494e1 -4.0e0 endloop endfacet -facet normal 1.3404739e-1 -9.8153055e-1 -1.3648818e-1 +facet normal 1.4958726e-1 -9.821234e-1 -1.1426858e-1 outer loop -vertex 0.0e0 -1.488282e1 -2.0e0 -vertex 2.0e0 -1.4331568e1 -4.0e0 -vertex 2.0e0 -1.4609681e1 -2.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 +vertex 2.0e0 -1.4387494e1 -4.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 endloop endfacet -facet normal 3.1735155e-1 -9.3927026e-1 -1.3061161e-1 +facet normal 3.6513382e-1 -9.247171e-1 -1.0758945e-1 outer loop -vertex 2.0e0 -1.4609681e1 -2.0e0 -vertex 2.0e0 -1.4331568e1 -4.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 +vertex 2.0e0 -1.4387494e1 -4.0e0 vertex 2.9813464e0 -1.4e1 -4.0e0 endloop endfacet -facet normal 3.8646892e-1 -9.178833e-1 -9.017796e-2 +facet normal 3.920593e-1 -9.1537994e-1 -9.1482416e-2 outer loop -vertex 2.0e0 -1.4609681e1 -2.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 vertex 2.9813464e0 -1.4e1 -4.0e0 vertex 3.4480226e0 -1.4e1 -2.0e0 endloop @@ -89991,58 +89963,58 @@ vertex -1.9907719e1 1.6e1 -4.0e0 vertex -1.939613e1 1.6e1 -2.0e0 endloop endfacet -facet normal -3.1735155e-1 9.3927026e-1 -1.3061161e-1 +facet normal -3.6513382e-1 9.247171e-1 -1.0758945e-1 outer loop -vertex -2.0e0 1.4609681e1 -2.0e0 -vertex -2.0e0 1.4331568e1 -4.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 +vertex -2.0e0 1.4387494e1 -4.0e0 vertex -2.9813464e0 1.4e1 -4.0e0 endloop endfacet -facet normal -3.8646892e-1 9.178833e-1 -9.017796e-2 +facet normal -3.920593e-1 9.1537994e-1 -9.1482416e-2 outer loop -vertex -2.0e0 1.4609681e1 -2.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 vertex -2.9813464e0 1.4e1 -4.0e0 vertex -3.4480226e0 1.4e1 -2.0e0 endloop endfacet -facet normal -1.3404739e-1 9.8153055e-1 -1.3648818e-1 +facet normal -1.4958726e-1 9.821234e-1 -1.1426858e-1 outer loop -vertex -2.0e0 1.4331568e1 -4.0e0 -vertex -2.0e0 1.4609681e1 -2.0e0 -vertex 0.0e0 1.488282e1 -2.0e0 +vertex -2.0e0 1.4387494e1 -4.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 endloop endfacet -facet normal -1.9828644e-1 9.7755796e-1 -7.115418e-2 +facet normal -1.519425e-1 9.820357e-1 -1.1188979e-1 outer loop -vertex -2.0e0 1.4331568e1 -4.0e0 -vertex 0.0e0 1.488282e1 -2.0e0 -vertex 0.0e0 1.4737245e1 -4.0e0 +vertex -2.0e0 1.4387494e1 -4.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 endloop endfacet -facet normal 1.3496318e-1 9.882362e-1 -7.193142e-2 +facet normal 1.4962736e-1 9.823866e-1 -1.1192976e-1 outer loop -vertex 0.0e0 1.4737245e1 -4.0e0 -vertex 0.0e0 1.488282e1 -2.0e0 -vertex 2.0e0 1.4609681e1 -2.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 endloop endfacet -facet normal 1.9696961e-1 9.7106594e-1 -1.3503301e-1 +facet normal 1.5190183e-1 9.817728e-1 -1.14227794e-1 outer loop -vertex 0.0e0 1.4737245e1 -4.0e0 -vertex 2.0e0 1.4609681e1 -2.0e0 -vertex 2.0e0 1.4331568e1 -4.0e0 +vertex 0.0e0 1.46969385e1 -4.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 endloop endfacet -facet normal 3.8490182e-1 9.141614e-1 -1.2712006e-1 +facet normal 3.9147764e-1 9.1402185e-1 -1.0634507e-1 outer loop -vertex 2.0e0 1.4331568e1 -4.0e0 -vertex 2.0e0 1.4609681e1 -2.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 vertex 3.4480226e0 1.4e1 -2.0e0 endloop endfacet -facet normal 3.1920448e-1 9.4475436e-1 -7.44826e-2 +facet normal 3.6592442e-1 9.267194e-1 -8.5384145e-2 outer loop -vertex 2.0e0 1.4331568e1 -4.0e0 +vertex 2.0e0 1.4387494e1 -4.0e0 vertex 3.4480226e0 1.4e1 -2.0e0 vertex 2.9813464e0 1.4e1 -4.0e0 endloop @@ -94443,58 +94415,58 @@ vertex -1.9158007e1 -1.6e1 0.0e0 vertex -1.939613e1 -1.6e1 -2.0e0 endloop endfacet -facet normal -4.1993007e-1 -9.0571606e-1 -5.7768453e-2 +facet normal -4.0118295e-1 -9.153243e-1 -3.512418e-2 outer loop -vertex -2.0e0 -1.4609681e1 -2.0e0 -vertex -2.0e0 -1.4737245e1 0.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 vertex -3.5901089e0 -1.4e1 0.0e0 endloop endfacet -facet normal -3.879026e-1 -9.212883e-1 -2.7557805e-2 +facet normal -3.9355633e-1 -9.188752e-1 -2.7959466e-2 outer loop -vertex -2.0e0 -1.4609681e1 -2.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 vertex -3.5901089e0 -1.4e1 0.0e0 vertex -3.4480226e0 -1.4e1 -2.0e0 endloop endfacet -facet normal -1.350443e-1 -9.8883027e-1 -6.306965e-2 +facet normal -1.5046531e-1 -9.878882e-1 -3.7908707e-2 outer loop -vertex -2.0e0 -1.4737245e1 0.0e0 -vertex -2.0e0 -1.4609681e1 -2.0e0 -vertex 0.0e0 -1.488282e1 -2.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 +vertex -2.0e0 -1.4620192e1 -2.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 endloop endfacet -facet normal -7.750106e-2 -9.969801e-1 -4.9331957e-3 +facet normal -1.4971712e-1 -9.880309e-1 -3.714426e-2 outer loop -vertex -2.0e0 -1.4737245e1 0.0e0 -vertex 0.0e0 -1.488282e1 -2.0e0 -vertex 0.0e0 -1.4892716e1 0.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 +vertex 0.0e0 -1.5e1 0.0e0 endloop endfacet -facet normal 1.3531208e-1 -9.907909e-1 -4.9025705e-3 +facet normal 1.5046966e-1 -9.8791677e-1 -3.7139967e-2 outer loop -vertex 0.0e0 -1.4892716e1 0.0e0 -vertex 0.0e0 -1.488282e1 -2.0e0 -vertex 2.0e0 -1.4609681e1 -2.0e0 +vertex 0.0e0 -1.5e1 0.0e0 +vertex 0.0e0 -1.4924811e1 -2.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 endloop endfacet -facet normal 7.734578e-2 -9.9498254e-1 -6.346205e-2 +facet normal 1.4971279e-1 -9.8800236e-1 -3.7913088e-2 outer loop -vertex 0.0e0 -1.4892716e1 0.0e0 -vertex 2.0e0 -1.4609681e1 -2.0e0 -vertex 2.0e0 -1.4737245e1 0.0e0 +vertex 0.0e0 -1.5e1 0.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 endloop endfacet -facet normal 3.8738123e-1 -9.200501e-1 -5.8682706e-2 +facet normal 3.9346555e-1 -9.1866326e-1 -3.5252307e-2 outer loop -vertex 2.0e0 -1.4737245e1 0.0e0 -vertex 2.0e0 -1.4609681e1 -2.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 +vertex 2.0e0 -1.4620192e1 -2.0e0 vertex 3.4480226e0 -1.4e1 -2.0e0 endloop endfacet -facet normal 4.2044482e-1 -9.068263e-1 -2.9869707e-2 +facet normal 4.012675e-1 -9.155172e-1 -2.8507292e-2 outer loop -vertex 2.0e0 -1.4737245e1 0.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 vertex 3.4480226e0 -1.4e1 -2.0e0 vertex 3.5901089e0 -1.4e1 0.0e0 endloop @@ -96459,58 +96431,58 @@ vertex -1.939613e1 1.6e1 -2.0e0 vertex -1.9158007e1 1.6e1 0.0e0 endloop endfacet -facet normal -3.8738123e-1 9.200501e-1 -5.8682706e-2 +facet normal -3.9346555e-1 9.1866326e-1 -3.5252307e-2 outer loop -vertex -2.0e0 1.4737245e1 0.0e0 -vertex -2.0e0 1.4609681e1 -2.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 vertex -3.4480226e0 1.4e1 -2.0e0 endloop endfacet -facet normal -4.2044482e-1 9.068263e-1 -2.9869707e-2 +facet normal -4.012675e-1 9.155172e-1 -2.8507292e-2 outer loop -vertex -2.0e0 1.4737245e1 0.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 vertex -3.4480226e0 1.4e1 -2.0e0 vertex -3.5901089e0 1.4e1 0.0e0 endloop endfacet -facet normal -7.734578e-2 9.9498254e-1 -6.346205e-2 +facet normal -1.4971279e-1 9.8800236e-1 -3.7913088e-2 outer loop -vertex -2.0e0 1.4609681e1 -2.0e0 -vertex -2.0e0 1.4737245e1 0.0e0 -vertex 0.0e0 1.4892716e1 0.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 +vertex 0.0e0 1.5e1 0.0e0 endloop endfacet -facet normal -1.3531208e-1 9.907909e-1 -4.9025705e-3 +facet normal -1.5046966e-1 9.8791677e-1 -3.7139967e-2 outer loop -vertex -2.0e0 1.4609681e1 -2.0e0 -vertex 0.0e0 1.4892716e1 0.0e0 -vertex 0.0e0 1.488282e1 -2.0e0 +vertex -2.0e0 1.4620192e1 -2.0e0 +vertex 0.0e0 1.5e1 0.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 endloop endfacet -facet normal 7.750106e-2 9.969801e-1 -4.9331957e-3 +facet normal 1.4971712e-1 9.880309e-1 -3.714426e-2 outer loop -vertex 0.0e0 1.488282e1 -2.0e0 -vertex 0.0e0 1.4892716e1 0.0e0 -vertex 2.0e0 1.4737245e1 0.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 +vertex 0.0e0 1.5e1 0.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 endloop endfacet -facet normal 1.350443e-1 9.8883027e-1 -6.306965e-2 +facet normal 1.5046531e-1 9.878882e-1 -3.7908707e-2 outer loop -vertex 0.0e0 1.488282e1 -2.0e0 -vertex 2.0e0 1.4737245e1 0.0e0 -vertex 2.0e0 1.4609681e1 -2.0e0 +vertex 0.0e0 1.4924811e1 -2.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 endloop endfacet -facet normal 4.1993007e-1 9.0571606e-1 -5.7768453e-2 +facet normal 4.0118295e-1 9.153243e-1 -3.512418e-2 outer loop -vertex 2.0e0 1.4609681e1 -2.0e0 -vertex 2.0e0 1.4737245e1 0.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 vertex 3.5901089e0 1.4e1 0.0e0 endloop endfacet -facet normal 3.879026e-1 9.212883e-1 -2.7557805e-2 +facet normal 3.9355633e-1 9.188752e-1 -2.7959466e-2 outer loop -vertex 2.0e0 1.4609681e1 -2.0e0 +vertex 2.0e0 1.4620192e1 -2.0e0 vertex 3.5901089e0 1.4e1 0.0e0 vertex 3.4480226e0 1.4e1 -2.0e0 endloop @@ -100659,58 +100631,58 @@ vertex -1.939613e1 -1.6e1 2.0e0 vertex -1.9158007e1 -1.6e1 0.0e0 endloop endfacet -facet normal -3.8738123e-1 -9.200501e-1 5.8682706e-2 +facet normal -3.9346555e-1 -9.1866326e-1 3.5252307e-2 outer loop -vertex -2.0e0 -1.4737245e1 0.0e0 -vertex -2.0e0 -1.4609681e1 2.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 vertex -3.4480226e0 -1.4e1 2.0e0 endloop endfacet -facet normal -4.2044482e-1 -9.068263e-1 2.9869707e-2 +facet normal -4.012675e-1 -9.155172e-1 2.8507292e-2 outer loop -vertex -2.0e0 -1.4737245e1 0.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 vertex -3.4480226e0 -1.4e1 2.0e0 vertex -3.5901089e0 -1.4e1 0.0e0 endloop endfacet -facet normal -7.734578e-2 -9.9498254e-1 6.346205e-2 +facet normal -1.4971279e-1 -9.8800236e-1 3.7913088e-2 outer loop -vertex -2.0e0 -1.4609681e1 2.0e0 -vertex -2.0e0 -1.4737245e1 0.0e0 -vertex 0.0e0 -1.4892716e1 0.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 +vertex -2.0e0 -1.46969385e1 0.0e0 +vertex 0.0e0 -1.5e1 0.0e0 endloop endfacet -facet normal -1.3531208e-1 -9.907909e-1 4.9025705e-3 +facet normal -1.5046966e-1 -9.8791677e-1 3.7139967e-2 outer loop -vertex -2.0e0 -1.4609681e1 2.0e0 -vertex 0.0e0 -1.4892716e1 0.0e0 -vertex 0.0e0 -1.488282e1 2.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 +vertex 0.0e0 -1.5e1 0.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 endloop endfacet -facet normal 7.750106e-2 -9.969801e-1 4.9331957e-3 +facet normal 1.4971712e-1 -9.880309e-1 3.714426e-2 outer loop -vertex 0.0e0 -1.488282e1 2.0e0 -vertex 0.0e0 -1.4892716e1 0.0e0 -vertex 2.0e0 -1.4737245e1 0.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 +vertex 0.0e0 -1.5e1 0.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 endloop endfacet -facet normal 1.350443e-1 -9.8883027e-1 6.306965e-2 +facet normal 1.5046531e-1 -9.878882e-1 3.7908707e-2 outer loop -vertex 0.0e0 -1.488282e1 2.0e0 -vertex 2.0e0 -1.4737245e1 0.0e0 -vertex 2.0e0 -1.4609681e1 2.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 endloop endfacet -facet normal 4.1993007e-1 -9.0571606e-1 5.7768453e-2 +facet normal 4.0118295e-1 -9.153243e-1 3.512418e-2 outer loop -vertex 2.0e0 -1.4609681e1 2.0e0 -vertex 2.0e0 -1.4737245e1 0.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 +vertex 2.0e0 -1.46969385e1 0.0e0 vertex 3.5901089e0 -1.4e1 0.0e0 endloop endfacet -facet normal 3.879026e-1 -9.212883e-1 2.7557805e-2 +facet normal 3.9355633e-1 -9.188752e-1 2.7959466e-2 outer loop -vertex 2.0e0 -1.4609681e1 2.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 vertex 3.5901089e0 -1.4e1 0.0e0 vertex 3.4480226e0 -1.4e1 2.0e0 endloop @@ -102675,58 +102647,58 @@ vertex -1.9158007e1 1.6e1 0.0e0 vertex -1.939613e1 1.6e1 2.0e0 endloop endfacet -facet normal -4.1993007e-1 9.0571606e-1 5.7768453e-2 +facet normal -4.0118295e-1 9.153243e-1 3.512418e-2 outer loop -vertex -2.0e0 1.4609681e1 2.0e0 -vertex -2.0e0 1.4737245e1 0.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 vertex -3.5901089e0 1.4e1 0.0e0 endloop endfacet -facet normal -3.879026e-1 9.212883e-1 2.7557805e-2 +facet normal -3.9355633e-1 9.188752e-1 2.7959466e-2 outer loop -vertex -2.0e0 1.4609681e1 2.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 vertex -3.5901089e0 1.4e1 0.0e0 vertex -3.4480226e0 1.4e1 2.0e0 endloop endfacet -facet normal -1.350443e-1 9.8883027e-1 6.306965e-2 +facet normal -1.5046531e-1 9.878882e-1 3.7908707e-2 outer loop -vertex -2.0e0 1.4737245e1 0.0e0 -vertex -2.0e0 1.4609681e1 2.0e0 -vertex 0.0e0 1.488282e1 2.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 endloop endfacet -facet normal -7.750106e-2 9.969801e-1 4.9331957e-3 +facet normal -1.4971712e-1 9.880309e-1 3.714426e-2 outer loop -vertex -2.0e0 1.4737245e1 0.0e0 -vertex 0.0e0 1.488282e1 2.0e0 -vertex 0.0e0 1.4892716e1 0.0e0 +vertex -2.0e0 1.46969385e1 0.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 +vertex 0.0e0 1.5e1 0.0e0 endloop endfacet -facet normal 1.3531208e-1 9.907909e-1 4.9025705e-3 +facet normal 1.5046966e-1 9.8791677e-1 3.7139967e-2 outer loop -vertex 0.0e0 1.4892716e1 0.0e0 -vertex 0.0e0 1.488282e1 2.0e0 -vertex 2.0e0 1.4609681e1 2.0e0 +vertex 0.0e0 1.5e1 0.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 endloop endfacet -facet normal 7.734578e-2 9.9498254e-1 6.346205e-2 +facet normal 1.4971279e-1 9.8800236e-1 3.7913088e-2 outer loop -vertex 0.0e0 1.4892716e1 0.0e0 -vertex 2.0e0 1.4609681e1 2.0e0 -vertex 2.0e0 1.4737245e1 0.0e0 +vertex 0.0e0 1.5e1 0.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 endloop endfacet -facet normal 3.8738123e-1 9.200501e-1 5.8682706e-2 +facet normal 3.9346555e-1 9.1866326e-1 3.5252307e-2 outer loop -vertex 2.0e0 1.4737245e1 0.0e0 -vertex 2.0e0 1.4609681e1 2.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 vertex 3.4480226e0 1.4e1 2.0e0 endloop endfacet -facet normal 4.2044482e-1 9.068263e-1 2.9869707e-2 +facet normal 4.012675e-1 9.155172e-1 2.8507292e-2 outer loop -vertex 2.0e0 1.4737245e1 0.0e0 +vertex 2.0e0 1.46969385e1 0.0e0 vertex 3.4480226e0 1.4e1 2.0e0 vertex 3.5901089e0 1.4e1 0.0e0 endloop @@ -107127,58 +107099,58 @@ vertex -1.9907719e1 -1.6e1 4.0e0 vertex -1.939613e1 -1.6e1 2.0e0 endloop endfacet -facet normal -3.1735155e-1 -9.3927026e-1 1.3061161e-1 +facet normal -3.6513382e-1 -9.247171e-1 1.0758945e-1 outer loop -vertex -2.0e0 -1.4609681e1 2.0e0 -vertex -2.0e0 -1.4331568e1 4.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 +vertex -2.0e0 -1.4387494e1 4.0e0 vertex -2.9813464e0 -1.4e1 4.0e0 endloop endfacet -facet normal -3.8646892e-1 -9.178833e-1 9.017796e-2 +facet normal -3.920593e-1 -9.1537994e-1 9.1482416e-2 outer loop -vertex -2.0e0 -1.4609681e1 2.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 vertex -2.9813464e0 -1.4e1 4.0e0 vertex -3.4480226e0 -1.4e1 2.0e0 endloop endfacet -facet normal -1.3404739e-1 -9.8153055e-1 1.3648818e-1 +facet normal -1.4958726e-1 -9.821234e-1 1.1426858e-1 outer loop -vertex -2.0e0 -1.4331568e1 4.0e0 -vertex -2.0e0 -1.4609681e1 2.0e0 -vertex 0.0e0 -1.488282e1 2.0e0 +vertex -2.0e0 -1.4387494e1 4.0e0 +vertex -2.0e0 -1.4620192e1 2.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 endloop endfacet -facet normal -1.9828644e-1 -9.7755796e-1 7.115418e-2 +facet normal -1.519425e-1 -9.820357e-1 1.1188979e-1 outer loop -vertex -2.0e0 -1.4331568e1 4.0e0 -vertex 0.0e0 -1.488282e1 2.0e0 -vertex 0.0e0 -1.4737245e1 4.0e0 +vertex -2.0e0 -1.4387494e1 4.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 endloop endfacet -facet normal 1.3496318e-1 -9.882362e-1 7.193142e-2 +facet normal 1.4962736e-1 -9.823866e-1 1.1192976e-1 outer loop -vertex 0.0e0 -1.4737245e1 4.0e0 -vertex 0.0e0 -1.488282e1 2.0e0 -vertex 2.0e0 -1.4609681e1 2.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 +vertex 0.0e0 -1.4924811e1 2.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 endloop endfacet -facet normal 1.9696961e-1 -9.7106594e-1 1.3503301e-1 +facet normal 1.5190183e-1 -9.817728e-1 1.14227794e-1 outer loop -vertex 0.0e0 -1.4737245e1 4.0e0 -vertex 2.0e0 -1.4609681e1 2.0e0 -vertex 2.0e0 -1.4331568e1 4.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 endloop endfacet -facet normal 3.8490182e-1 -9.141614e-1 1.2712006e-1 +facet normal 3.9147764e-1 -9.1402185e-1 1.0634507e-1 outer loop -vertex 2.0e0 -1.4331568e1 4.0e0 -vertex 2.0e0 -1.4609681e1 2.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 +vertex 2.0e0 -1.4620192e1 2.0e0 vertex 3.4480226e0 -1.4e1 2.0e0 endloop endfacet -facet normal 3.1920448e-1 -9.4475436e-1 7.44826e-2 +facet normal 3.6592442e-1 -9.267194e-1 8.5384145e-2 outer loop -vertex 2.0e0 -1.4331568e1 4.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 vertex 3.4480226e0 -1.4e1 2.0e0 vertex 2.9813464e0 -1.4e1 4.0e0 endloop @@ -109171,58 +109143,58 @@ vertex -1.939613e1 1.6e1 2.0e0 vertex -1.9907719e1 1.6e1 4.0e0 endloop endfacet -facet normal -3.8490182e-1 9.141614e-1 1.2712006e-1 +facet normal -3.9147764e-1 9.1402185e-1 1.0634507e-1 outer loop -vertex -2.0e0 1.4331568e1 4.0e0 -vertex -2.0e0 1.4609681e1 2.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 vertex -3.4480226e0 1.4e1 2.0e0 endloop endfacet -facet normal -3.1920448e-1 9.4475436e-1 7.44826e-2 +facet normal -3.6592442e-1 9.267194e-1 8.5384145e-2 outer loop -vertex -2.0e0 1.4331568e1 4.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 vertex -3.4480226e0 1.4e1 2.0e0 vertex -2.9813464e0 1.4e1 4.0e0 endloop endfacet -facet normal -1.9696961e-1 9.7106594e-1 1.3503301e-1 +facet normal -1.5190183e-1 9.817728e-1 1.14227794e-1 outer loop -vertex -2.0e0 1.4609681e1 2.0e0 -vertex -2.0e0 1.4331568e1 4.0e0 -vertex 0.0e0 1.4737245e1 4.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 endloop endfacet -facet normal -1.3496318e-1 9.882362e-1 7.193142e-2 +facet normal -1.4962736e-1 9.823866e-1 1.1192976e-1 outer loop -vertex -2.0e0 1.4609681e1 2.0e0 -vertex 0.0e0 1.4737245e1 4.0e0 -vertex 0.0e0 1.488282e1 2.0e0 +vertex -2.0e0 1.4620192e1 2.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 endloop endfacet -facet normal 1.9828644e-1 9.7755796e-1 7.115418e-2 +facet normal 1.519425e-1 9.820357e-1 1.1188979e-1 outer loop -vertex 0.0e0 1.488282e1 2.0e0 -vertex 0.0e0 1.4737245e1 4.0e0 -vertex 2.0e0 1.4331568e1 4.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 +vertex 2.0e0 1.4387494e1 4.0e0 endloop endfacet -facet normal 1.3404739e-1 9.8153055e-1 1.3648818e-1 +facet normal 1.4958726e-1 9.821234e-1 1.1426858e-1 outer loop -vertex 0.0e0 1.488282e1 2.0e0 -vertex 2.0e0 1.4331568e1 4.0e0 -vertex 2.0e0 1.4609681e1 2.0e0 +vertex 0.0e0 1.4924811e1 2.0e0 +vertex 2.0e0 1.4387494e1 4.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 endloop endfacet -facet normal 3.1735155e-1 9.3927026e-1 1.3061161e-1 +facet normal 3.6513382e-1 9.247171e-1 1.0758945e-1 outer loop -vertex 2.0e0 1.4609681e1 2.0e0 -vertex 2.0e0 1.4331568e1 4.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 +vertex 2.0e0 1.4387494e1 4.0e0 vertex 2.9813464e0 1.4e1 4.0e0 endloop endfacet -facet normal 3.8646892e-1 9.178833e-1 9.017796e-2 +facet normal 3.920593e-1 9.1537994e-1 9.1482416e-2 outer loop -vertex 2.0e0 1.4609681e1 2.0e0 +vertex 2.0e0 1.4620192e1 2.0e0 vertex 2.9813464e0 1.4e1 4.0e0 vertex 3.4480226e0 1.4e1 2.0e0 endloop @@ -114701,59 +114673,59 @@ vertex -2.0e1 -1.6e1 4.2408366e0 vertex -1.9907719e1 -1.6e1 4.0e0 endloop endfacet -facet normal -3.1607175e-1 -9.354824e-1 1.5802336e-1 +facet normal -3.6122662e-1 -9.1482204e-1 1.8059902e-1 outer loop -vertex -2.0e0 -1.4331568e1 4.0e0 +vertex -2.0e0 -1.4387494e1 4.0e0 vertex -2.0e0 -1.4e1 5.9628477e0 vertex -2.9813464e0 -1.4e1 4.0e0 endloop endfacet -facet normal -1.9612093e-1 -9.66882e-1 1.6332744e-1 +facet normal -1.5007332e-1 -9.699548e-1 1.9148302e-1 outer loop vertex -2.0e0 -1.4e1 5.9628477e0 -vertex -2.0e0 -1.4331568e1 4.0e0 -vertex 0.0e0 -1.4737245e1 4.0e0 +vertex -2.0e0 -1.4387494e1 4.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 endloop endfacet -facet normal -1.5624933e-1 -9.6646416e-1 2.0379679e-1 +facet normal -1.5341596e-1 -9.7008896e-1 1.8812475e-1 outer loop vertex -2.0e0 -1.4e1 5.9628477e0 -vertex 0.0e0 -1.4737245e1 4.0e0 -vertex 0.0e0 -1.4315508e1 6.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 endloop endfacet -facet normal -1.5687661e-1 -9.8052925e-1 1.1811923e-1 +facet normal -1.5380388e-1 -9.812917e-1 1.1580565e-1 outer loop vertex -2.0e0 -1.4e1 5.9628477e0 -vertex 0.0e0 -1.4315508e1 6.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 vertex -1.9720266e0 -1.4e1 6.0e0 endloop endfacet -facet normal 1.9467661e-1 -9.5976144e-1 2.0238338e-1 +facet normal 1.501698e-1 -9.705784e-1 1.8821965e-1 outer loop -vertex 0.0e0 -1.4315508e1 6.0e0 -vertex 0.0e0 -1.4737245e1 4.0e0 -vertex 2.0e0 -1.4331568e1 4.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 +vertex 0.0e0 -1.46969385e1 4.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 endloop endfacet -facet normal 1.5668494e-1 -9.7385216e-1 1.6450486e-1 +facet normal 1.5337886e-1 -9.69457e-1 1.9138475e-1 outer loop -vertex 0.0e0 -1.4315508e1 6.0e0 -vertex 2.0e0 -1.4331568e1 4.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 vertex 2.0e0 -1.4e1 5.9628477e0 endloop endfacet -facet normal 1.5687661e-1 -9.8052925e-1 1.1811923e-1 +facet normal 1.5380388e-1 -9.812917e-1 1.1580565e-1 outer loop -vertex 0.0e0 -1.4315508e1 6.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 vertex 2.0e0 -1.4e1 5.9628477e0 vertex 1.9720266e0 -1.4e1 6.0e0 endloop endfacet -facet normal 3.1607175e-1 -9.354824e-1 1.5802336e-1 +facet normal 3.6122662e-1 -9.1482204e-1 1.8059902e-1 outer loop vertex 2.0e0 -1.4e1 5.9628477e0 -vertex 2.0e0 -1.4331568e1 4.0e0 +vertex 2.0e0 -1.4387494e1 4.0e0 vertex 2.9813464e0 -1.4e1 4.0e0 endloop endfacet @@ -117417,58 +117389,58 @@ vertex -2.0e1 1.5873131e1 4.0e0 vertex -1.9907719e1 1.6e1 4.0e0 endloop endfacet -facet normal -3.1607175e-1 9.354824e-1 1.5802336e-1 +facet normal -3.6122662e-1 9.1482204e-1 1.8059902e-1 outer loop vertex -2.0e0 1.4e1 5.9628477e0 -vertex -2.0e0 1.4331568e1 4.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 vertex -2.9813464e0 1.4e1 4.0e0 endloop endfacet -facet normal -2.1599282e-1 9.627557e-1 1.6263041e-1 +facet normal -2.4911627e-1 9.50136e-1 1.875705e-1 outer loop -vertex -2.0e0 1.4331568e1 4.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 vertex -2.0e0 1.4e1 5.9628477e0 vertex -1.9720266e0 1.4e1 6.0e0 endloop endfacet -facet normal -1.558521e-1 9.741257e-1 1.636742e-1 +facet normal -1.520236e-1 9.699333e-1 1.9004816e-1 outer loop -vertex -2.0e0 1.4331568e1 4.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 vertex -1.9720266e0 1.4e1 6.0e0 -vertex 0.0e0 1.4315508e1 6.0e0 +vertex 0.0e0 1.4309088e1 6.0e0 endloop endfacet -facet normal -1.9467661e-1 9.5976144e-1 2.0238338e-1 +facet normal -1.501698e-1 9.705784e-1 1.8821965e-1 outer loop -vertex -2.0e0 1.4331568e1 4.0e0 -vertex 0.0e0 1.4315508e1 6.0e0 -vertex 0.0e0 1.4737245e1 4.0e0 +vertex -2.0e0 1.4387494e1 4.0e0 +vertex 0.0e0 1.4309088e1 6.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 endloop endfacet -facet normal 1.5466534e-1 9.6670806e-1 2.0384823e-1 +facet normal 1.5207979e-1 9.7029173e-1 1.8816407e-1 outer loop -vertex 0.0e0 1.4737245e1 4.0e0 -vertex 0.0e0 1.4315508e1 6.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 +vertex 0.0e0 1.4309088e1 6.0e0 vertex 1.9720266e0 1.4e1 6.0e0 endloop endfacet -facet normal 2.0488866e-1 9.6655136e-1 1.5426959e-1 +facet normal 1.943681e-1 9.6995014e-1 1.4634821e-1 outer loop -vertex 0.0e0 1.4737245e1 4.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 vertex 1.9720266e0 1.4e1 6.0e0 vertex 2.0e0 1.4e1 5.9628477e0 endloop endfacet -facet normal 1.9612093e-1 9.66882e-1 1.6332744e-1 +facet normal 1.5007332e-1 9.699548e-1 1.9148302e-1 outer loop -vertex 0.0e0 1.4737245e1 4.0e0 +vertex 0.0e0 1.46969385e1 4.0e0 vertex 2.0e0 1.4e1 5.9628477e0 -vertex 2.0e0 1.4331568e1 4.0e0 +vertex 2.0e0 1.4387494e1 4.0e0 endloop endfacet -facet normal 3.1607175e-1 9.354824e-1 1.5802336e-1 +facet normal 3.6122662e-1 9.1482204e-1 1.8059902e-1 outer loop -vertex 2.0e0 1.4331568e1 4.0e0 +vertex 2.0e0 1.4387494e1 4.0e0 vertex 2.0e0 1.4e1 5.9628477e0 vertex 2.9813464e0 1.4e1 4.0e0 endloop @@ -123871,17 +123843,17 @@ vertex -2.2e1 -1.6e1 7.8252974e0 vertex -2.0822304e1 -1.6e1 6.0e0 endloop endfacet -facet normal -1.5275024e-1 -9.5473814e-1 2.552302e-1 +facet normal -1.4990936e-1 -9.564441e-1 2.5048336e-1 outer loop -vertex 0.0e0 -1.4315508e1 6.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 vertex 0.0e0 -1.4e1 7.180219e0 vertex -1.9720266e0 -1.4e1 6.0e0 endloop endfacet -facet normal 1.5275024e-1 -9.5473814e-1 2.552302e-1 +facet normal 1.4990936e-1 -9.564441e-1 2.5048336e-1 outer loop vertex 0.0e0 -1.4e1 7.180219e0 -vertex 0.0e0 -1.4315508e1 6.0e0 +vertex 0.0e0 -1.4309088e1 6.0e0 vertex 1.9720266e0 -1.4e1 6.0e0 endloop endfacet @@ -126405,16 +126377,16 @@ vertex -2.2e1 1.4324169e1 6.0e0 vertex -2.0822304e1 1.6e1 6.0e0 endloop endfacet -facet normal -1.5275024e-1 9.5473814e-1 2.552302e-1 +facet normal -1.4990936e-1 9.564441e-1 2.5048336e-1 outer loop vertex 0.0e0 1.4e1 7.180219e0 -vertex 0.0e0 1.4315508e1 6.0e0 +vertex 0.0e0 1.4309088e1 6.0e0 vertex -1.9720266e0 1.4e1 6.0e0 endloop endfacet -facet normal 1.5275024e-1 9.5473814e-1 2.552302e-1 +facet normal 1.4990936e-1 9.564441e-1 2.5048336e-1 outer loop -vertex 0.0e0 1.4315508e1 6.0e0 +vertex 0.0e0 1.4309088e1 6.0e0 vertex 0.0e0 1.4e1 7.180219e0 vertex 1.9720266e0 1.4e1 6.0e0 endloop @@ -169119,32 +169091,32 @@ vertex -2.8e1 -3.0e1 1.49744215e1 vertex -2.7000639e1 -3.1000584e1 1.4958836e1 endloop endfacet -facet normal 6.169676e-3 -1.3990806e-2 9.998831e-1 +facet normal -1.7381727e-3 -1.3991051e-2 9.9990064e-1 outer loop vertex -2.6e1 -3.0e1 1.5011219e1 vertex -2.6e1 -3.2e1 1.4983233e1 -vertex -2.499993e1 -3.0999893e1 1.4991056e1 +vertex -2.4999834e1 -3.0999748e1 1.4998968e1 endloop endfacet -facet normal -2.0237045e-2 1.2416242e-2 9.997181e-1 +facet normal -2.02384e-2 4.5094043e-3 9.99785e-1 outer loop vertex -2.6e1 -3.2e1 1.4983233e1 vertex -2.4e1 -3.2e1 1.5023719e1 -vertex -2.499993e1 -3.0999893e1 1.4991056e1 +vertex -2.4999834e1 -3.0999748e1 1.4998968e1 endloop endfacet -facet normal 1.7828962e-2 5.043796e-2 9.9856806e-1 +facet normal 2.5734968e-2 5.0429273e-2 9.9839604e-1 outer loop vertex -2.4e1 -3.2e1 1.5023719e1 vertex -2.4e1 -3.0e1 1.4922699e1 -vertex -2.499993e1 -3.0999893e1 1.4991056e1 +vertex -2.4999834e1 -3.0999748e1 1.4998968e1 endloop endfacet -facet normal 4.4203877e-2 2.407332e-2 9.9873245e-1 +facet normal 4.419408e-2 3.1977348e-2 9.985111e-1 outer loop vertex -2.4e1 -3.0e1 1.4922699e1 vertex -2.6e1 -3.0e1 1.5011219e1 -vertex -2.499993e1 -3.0999893e1 1.4991056e1 +vertex -2.4999834e1 -3.0999748e1 1.4998968e1 endloop endfacet facet normal 4.070281e-2 5.0404176e-2 9.978991e-1 @@ -171625,32 +171597,18 @@ vertex -3.8e1 -1.6e1 1.4965446e1 vertex -3.8e1 -1.4e1 1.4986854e1 endloop endfacet -facet normal -2.3652103e-2 -1.0699884e-2 9.99663e-1 +facet normal -2.410638e-2 -1.0699768e-2 9.9965215e-1 outer loop vertex -3.8e1 -1.4e1 1.4986854e1 vertex -3.8e1 -1.6e1 1.4965446e1 -vertex -3.6999855e1 -1.4999472e1 1.4999819e1 -endloop -endfacet -facet normal -2.4106495e-2 -1.0245458e-2 9.996569e-1 -outer loop -vertex -3.8e1 -1.6e1 1.4965446e1 vertex -3.6e1 -1.6e1 1.5013676e1 -vertex -3.6999855e1 -1.4999472e1 1.4999819e1 endloop endfacet -facet normal 3.3654608e-2 4.745816e-2 9.983061e-1 +facet normal 3.406912e-2 4.7457494e-2 9.982921e-1 outer loop +vertex -3.8e1 -1.4e1 1.4986854e1 vertex -3.6e1 -1.6e1 1.5013676e1 vertex -3.6e1 -1.4e1 1.4918598e1 -vertex -3.6999855e1 -1.4999472e1 1.4999819e1 -endloop -endfacet -facet normal 3.406979e-2 4.704327e-2 9.9831164e-1 -outer loop -vertex -3.6e1 -1.4e1 1.4918598e1 -vertex -3.8e1 -1.4e1 1.4986854e1 -vertex -3.6999855e1 -1.4999472e1 1.4999819e1 endloop endfacet facet normal 9.867165e-2 4.7253333e-2 9.939975e-1 @@ -175601,32 +175559,18 @@ vertex 3.6e1 1.4e1 1.4918598e1 vertex 3.6e1 1.6e1 1.5013676e1 endloop endfacet -facet normal -3.3654608e-2 -4.745816e-2 9.983061e-1 +facet normal -3.406912e-2 -4.7457494e-2 9.982921e-1 outer loop vertex 3.6e1 1.6e1 1.5013676e1 vertex 3.6e1 1.4e1 1.4918598e1 -vertex 3.6999855e1 1.4999472e1 1.4999819e1 -endloop -endfacet -facet normal -3.406979e-2 -4.704327e-2 9.9831164e-1 -outer loop -vertex 3.6e1 1.4e1 1.4918598e1 vertex 3.8e1 1.4e1 1.4986854e1 -vertex 3.6999855e1 1.4999472e1 1.4999819e1 endloop endfacet -facet normal 2.3652103e-2 1.0699884e-2 9.99663e-1 +facet normal 2.410638e-2 1.0699768e-2 9.9965215e-1 outer loop +vertex 3.6e1 1.6e1 1.5013676e1 vertex 3.8e1 1.4e1 1.4986854e1 vertex 3.8e1 1.6e1 1.4965446e1 -vertex 3.6999855e1 1.4999472e1 1.4999819e1 -endloop -endfacet -facet normal 2.4106495e-2 1.0245458e-2 9.996569e-1 -outer loop -vertex 3.8e1 1.6e1 1.4965446e1 -vertex 3.6e1 1.6e1 1.5013676e1 -vertex 3.6999855e1 1.4999472e1 1.4999819e1 endloop endfacet facet normal 9.040029e-2 1.0659055e-2 9.958485e-1 @@ -178107,32 +178051,32 @@ vertex 2.4e1 3.0e1 1.4922699e1 vertex 2.4e1 3.2e1 1.5023719e1 endloop endfacet -facet normal -1.7828962e-2 -5.043796e-2 9.9856806e-1 +facet normal -2.5734968e-2 -5.0429273e-2 9.9839604e-1 outer loop vertex 2.4e1 3.2e1 1.5023719e1 vertex 2.4e1 3.0e1 1.4922699e1 -vertex 2.499993e1 3.0999893e1 1.4991056e1 +vertex 2.4999834e1 3.0999748e1 1.4998968e1 endloop endfacet -facet normal -4.4203877e-2 -2.407332e-2 9.9873245e-1 +facet normal -4.419408e-2 -3.1977348e-2 9.985111e-1 outer loop vertex 2.4e1 3.0e1 1.4922699e1 vertex 2.6e1 3.0e1 1.5011219e1 -vertex 2.499993e1 3.0999893e1 1.4991056e1 +vertex 2.4999834e1 3.0999748e1 1.4998968e1 endloop endfacet -facet normal -6.169676e-3 1.3990806e-2 9.998831e-1 +facet normal 1.7381727e-3 1.3991051e-2 9.9990064e-1 outer loop vertex 2.6e1 3.0e1 1.5011219e1 vertex 2.6e1 3.2e1 1.4983233e1 -vertex 2.499993e1 3.0999893e1 1.4991056e1 +vertex 2.4999834e1 3.0999748e1 1.4998968e1 endloop endfacet -facet normal 2.0237045e-2 -1.2416242e-2 9.997181e-1 +facet normal 2.02384e-2 -4.5094043e-3 9.99785e-1 outer loop vertex 2.6e1 3.2e1 1.4983233e1 vertex 2.4e1 3.2e1 1.5023719e1 -vertex 2.499993e1 3.0999893e1 1.4991056e1 +vertex 2.4999834e1 3.0999748e1 1.4998968e1 endloop endfacet facet normal 3.8325835e-2 1.3980794e-2 9.991675e-1 From b320b1aeadefae9a83c35355be6d3875f41e75c1 Mon Sep 17 00:00:00 2001 From: Julia Longtin Date: Sun, 31 Dec 2023 00:29:13 +0000 Subject: [PATCH 2/2] Update Graphics/Implicit/Primitives.hs add a newline. --- Graphics/Implicit/Primitives.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Graphics/Implicit/Primitives.hs b/Graphics/Implicit/Primitives.hs index a694e858..84801150 100644 --- a/Graphics/Implicit/Primitives.hs +++ b/Graphics/Implicit/Primitives.hs @@ -91,7 +91,8 @@ import Graphics.Implicit.Definitions (ObjectContext, ℝ, ℝ2, ℝ3, Box2, ExtrudeM, RotateExtrude, ExtrudeOnEdgeOf, - Shared3, Ellipsoid + Shared3, + Ellipsoid ), ExtrudeMScale, defaultObjectContext