|
@@ -58,6 +58,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
#include <assimp/texture.h>
|
|
#include <assimp/texture.h>
|
|
#include <assimp/camera.h>
|
|
#include <assimp/camera.h>
|
|
#include <assimp/StringComparison.h>
|
|
#include <assimp/StringComparison.h>
|
|
|
|
+#include <unordered_map>
|
|
|
|
+#include <unordered_set>
|
|
|
|
|
|
struct aiScene;
|
|
struct aiScene;
|
|
struct aiNode;
|
|
struct aiNode;
|
|
@@ -74,8 +76,6 @@ namespace FBX {
|
|
|
|
|
|
class Document;
|
|
class Document;
|
|
|
|
|
|
-using NodeNameCache = std::set<std::string>;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* Convert a FBX #Document to #aiScene
|
|
* Convert a FBX #Document to #aiScene
|
|
* @param out Empty scene to be populated
|
|
* @param out Empty scene to be populated
|
|
@@ -419,7 +419,6 @@ private:
|
|
void TransferDataToScene();
|
|
void TransferDataToScene();
|
|
|
|
|
|
private:
|
|
private:
|
|
-
|
|
|
|
// 0: not assigned yet, others: index is value - 1
|
|
// 0: not assigned yet, others: index is value - 1
|
|
unsigned int defaultMaterialIndex;
|
|
unsigned int defaultMaterialIndex;
|
|
|
|
|
|
@@ -429,22 +428,27 @@ private:
|
|
std::vector<aiLight*> lights;
|
|
std::vector<aiLight*> lights;
|
|
std::vector<aiCamera*> cameras;
|
|
std::vector<aiCamera*> cameras;
|
|
std::vector<aiTexture*> textures;
|
|
std::vector<aiTexture*> textures;
|
|
-
|
|
|
|
|
|
|
|
- typedef std::map<const Material*, unsigned int> MaterialMap;
|
|
|
|
|
|
+ using MaterialMap = std::map<const Material*, unsigned int>;
|
|
MaterialMap materials_converted;
|
|
MaterialMap materials_converted;
|
|
|
|
|
|
- typedef std::map<const Video*, unsigned int> VideoMap;
|
|
|
|
|
|
+ using VideoMap = std::map<const Video*, unsigned int>;
|
|
VideoMap textures_converted;
|
|
VideoMap textures_converted;
|
|
|
|
|
|
- typedef std::map<const Geometry*, std::vector<unsigned int> > MeshMap;
|
|
|
|
|
|
+ using MeshMap = std::map<const Geometry*, std::vector<unsigned int> >;
|
|
MeshMap meshes_converted;
|
|
MeshMap meshes_converted;
|
|
|
|
|
|
// fixed node name -> which trafo chain components have animations?
|
|
// fixed node name -> which trafo chain components have animations?
|
|
- typedef std::map<std::string, unsigned int> NodeAnimBitMap;
|
|
|
|
|
|
+ using NodeAnimBitMap = std::map<std::string, unsigned int> ;
|
|
NodeAnimBitMap node_anim_chain_bits;
|
|
NodeAnimBitMap node_anim_chain_bits;
|
|
|
|
|
|
|
|
+ // number of nodes with the same name
|
|
|
|
+ using NodeAnimNameMap = std::unordered_map<std::string, unsigned int>;
|
|
|
|
+ NodeAnimNameMap mNodeNameInstances;
|
|
|
|
+
|
|
|
|
+ using NodeNameCache = std::unordered_set<std::string>;
|
|
NodeNameCache mNodeNames;
|
|
NodeNameCache mNodeNames;
|
|
|
|
+
|
|
double anim_fps;
|
|
double anim_fps;
|
|
|
|
|
|
aiScene* const out;
|
|
aiScene* const out;
|