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 #ifndef _GAZEBO_COLLADALOADER_PRIVATE_HH_
18 #define _GAZEBO_COLLADALOADER_PRIVATE_HH_
19 
20 #include <map>
21 #include <string>
22 #include <vector>
23 
24 #include <ignition/math/Vector3.hh>
25 
26 class TiXmlElement;
27 
28 namespace gazebo
29 {
30  namespace common
31  {
32  class Material;
33 
36  {
38  public: double meter;
39 
41  public: std::string filename;
42 
44  public: std::map<std::string, std::string> materialMap;
45 
47  public: TiXmlElement *colladaXml;
48 
50  public: std::string path;
51 
53  public: std::string currentNodeName;
54 
56  public: std::map<std::string,
57  std::vector<ignition::math::Vector3d> > positionIds;
58 
60  public: std::map<std::string,
61  std::vector<ignition::math::Vector3d> > normalIds;
62 
64  public: std::map<std::string,
65  std::vector<ignition::math::Vector2d> >texcoordIds;
66 
68  public: std::map<std::string, Material *> materialIds;
69 
72  public: std::map<std::string, std::map<unsigned int, unsigned int> >
74 
77  public: std::map<std::string, std::map<unsigned int, unsigned int> >
79 
82  public: std::map<std::string, std::map<unsigned int, unsigned int> >
84  };
85 
88  {
90  public: unsigned int vertexIndex;
91 
93  public: unsigned int normalIndex;
94 
96  public: unsigned int texcoordIndex;
97 
99  public: unsigned int mappedIndex;
100  };
101  }
102 }
103 #endif
std::string filename
COLLADA file name.
Definition: ColladaLoaderPrivate.hh:41
Private data for the ColladaLoader class.
Definition: ColladaLoaderPrivate.hh:35
std::map< std::string, std::vector< ignition::math::Vector3d > > positionIds
Map of collada POSITION ids to list of vectors.
Definition: ColladaLoaderPrivate.hh:57
unsigned int mappedIndex
Index of a vertex in the Gazebo mesh.
Definition: ColladaLoaderPrivate.hh:99
TiXmlElement * colladaXml
root xml element of COLLADA data
Definition: ColladaLoaderPrivate.hh:47
std::map< std::string, std::vector< ignition::math::Vector3d > > normalIds
Map of collada NORMAL ids to list of normals.
Definition: ColladaLoaderPrivate.hh:61
unsigned int normalIndex
Index of a normal in the collada.
Definition: ColladaLoaderPrivate.hh:93
unsigned int texcoordIndex
Index of a texture coordinate in the collada.
Definition: ColladaLoaderPrivate.hh:96
double meter
scaling factor
Definition: ColladaLoaderPrivate.hh:38
Helper data structure for loading collada geometries.
Definition: ColladaLoaderPrivate.hh:87
std::string currentNodeName
Name of the current node.
Definition: ColladaLoaderPrivate.hh:53
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:83
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:73
std::string path
directory of COLLADA file name
Definition: ColladaLoaderPrivate.hh:50
std::map< std::string, std::string > materialMap
material dictionary indexed by name
Definition: ColladaLoaderPrivate.hh:44
std::map< std::string, std::vector< ignition::math::Vector2d > > texcoordIds
Map of collada TEXCOORD ids to list of texture coordinates.
Definition: ColladaLoaderPrivate.hh:65
unsigned int vertexIndex
Index of a vertex in the collada.
Definition: ColladaLoaderPrivate.hh:90
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:78
std::map< std::string, Material * > materialIds
Map of collada Material ids to Gazebo materials.
Definition: ColladaLoaderPrivate.hh:68