69 bool use_custom_normals;
77 std::map<std::string, std::string> mesh_geom_map;
78 std::map<COLLADAFW::UniqueId, Mesh *> uid_mesh_map;
79 std::map<COLLADAFW::UniqueId, Object *> uid_object_map;
80 std::vector<Object *> imported_objects;
87 int *material_indices;
90 typedef std::map<COLLADAFW::MaterialId, std::vector<Primitive>> MaterialIdPrimitiveArrayMap;
92 std::map<COLLADAFW::UniqueId, MaterialIdPrimitiveArrayMap> geom_uid_mat_mapping_map;
95 std::multimap<COLLADAFW::UniqueId, COLLADAFW::UniqueId> materials_mapped_to_geom;
97 bool set_poly_indices(
int *face_verts,
int loop_index,
const uint *indices,
int loop_count);
102 COLLADAFW::IndexList &index_list,
108 COLLADAFW::IndexList &index_list,
112 void print_index_list(COLLADAFW::IndexList &index_list);
119 bool is_nice_mesh(COLLADAFW::Mesh *mesh);
121 void read_vertices(COLLADAFW::Mesh *mesh,
Mesh *blender_mesh);
129 bool primitive_has_useable_normals(COLLADAFW::MeshPrimitive *mp);
134 bool primitive_has_faces(COLLADAFW::MeshPrimitive *mp);
143 static void mesh_add_edges(
Mesh *mesh,
int len);
145 uint get_loose_edge_count(COLLADAFW::Mesh *mesh);
153 void allocate_poly_data(COLLADAFW::Mesh *collada_mesh,
Mesh *mesh);
163 void read_polys(COLLADAFW::Mesh *mesh,
172 void read_lines(COLLADAFW::Mesh *mesh,
Mesh *blender_mesh);
173 uint get_vertex_count(COLLADAFW::Polygons *mp,
int index);
175 void get_vector(
float v[3], COLLADAFW::MeshVertexData &arr,
int i,
int stride);
177 bool is_flat_face(
uint *nind, COLLADAFW::MeshVertexData &
nor,
int count);
184 std::vector<Object *> get_all_users_of(
Mesh *reference_mesh);
188 bool use_custom_normals,
226 std::map<COLLADAFW::UniqueId, Material *> &uid_material_map,
228 const COLLADAFW::UniqueId *geom_uid,
232 COLLADAFW::InstanceGeometry *geom,
234 std::map<COLLADAFW::UniqueId, Material *> &uid_material_map);
void assign_material_to_geom(COLLADAFW::MaterialBinding cmaterial, std::map< COLLADAFW::UniqueId, Material * > &uid_material_map, Object *ob, const COLLADAFW::UniqueId *geom_uid, short mat_index)
MeshImporter(UnitConverter *unitconv, bool use_custom_normals, ArmatureImporter *arm, Main *bmain, Scene *sce, ViewLayer *view_layer)