module Drasil.GamePhysics.Concepts (centreMass, threeD, twoD, gamePhysics, acronyms) where

import Language.Drasil
import Data.Drasil.Concepts.Documentation (assumption, goalStmt, likelyChg,
  requirement, refBy, refName, srs, typUnc, unlikelyChg)
import Data.Drasil.Concepts.Math (ode)
import Data.Drasil.Concepts.PhysicalProperties (ctrOfMass)
import Data.Drasil.Concepts.Physics (threeD, twoD)
import Data.Drasil.TheoryConcepts (dataDefn, genDefn, inModel, thModel)
import Data.Drasil.Domains (physics)

import Control.Lens ((^.))

----- Acronyms -----

acronyms :: [CI]
acronyms :: [CI]
acronyms = [CI
assumption, CI
centreMass, CI
dataDefn, CI
genDefn, CI
goalStmt, CI
inModel,
  CI
likelyChg, CI
ode, CI
requirement, CI
refBy, CI
refName, CI
srs, CI
thModel, CI
threeD, CI
twoD, CI
typUnc, CI
unlikelyChg]

centreMass, gamePhysics :: CI
centreMass :: CI
centreMass  = String -> NP -> String -> [IdeaDict] -> CI
commonIdeaWithDict String
"centreMass"  (ConceptChunk
ctrOfMass forall s a. s -> Getting a s a -> a
^. forall c. NamedIdea c => Lens' c NP
term) String
"CM" [IdeaDict
physics]
gamePhysics :: CI
gamePhysics = String -> NP -> String -> [IdeaDict] -> CI
commonIdeaWithDict String
"gamePhysics" (String -> NP
pn String
"GamePhysics") String
"GamePhysics" [IdeaDict
physics]