ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
IoUtils.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 // MeshIO Copyright © 2019 Andy Maloney <asmaloney@gmail.com>
10 // SPDX-License-Identifier: BSD-3-Clause
11 
12 #include <QMap>
13 
14 #include "assimp/material.h"
15 #include "assimp/matrix4x4.h"
16 #include "assimp/mesh.h"
17 #include "assimp/metadata.h"
18 #include "assimp/scene.h"
19 #include "ecvHObjectCaster.h"
20 #include "ecvMaterialSet.h"
21 #include "ecvMesh.h"
22 #include "ecvPointCloud.h"
23 
24 namespace IoUtils {
25 ccMaterialSet *createMaterialSetForMesh(const aiMesh *inMesh,
26  const QString &inPath,
27  const aiScene *inScene);
28 
29 ccMesh *newCCMeshFromAIMesh(const aiMesh *inMesh);
30 
31 ccGLMatrix convertMatrix(const aiMatrix4x4 &inAssimpMatrix);
32 
33 QVariant convertMetaValueToVariant(aiMetadata *inData,
34  unsigned int inValueIndex);
35 } // namespace IoUtils
Float version of ccGLMatrixTpl.
Definition: ecvGLMatrix.h:19
Mesh (triangle) material.
Triangular mesh.
Definition: ecvMesh.h:35
ccMaterialSet * createMaterialSetForMesh(const aiMesh *inMesh, const QString &inPath, const aiScene *inScene)
Definition: IoUtils.cpp:122
ccMesh * newCCMeshFromAIMesh(const aiMesh *inMesh)
Definition: IoUtils.cpp:239
QVariant convertMetaValueToVariant(aiMetadata *inData, unsigned int inValueIndex)
Definition: IoUtils.cpp:440
ccGLMatrix convertMatrix(const aiMatrix4x4 &inAssimpMatrix)
Definition: IoUtils.cpp:424