Hoogle Search
Within LTS Haskell 24.45 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
transformOf :: ASetter a b a b -> (b -> b) -> a -> bdiagrams-lib Diagrams.Prelude Transform every element by recursively applying a given Setter in a bottom-up manner.
transformOf :: Traversal' a a -> (a -> a) -> a -> a transformOf :: Setter' a a -> (a -> a) -> a -> a
transformOn :: Plated a => ASetter s t a a -> (a -> a) -> s -> tdiagrams-lib Diagrams.Prelude Transform every element in the tree in a bottom-up manner over a region indicated by a Setter.
transformOn :: Plated a => Traversal' s a -> (a -> a) -> s -> s transformOn :: Plated a => Setter' s a -> (a -> a) -> s -> s
transformOnOf :: ASetter s t a b -> ASetter a b a b -> (b -> b) -> s -> tdiagrams-lib Diagrams.Prelude Transform every element in a region indicated by a Setter by recursively applying another Setter in a bottom-up manner.
transformOnOf :: Setter' s a -> Traversal' a a -> (a -> a) -> s -> s transformOnOf :: Setter' s a -> Setter' a a -> (a -> a) -> s -> s
camForward :: forall (l :: Type -> Type) n . Camera l n -> Direction V3 ndiagrams-lib Diagrams.ThreeD.Camera No documentation available.
-
No documentation available.
m44Deformation :: Fractional n => M44 n -> Deformation V3 V2 ndiagrams-lib Diagrams.ThreeD.Projection Make a deformation from a 4x4 homogeneous matrix.
module Diagrams.ThreeD.
Transform Transformations specific to three dimensions, with a few generic transformations (uniform scaling, translation) also re-exported for convenience.
-
Affine transformations, parameterized by any vector space. For transformations on particular vector spaces, see e.g. Diagrams.TwoD.Transform.
-
diagrams-lib Diagrams.Transform Type class for things t which can be transformed.
data
Transformation (v :: Type -> Type) ndiagrams-lib Diagrams.Transform General (affine) transformations, represented by an invertible linear map, its transpose, and a vector representing a translation component. By the transpose of a linear map we mean simply the linear map corresponding to the transpose of the map's matrix representation. For example, any scale is its own transpose, since scales are represented by matrices with zeros everywhere except the diagonal. The transpose of a rotation is the same as its inverse. The reason we need to keep track of transposes is because it turns out that when transforming a shape according to some linear map L, the shape's normal vectors transform according to L's inverse transpose. (For a more detailed explanation and proof, see https://wiki.haskell.org/Diagrams/Dev/Transformations.) This is exactly what we need when transforming bounding functions, which are defined in terms of perpendicular (i.e. normal) hyperplanes. For more general, non-invertible transformations, see Diagrams.Deform (in diagrams-lib).