úÎC.=ƒf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde Safe-InferedAn axis aligned bounding box.  Try if an   is inside a projection frustum. The AABB must be defined in the same vector space as the matrix, e.g. use the model-view-projection matrix for model-local aabb's. Transforms an 'sAABB* using a 4x4 matrix. Note that this may grow the AABB and is not associative with matrix multiplication, i.e.  ' (m2 `multmm` m1) `aabbTransform` aabb is usually not the same as  . m2 `aabbTransform` (m1 `aabbTransform` aabb) C(The former is preferred as it minimizes the growing of the AABB).  f    f Safe-InferedT Gets the projection matrix of a 5 element. U$Gets the transformation matrix of a > element. V2Gets the total transformation matrix of a list of > element. W%The complete transform matrix of all > elements in a node. X The smallest  that contains all C elements in a node. Note: This is not transformed using the nodes > elements. P  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXgS  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXSSKLMNOPQRWX>GFED@?HIJABCUV5:6;<=789T1432-./0*'#+,()$%& !"   *'#+,()$%& !"-./014325:6;<=789> GFED@?HIJABCKLMNOPQRSTUVWXg Safe-InferedY8Parse a string containing a collada document and return h( an error message or the parsed Collada S. Z@Open a Collada file and parse its contents and return a Collada S. Errors are thrown as is. YZYZYZYZ Safe-Infered [eA path where the first string in the list is the closest ID and the rest is all SIDs found in order. \$Traverse a Tree top down, much like  mapAccumLn. The function recieves an accumulator from its parent and generates one that is passed down to its children. 1 Useful for accumulating transformations, etc. ]%Traverse a Tree bottom up, much like  mapAccumRp. The function recieves the accumulators of all its children and generates one that is passed up to its parent. ' Useful for accumulating AABBs, etc. ^:Remove branches of a tree where the function evaluates to j". Useful for selecting LODs, etc. _*Traverse a tree top down accumulating the [V for each node. The projection function enables this to be used on trees that are not Ss.  The accumulated [! for a node will include the node's   at the end, but not its  . The   will however be the first k in the  [!s of the children, and the nodes   won't be included in this case. `’Traverse a tree top down accumulating the absolute transform for each node. The projection function enables this to be used on trees that are not Ss.  Use W to get the  Mat44 FloatH from a node. The accumulated matrix for each node will contain the node's own transforms. a For each  i-attributed element in a list, apply the provided function. The elements where the function evaluates to l are removed. bMFind the first element in the list that is attributed with the provided SID. c Evaluates to j where the mv contains the semantic with the same type as the last argument (which is not evaluated and prefferably is a monotyped n). d2Extract the value of a specific semantic from the mE. If the semantic is not found or the type is wrong, it evaluates to l. eRender the scene using a simple shading technique through the first camera found, or through a defult camera if the scene doesn' t contain any cameras. The scene' s lights aren't d used in the rendering. The source of this function can also serve as an example of how a Collada S can be processed. [\]^_`abcde [\]^_`abcde \]^[_`abcde [\]^_`abcdeo       !"#$%&'()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[\]^_`abcdefghijhklmnohpqhrstuvhwxyGPipe-Collada-0.1.3 Data.Vec.AABBGraphics.GPipe.ColladaGraphics.GPipe.Collada.ParseGraphics.GPipe.Collada.Utils IntersectionOutside IntersectingInsideAABBaabbMinaabbMaxtestAABBprojection aabbTransformSemanticSIDIDMesh TriangleMesh meshMaterialmeshDescriptionmeshPrimitiveStreammeshAABBGeometrymeshIDmeshPrimitives AttenuationattenuationConstantattenuationLinearattenuationQuadraticLightSpotspotID spotColorspotAttenuationspotFallOffAnglespotFallOffExponentPointpointID pointColorpointAttenuation Directional directionalIDdirectionalColorAmbient ambientID ambientColorZzNearzFarViewSize ViewSizeXY ViewSizeY ViewSizeXCamera OrthographicorthographicIDorthographicViewSize orthographicZ Perspective perspectiveIDperspectiveFov perspectiveZ Transform TranslateSkew skewAngle skewRotationskewTranslationScaleRotateMatrixLookAt lookAtEyelookAtInterestlookAtUpNodenodeId nodeLayersnodeTransformations nodeCameras nodeLightsnodeGeometriesScene cameraMat transformMat transformsMatnodeMatnodeAABB readColladareadColladaFileSIDPathtopDownbottomUpprunetopDownSIDPathtopDownTransformalterSID lookupSID hasDynVertex dynVertex viewScene $fMonoidAABB $fShowMeshbase Data.EitherEitherGHC.IO.Exception userErrorghc-prim GHC.TypesTrueGHC.BaseString Data.MaybeNothingcontainers-0.4.2.1Data.MapMapGHC.Err undefined