úÎ <9§:      !"#$%&'()*+,-./0123456789?Compares the result of an action with a bad value, such as an A error code, returns (Left errormessage) if action value == bad,  otherwise (Right actionresult) ILike checkError, but returns (Right ()) instead of an interesting value.  8A Renderer provides data needed for graphics rendering. =Cal3D does no rendering itself; the Renderer simply provides :the needed information for a graphics API such as OpenGL. See !Graphics.Animation.Cal3D.Renderer; $also see the cal3d-opengl package. 9A Mixer can blend simultaneous animations and play them. See Graphics.Animation.Cal3D.Mixer. A Model is an "instance" of a . See Graphics.Animation.Cal3D.Model. Identifies a material set. Identifies a material thread. Identifies a material. Identifies a mesh. Identifies an animation. GLoadResult is (Left error_message) or (Right thing_loaded_from_file) -A function that loads something from a file. /A CoreModel is a type which may have multiple  instances ( s). See Graphics.Animation.Cal3D.Model.       Destroy a Renderer. Create a Renderer. Used to index faces. Executes a rendering action.  ! renderAnimation renderer action corresponds to   renderer->beginRendering();  action();  renderer->endRendering(); in the Cal3D C++ API. $The number of meshes in the Renderer's . 9The number of submeshes in the given mesh of the Renderer's . <Selects a particular (mesh, submesh) so that all subsequent 1operations refer to this (mesh, submesh) pair. 4The number of faces in the current (mesh, submesh). &Fills a buffer with the face numbers. 4The number of vertices, also the number of normals, " in the current (mesh, submesh). DFills a buffer with the vertex data of the current (mesh, submesh). EFills a buffer with the normal data for the current (mesh, submesh). !:Calls an action with a pointer to the ambient color data. 9The color data are four bytes (red, green, blue, alpha). If you are using OpenGL, use /Graphics.Animation.Cal3D.OpenGL.getAmbientColor  instead. You almost certainly don't want to use withAmbientColorPtr directly, ?unless your are connecting Cal3D to a different graphics API. "Diffuse color, like !. #Specular color, like !. $<The shininess, which affects the extent of speculr effects.  !"#$!"#$  !"#$%Destroy a Mixer. &Create a Mixer. 'Add an animation to be cycled (repeated) to the current mix. 6 The animation will continue playing until removed by (. ( Remove a cycled! animation from the current mix. )4Execute an animation once, instead of repeating it. %&'()&%'()%&'()*Destroy a CoreModel +Create a CoreModel ,"Load a core skeleton from a file. -"Load a core animation from a file .Load a core mesh from a file /!Load a core material from a file 0Create a core material thread. 1EApply the material identified by a material thread and material set. *+,-./01+*,-./01*+,-./012<Get a Renderer for the Model, which can provide information  needed for a graphics API. 3)Get a Mixer which can animate the Model. 4Destroy a Model. 5.Create a new Model instance from a CoreModel. 6Attach a mesh to a Model. 77Set the level of detail for a Model (between 0 and 1). 8!Apply a material set to a Model. 9@Let the current animations of a Model run for a specified time. 234567895467839223456789:  !"#$%&'()*+,-./0123456789:      !"#$%&'()*+,-./0123456789:;<= cal3d-0.1Graphics.Animation.Cal3D.ErrorGraphics.Animation.Cal3D.Types!Graphics.Animation.Cal3D.RendererGraphics.Animation.Cal3D.Mixer"Graphics.Animation.Cal3D.CoreModelGraphics.Animation.Cal3D.ModelGraphics.Animation.Cal3D IOFallibleFalliblecheckErrorValue checkErrorRendererMixerModel MaterialSetIdMaterialThreadId MaterialIdMeshId AnimationId LoadResultLoaderCLoader CoreModeldeleteRenderer newRendererCalIndexrenderAnimation getMeshCountgetSubmeshCountselectMeshSubmesh getFaceCountgetFacesgetVertexCount getVertices getNormalswithAmbientColorPtrwithDiffuseColorPtrwithSpecularColorPtr getShininess deleteMixernewMixer blendCycle clearCycle executeActiondeleteCoreModel newCoreModelloadCoreSkeletonloadCoreAnimation loadCoreMeshloadCoreMaterialcreateCoreMaterialThreadsetCoreMaterialId getRenderergetMixer deleteModelnewModel attachMesh setLodLevelsetMaterialSetupdate