PeriDyno 1.0.0
Loading...
Searching...
No Matches
GltfFunc.h File Reference
#include "Array/Array.h"
#include "Topology/TriangleSet.h"
#include "Matrix.h"
#include "Vector.h"
#include "Primitive/Primitive3D.h"
#include "Topology/TextureMesh.h"
#include "tinygltf/tiny_gltf.h"
#include "FilePath.h"
#include "SkinInfo.h"
Include dependency graph for GltfFunc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  dyno
 This is an implementation of AdditiveCCD based on peridyno.
 

Macros

#define NULL_TIME   (-9599.99)
 

Typedefs

typedef unsigned char dyno::byte
 
typedef int dyno::joint
 
typedef int dyno::scene
 

Functions

void dyno::getBoundingBoxByName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, TAlignedBox3D< Real > &bound, Transform3f &transform)
 
void dyno::getVec3fByAttributeName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec3f > &vertices)
 
void dyno::getVec4ByAttributeName (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec4f > &vec4Data)
 
void dyno::getRealByIndex (tinygltf::Model &model, int index, std::vector< Real > &result)
 
void dyno::getVec3fByIndex (tinygltf::Model &model, int index, std::vector< Vec3f > &result)
 
void dyno::getQuatByIndex (tinygltf::Model &model, int index, std::vector< Quat< float > > &result)
 
void dyno::getTriangles (tinygltf::Model &model, const tinygltf::Primitive &primitive, std::vector< TopologyModule::Triangle > &triangles, int pointOffest)
 
std::string dyno::getTexUri (const std::vector< tinygltf::Texture > &textures, const std::vector< tinygltf::Image > &images, int index)
 
void dyno::getVertexBindJoint (tinygltf::Model &model, const tinygltf::Primitive &primitive, const std::string &attributeName, std::vector< Vec4f > &vec4Data, const std::vector< int > &skinJoints)
 
void dyno::getNodesAndHierarchy (tinygltf::Model &model, std::map< scene, std::vector< int > > Scene_JointsNodesId, std::vector< joint > &all_Nodes, std::map< joint, std::vector< int > > &id_Dir)
 
void dyno::traverseNode (tinygltf::Model &model, joint id, std::vector< joint > &joint_nodes, std::map< joint, std::vector< int > > &dir, std::vector< joint > currentDir)
 
void dyno::getJointsTransformData (const std::vector< int > &all_Joints, std::vector< std::vector< int > > &joint_child, std::map< int, Quat< float > > &joint_rotation, std::map< int, Vec3f > &joint_scale, std::map< int, Vec3f > &joint_translation, std::map< int, Mat4f > &joint_matrix, tinygltf::Model model)
 
void dyno::importAnimation (tinygltf::Model model, std::map< joint, Vec3i > &joint_output, std::map< joint, Vec3f > &joint_input, std::map< joint, std::vector< Vec3f > > &joint_T_f_anim, std::map< joint, std::vector< Real > > &joint_T_Time, std::map< joint, std::vector< Vec3f > > &joint_S_f_anim, std::map< joint, std::vector< Real > > &joint_S_Time, std::map< joint, std::vector< Quat< float > > > &joint_R_f_anim, std::map< joint, std::vector< Real > > &joint_R_Time)
 
void dyno::buildInverseBindMatrices (const std::vector< joint > &all_Joints, std::map< joint, Mat4f > &joint_matrix, int &maxJointId, tinygltf::Model &model, std::map< joint, Quat< float > > &joint_rotation, std::map< joint, Vec3f > &joint_translation, std::map< joint, Vec3f > &joint_scale, std::map< joint, Mat4f > &joint_inverseBindMatrix, std::map< joint, std::vector< int > > jointId_joint_Dir)
 
void dyno::updateJoint_Mesh_Camera_Dir (tinygltf::Model &model, int &jointNum, int &meshNum, std::map< joint, std::vector< int > > &jointId_joint_Dir, std::vector< joint > &all_Joints, std::vector< int > &all_Nodes, std::map< joint, std::vector< int > > nodeId_Dir, std::map< int, std::vector< int > > &meshId_Dir, std::vector< int > &all_Meshs, int &maxJointId)
 
std::vector< int > dyno::getJointDirByJointIndex (int Index, std::map< joint, std::vector< int > > jointId_joint_Dir)
 
void dyno::getMeshMatrix (tinygltf::Model &model, const std::vector< int > &all_MeshNodeIDs, int &maxMeshId, CArray< Mat4f > &mesh_Matrix)
 
template<typename Vec3f, typename Vec4f, typename Mat4f, typename Vec2u>
void dyno::skinAnimation (DArray< Vec3f > &intialPosition, DArray< Vec3f > &worldPosition, DArray< Mat4f > &joint_inverseBindMatrix, DArray< Mat4f > &WorldMatrix, DArray< Vec4f > &bind_joints_0, DArray< Vec4f > &bind_joints_1, DArray< Vec4f > &weights_0, DArray< Vec4f > &weights_1, Mat4f transform, bool isNormal, Vec2u range)
 
void dyno::loadGLTFTextureMesh (std::shared_ptr< TextureMesh > texMesh, const std::string &filepath)
 
void dyno::loadGLTFMaterial (tinygltf::Model &model, std::shared_ptr< TextureMesh > texMesh, FilePath filename)
 
void dyno::loadGLTFShape (tinygltf::Model &model, std::shared_ptr< TextureMesh > texMesh, const std::string &filepath, DArray< Vec3f > *initialPosition=nullptr, DArray< Vec3f > *initialNormal=nullptr, DArray< Mat4f > *d_mesh_Matrix=nullptr, DArray< int > *d_shape_meshId=nullptr, std::shared_ptr< SkinInfo > skinData=nullptr)
 
template<typename Triangle>
void dyno::updateVertexIdShape (DArray< Triangle > &triangle, DArray< uint > &ID_shapeId, int &shapeId, int size)
 
template<typename Mat4f, typename Vec3f>
void dyno::shapeTransform (DArray< Vec3f > &intialPosition, DArray< Vec3f > &worldPosition, DArray< Vec3f > &intialNormal, DArray< Vec3f > &Normal, DArray< Mat4f > &WorldMatrix, DArray< uint > &vertexId_shape, DArray< int > &shapeId_MeshId)
 
template<typename Vec3f>
void dyno::setupPoints (DArray< Vec3f > &newPos, DArray< Vec3f > &pos, DArray< int > &radix)
 
template<typename uint>
void dyno::Shape_PointCounter (DArray< int > &counter, DArray< uint > &point_ShapeIds, uint &target)
 
template<typename Vec3f, typename uint>
void dyno::shapeToCenter (DArray< Vec3f > &iniPos, DArray< Vec3f > &finalPos, DArray< uint > &shapeId, DArray< Vec3f > &t)
 

Macro Definition Documentation

◆ NULL_TIME

#define NULL_TIME   (-9599.99)

Definition at line 13 of file GltfFunc.h.