diagrams-lib-0.4: src/Diagrams/ThreeD/Types.hs
{-# LANGUAGE TypeSynonymInstances
, FlexibleInstances
, TypeFamilies
#-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
-----------------------------------------------------------------------------
-- |
-- Module : Diagrams.ThreeD.Types
-- Copyright : (c) 2011 diagrams-lib team (see LICENSE)
-- License : BSD-style (see LICENSE)
-- Maintainer : diagrams-discuss@googlegroups.com
--
-- Basic types for three-dimensional Euclidean space.
--
-----------------------------------------------------------------------------
module Diagrams.ThreeD.Types
( -- * 3D Euclidean space
R3
, P3
, T3
) where
import Graphics.Rendering.Diagrams
------------------------------------------------------------
-- 3D Euclidean space
-- | The three-dimensional Euclidean vector space R^3.
type R3 = (Double, Double, Double)
type instance V R3 = R3
-- | Points in R^3.
type P3 = Point R3
-- | Transformations in R^3.
type T3 = Transformation R3
instance Transformable R3 where
transform = apply