Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/ogre/Tools/MayaExport/include/vertex.h @ 24

Last change on this file since 24 was 6, checked in by anonymous, 17 years ago

=…

File size: 2.5 KB
Line 
1////////////////////////////////////////////////////////////////////////////////
2// vertex.h
3// Author     : Francesco Giordana
4// Start Date : January 13, 2005
5// Copyright  : (C) 2006 by Francesco Giordana
6// Email      : fra.giordana@tiscali.it
7////////////////////////////////////////////////////////////////////////////////
8
9/*********************************************************************************
10*                                                                                *
11*   This program is free software; you can redistribute it and/or modify         *
12*   it under the terms of the GNU Lesser General Public License as published by  *
13*   the Free Software Foundation; either version 2 of the License, or            *
14*   (at your option) any later version.                                          *
15*                                                                                *
16**********************************************************************************/
17
18#ifndef _VERTEX_H
19#define _VERTEX_H
20
21/***** structure for uvsets info *****/
22        typedef struct uvsettag
23        {
24                short size;                                     //number of coordinates (between 1 and 3)
25        } uvset;
26        /***** structure for texture coordinates *****/
27        typedef struct texcoordstag
28        {
29                float u, v, w;                          //texture coordinates   
30        } texcoords;
31
32        /***** structure for vertex bone assignements *****/
33        typedef struct vbatag
34        {
35                float weight;   //weight
36                int jointIdx;   //index of associated joint
37        } vba;
38
39        /***** structure for vertex data *****/
40        typedef struct vertextag
41        {
42                double x, y, z;                                         //vertex coordinates
43                MVector n;                                                      //vertex normal
44                float r,g,b,a;                                          //vertex colour
45                std::vector<texcoords> texcoords;       //vertex texture coordinates
46                std::vector<vba> vbas;                          //vertex bone assignements
47                long index;                                                     //vertex index in the maya mesh to which this vertex refers
48        } vertex;
49
50        /***** structure for vertex info *****/
51        // used to hold indices to access MFnMesh data
52        typedef struct vertexInfotag
53        {
54                int pointIdx;                           //index to points list (position)
55                int normalIdx;                          //index to normals list
56                float r,g,b,a;                          //colour
57                std::vector<float> u;           //u texture coordinates
58                std::vector<float> v;           //v texture coordinates
59                std::vector<float> vba;         //vertex bone assignements
60                std::vector<int> jointIds;      //ids of joints affecting this vertex
61                int next;                                       //index of next vertex with same position
62        } vertexInfo;
63
64        /***** structure for face info *****/
65        typedef struct facetag
66        {
67                long v[3];              //vertex indices
68        } face;
69
70        /***** array of face infos *****/
71        typedef std::vector<face> faceArray;
72
73#endif
Note: See TracBrowser for help on using the repository browser.