{-# LANGUAGE MagicHash       #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections   #-}

module Physics.Contact.CircleVsCircle where

import           GHC.Types              (Double (..))

import           Data.Either
import           Physics.Contact.Circle
import           Physics.Contact.Types
import           Physics.Linear

generateContacts :: Circle -> Circle -> Maybe Contact'
generateContacts circleA circleB =
  case contact circleA circleB of
    Nothing -> Nothing
    Just Contact {..} ->
      Just (Contact' _contactNormal _contactCenter _contactDepth)