{- ORMOLU_DISABLE -} -- Implicit CAD. Copyright (C) 2011, Christopher Olah (chris@colah.ca) -- Released under the GNU AGPLV3+, see LICENSE -- We want a type that can represent squares/quads and triangles. module Graphics.Implicit.Export.Render.Definitions (TriSquare(Tris, Sq)) where -- Points/Numbers, and the concept of an array of triangles. import Graphics.Implicit.Definitions(ℝ, ℝ2, ℝ3, TriangleMesh) -- So we can use Parallel on this type. import Control.DeepSeq (NFData, rnf) data TriSquare = Sq (ℝ3,ℝ3,ℝ3) ℝ ℝ2 ℝ2 | Tris TriangleMesh instance NFData TriSquare where rnf :: TriSquare -> () rnf (Sq (ℝ3, ℝ3, ℝ3) b ℝ z ℝ2 xS ℝ2 yS) = forall a. NFData a => a -> () rnf ((ℝ3, ℝ3, ℝ3) b,ℝ z,ℝ2 xS,ℝ2 yS) rnf (Tris TriangleMesh tris) = forall a. NFData a => a -> () rnf TriangleMesh tris