ColladaLoaderPrivate.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2015 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 
18 #ifndef _COLLADALOADER_PRIVATE_HH_
19 #define _COLLADALOADER_PRIVATE_HH_
20 
21 #include <map>
22 #include <string>
23 #include <vector>
24 
25 class TiXmlElement;
26 
27 namespace gazebo
28 {
29  namespace common
30  {
31  class Material;
32 
35  {
37  public: double meter;
38 
40  public: std::string filename;
41 
43  public: std::map<std::string, std::string> materialMap;
44 
46  public: TiXmlElement *colladaXml;
47 
49  public: std::string path;
50 
52  public: std::string currentNodeName;
53 
55  public: std::map<std::string, std::vector<math::Vector3> > positionIds;
56 
58  public: std::map<std::string, std::vector<math::Vector3> > normalIds;
59 
61  public: std::map<std::string, std::vector<math::Vector2d> >texcoordIds;
62 
64  public: std::map<std::string, Material *> materialIds;
65 
68  public: std::map<std::string, std::map<unsigned int, unsigned int> >
70 
73  public: std::map<std::string, std::map<unsigned int, unsigned int> >
75 
78  public: std::map<std::string, std::map<unsigned int, unsigned int> >
80  };
81 
84  {
86  public: unsigned int vertexIndex;
87 
89  public: unsigned int normalIndex;
90 
92  public: unsigned int texcoordIndex;
93 
95  public: unsigned int mappedIndex;
96  };
97  }
98 }
99 #endif
std::string filename
COLLADA file name.
Definition: ColladaLoaderPrivate.hh:40
Private data for the ColladaLoader class.
Definition: ColladaLoaderPrivate.hh:34
unsigned int mappedIndex
Index of a vertex in the Gazebo mesh.
Definition: ColladaLoaderPrivate.hh:95
TiXmlElement * colladaXml
root xml element of COLLADA data
Definition: ColladaLoaderPrivate.hh:46
unsigned int normalIndex
Index of a normal in the collada.
Definition: ColladaLoaderPrivate.hh:89
unsigned int texcoordIndex
Index of a texture coordinate in the collada.
Definition: ColladaLoaderPrivate.hh:92
double meter
scaling factor
Definition: ColladaLoaderPrivate.hh:37
Helper data structure for loading collada geometries.
Definition: ColladaLoaderPrivate.hh:83
std::string currentNodeName
Name of the current node.
Definition: ColladaLoaderPrivate.hh:52
std::map< std::string, std::map< unsigned int, unsigned int > > texcoordDuplicateMap
Map of collada TEXCOORD ids to a map of duplicate texture coordinates.
Definition: ColladaLoaderPrivate.hh:79
std::map< std::string, std::vector< math::Vector3 > > normalIds
Map of collada NORMAL ids to list of normals.
Definition: ColladaLoaderPrivate.hh:58
std::map< std::string, std::map< unsigned int, unsigned int > > positionDuplicateMap
Map of collada POSITION ids to a map of duplicate positions.
Definition: ColladaLoaderPrivate.hh:69
std::map< std::string, std::vector< math::Vector3 > > positionIds
Map of collada POSITION ids to list of vectors.
Definition: ColladaLoaderPrivate.hh:55
std::string path
directory of COLLADA file name
Definition: ColladaLoaderPrivate.hh:49
std::map< std::string, std::vector< math::Vector2d > > texcoordIds
Map of collada TEXCOORD ids to list of texture coordinates.
Definition: ColladaLoaderPrivate.hh:61
std::map< std::string, std::string > materialMap
material dictionary indexed by name
Definition: ColladaLoaderPrivate.hh:43
unsigned int vertexIndex
Index of a vertex in the collada.
Definition: ColladaLoaderPrivate.hh:86
std::map< std::string, std::map< unsigned int, unsigned int > > normalDuplicateMap
Map of collada NORMAL ids to a map of duplicate normals.
Definition: ColladaLoaderPrivate.hh:74
std::map< std::string, Material * > materialIds
Map of collada Material ids to Gazebo materials.
Definition: ColladaLoaderPrivate.hh:64