module Drasil.SSP.Goals (goals, identifyCritAndFSGS, determineNormalFGS,
determineShearFGS) where
import Language.Drasil
import Language.Drasil.Chunk.Concept.NamedCombinators
import qualified Language.Drasil.Sentence.Combinators as S
import Data.Drasil.Concepts.Documentation (goalStmtDom)
import Drasil.SSP.Defs (crtSlpSrf, fsConcept, slice, slope)
import Drasil.SSP.Unitals (intNormForce, intShrForce)
goals :: [ConceptInstance]
goals :: [ConceptInstance]
goals = [ConceptInstance
identifyCritAndFSGS, ConceptInstance
determineNormalFGS, ConceptInstance
determineShearFGS]
identifyCritAndFSGS :: ConceptInstance
identifyCritAndFSGS :: ConceptInstance
identifyCritAndFSGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic String
"identifyCritAndFS" Sentence
identifyCritAndFS
String
"Identify-Crit-and-FS" ConceptChunk
goalStmtDom
determineNormalFGS :: ConceptInstance
determineNormalFGS :: ConceptInstance
determineNormalFGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic String
"determineNormalF" (UnitalChunk -> Sentence
forall a. NamedIdea a => a -> Sentence
determineF UnitalChunk
intNormForce)
String
"Determine-Normal-Forces" ConceptChunk
goalStmtDom
determineShearFGS :: ConceptInstance
determineShearFGS :: ConceptInstance
determineShearFGS = String -> Sentence -> String -> ConceptChunk -> ConceptInstance
forall c.
Concept c =>
String -> Sentence -> String -> c -> ConceptInstance
cic String
"determineShearF" (UnitalChunk -> Sentence
forall a. NamedIdea a => a -> Sentence
determineF UnitalChunk
intShrForce)
String
"Determine-Shear-Forces" ConceptChunk
goalStmtDom
identifyCritAndFS :: Sentence
identifyCritAndFS :: Sentence
identifyCritAndFS = String -> Sentence
S String
"Identify the" Sentence -> Sentence -> Sentence
+:+ ConceptChunk -> Sentence
forall a. NamedIdea a => a -> Sentence
phrase ConceptChunk
crtSlpSrf Sentence -> Sentence -> Sentence
`S.andThe`
String -> Sentence
S String
"corresponding" Sentence -> Sentence -> Sentence
+:+. ConceptChunk -> Sentence
forall a. NamedIdea a => a -> Sentence
phrase ConceptChunk
fsConcept
determineF :: (NamedIdea a) => a -> Sentence
determineF :: forall a. NamedIdea a => a -> Sentence
determineF a
what = String -> Sentence
S String
"Determine the" Sentence -> Sentence -> Sentence
+:+ a -> Sentence
forall a. NamedIdea a => a -> Sentence
phrase a
what Sentence -> Sentence -> Sentence
+:+
String -> Sentence
S String
"between each pair of vertical" Sentence -> Sentence -> Sentence
+:+. NP -> Sentence
forall n. NounPhrase n => n -> Sentence
pluralNP (IdeaDict
slice IdeaDict -> IdeaDict -> NP
forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
`ofThePS`
IdeaDict
slope)