xof 0302txt 0064 // Copyright (C) 2011 Dylan Smith // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA template Header { <3D82AB43-62DA-11CF-AB39-0020AF71E433> WORD major; WORD minor; DWORD flags; } template Vector { <3D82AB5E-62DA-11CF-AB39-0020AF71E433> FLOAT x; FLOAT y; FLOAT z; } template Coords2d { FLOAT u; FLOAT v; } template Matrix4x4 { array FLOAT matrix[16]; } template ColorRGBA { <35FF44E0-6C7C-11CF-8F52-0040333594A3> FLOAT red; FLOAT green; FLOAT blue; FLOAT alpha; } template ColorRGB { FLOAT red; FLOAT green; FLOAT blue; } template IndexedColor { <1630B820-7842-11CF-8F52-0040333594A3> DWORD index; ColorRGBA indexColor; } template Boolean { <537DA6A0-CA37-11D0-941C-0080C80CFA7B> DWORD truefalse; } template Boolean2d { <4885AE63-78E8-11CF-8F52-0040333594A3> Boolean u; Boolean v; } template MaterialWrap { <4885AE60-78E8-11CF-8F52-0040333594A3> Boolean u; Boolean v; } template TextureFilename { STRING filename; } template Material { <3D82AB4D-62DA-11CF-AB39-0020AF71E433> ColorRGBA faceColor; FLOAT power; ColorRGB specularColor; ColorRGB emissiveColor; [ ... ] } template MeshFace { <3D82AB5F-62DA-11CF-AB39-0020AF71E433> DWORD nFaceVertexIndices; array DWORD faceVertexIndices[nFaceVertexIndices]; } template MeshFaceWraps { DWORD nFaceWrapValues; array Boolean2d faceWrapValues[nFaceWrapValues]; } template MeshTextureCoords { DWORD nTextureCoords; array Coords2d textureCoords[nTextureCoords]; } template MeshMaterialList { DWORD nMaterials; DWORD nFaceIndexes; array DWORD faceIndexes[nFaceIndexes]; [ Material ] } template MeshNormals { DWORD nNormals; array Vector normals[nNormals]; DWORD nFaceNormals; array MeshFace faceNormals[nFaceNormals]; } template MeshVertexColors { <1630B821-7842-11CF-8F52-0040333594A3> DWORD nVertexColors; array IndexedColor vertexColors[nVertexColors]; } template Mesh { <3D82AB44-62DA-11CF-AB39-0020AF71E433> DWORD nVertices; array Vector vertices[nVertices]; DWORD nFaces; array MeshFace faces[nFaces]; [ ... ] } template FrameTransformMatrix { Matrix4x4 frameMatrix; } template Frame { <3D82AB46-62DA-11CF-AB39-0020AF71E433> [ ... ] } template FloatKeys { <10DD46A9-775B-11CF-8F52-0040333594A3> DWORD nValues; array FLOAT values[nValues]; } template TimedFloatKeys { DWORD time; FloatKeys tfkeys; } template AnimationKey { <10DD46A8-775B-11CF-8F52-0040333594A3> DWORD keyType; DWORD nKeys; array TimedFloatKeys keys[nKeys]; } template AnimationOptions { DWORD openclosed; DWORD positionquality; } template Animation { <3D82AB4F-62DA-11CF-AB39-0020AF71E433> [ ... ] } template AnimationSet { <3D82AB50-62DA-11CF-AB39-0020AF71E433> [ Animation ] } template InlineData { <3A23EEA0-94B1-11D0-AB39-0020AF71E433> [ BINARY ] } template Url { <3A23EEA1-94B1-11D0-AB39-0020AF71E433> DWORD nUrls; array STRING urls[nUrls]; } template ProgressiveMesh { <8A63C360-997D-11D0-941C-0080C80CFA7B> [ Url, InlineData ] } template Guid { DWORD data1; WORD data2; WORD data3; array UCHAR data4[8]; } template StringProperty { <7F0F21E0-BFE1-11D1-82C0-00A0C9697271> STRING key; STRING value; } template PropertyBag { <7F0F21E1-BFE1-11D1-82C0-00A0C9697271> [ StringProperty ] } template ExternalVisual { <98116AA0-BDBA-11D1-82C0-00A0C9697271> Guid guidExternalVisual; [ ... ] } template RightHanded { <7F5D5EA0-D53A-11D1-82C0-00A0C9697271> DWORD bRightHanded; }