module Drasil.GamePhysics.Expressions where import Language.Drasil import Drasil.GamePhysics.Unitals (massj, velj, torquej, forcej, angAccj) import Data.Drasil.Quantities.Physics (time, momentOfInertia, gravitationalAccel, angularVelocity) transMotExpr :: PExpr transMotExpr :: PExpr transMotExpr = forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk gravitationalAccel forall r. ExprC r => r -> r -> r `addRe` (forall r f a. (ExprC r, HasUID f, HasSymbol f, HasUID a, HasSymbol a) => f -> a -> r apply1 UnitalChunk forcej UnitalChunk time forall r. ExprC r => r -> r -> r $/ forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk massj) transMotExprDeriv1 :: (ModelExprC r, ExprC r) => r transMotExprDeriv1 :: forall r. (ModelExprC r, ExprC r) => r transMotExprDeriv1 = forall r. ModelExprC r => r -> r -> r defines (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk angAccj) forall a b. (a -> b) -> a -> b $ forall r c. (ModelExprC r, HasUID c, HasSymbol c) => r -> c -> r deriv (forall r f a. (ExprC r, HasUID f, HasSymbol f, HasUID a, HasSymbol a) => f -> a -> r apply1 UnitalChunk velj UnitalChunk time) UnitalChunk time rotMotExpr :: PExpr rotMotExpr :: PExpr rotMotExpr = forall r f a. (ExprC r, HasUID f, HasSymbol f, HasUID a, HasSymbol a) => f -> a -> r apply1 UnitalChunk torquej UnitalChunk time forall r. ExprC r => r -> r -> r $/ forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk momentOfInertia rotMotExprDeriv1 :: (ModelExprC r, ExprC r) => r rotMotExprDeriv1 :: forall r. (ModelExprC r, ExprC r) => r rotMotExprDeriv1 = forall r. ModelExprC r => r -> r -> r defines (forall r c. (ExprC r, HasUID c, HasSymbol c) => c -> r sy UnitalChunk angAccj) forall a b. (a -> b) -> a -> b $ forall r c. (ModelExprC r, HasUID c, HasSymbol c) => r -> c -> r deriv (forall r f a. (ExprC r, HasUID f, HasSymbol f, HasUID a, HasSymbol a) => f -> a -> r apply1 UnitalChunk angularVelocity UnitalChunk time) UnitalChunk time