|
Blender V4.3
|
#include <GeometryExporter.h>
Inherits COLLADASW::LibraryGeometries.
Public Member Functions | |
| GeometryExporter (BlenderContext &blender_context, COLLADASW::StreamWriter *sw, BCExportSettings &export_settings) | |
| void | exportGeom () |
| void | operator() (Object *ob) |
| void | createLooseEdgeList (Object *ob, Mesh *mesh, std::string &geom_id) |
| void | create_mesh_primitive_list (short material_index, bool has_uvs, bool has_color, Object *ob, Mesh *mesh, std::string &geom_id, std::vector< BCPolygonNormalsIndices > &norind) |
| void | createVertsSource (std::string geom_id, Mesh *mesh) |
| void | createVertexColorSource (std::string geom_id, Mesh *mesh) |
| std::string | makeTexcoordSourceId (std::string &geom_id, int layer_index, bool is_single_layer) |
| void | createTexcoordsSource (std::string geom_id, Mesh *mesh) |
| void | createNormalsSource (std::string geom_id, Mesh *mesh, std::vector< Normal > &nor) |
| void | create_normals (std::vector< Normal > &nor, std::vector< BCPolygonNormalsIndices > &polygons_normals, Mesh *mesh) |
| std::string | getIdBySemantics (std::string geom_id, COLLADASW::InputSemantic::Semantics type, std::string other_suffix="") |
| std::string | makeVertexColorSourceId (std::string &geom_id, const char *layer_name) |
| COLLADASW::URI | getUrlBySemantics (std::string geom_id, COLLADASW::InputSemantic::Semantics type, std::string other_suffix="") |
| COLLADASW::URI | makeUrl (std::string id) |
| void | export_key_mesh (Object *ob, Mesh *mesh, KeyBlock *kb) |
Definition at line 41 of file GeometryExporter.h.
|
inline |
Definition at line 48 of file GeometryExporter.h.
| void GeometryExporter::create_mesh_primitive_list | ( | short | material_index, |
| bool | has_uvs, | ||
| bool | has_color, | ||
| Object * | ob, | ||
| Mesh * | mesh, | ||
| std::string & | geom_id, | ||
| std::vector< BCPolygonNormalsIndices > & | norind ) |
Powerful because it handles both cases when there is material and when there's not.
Definition at line 324 of file GeometryExporter.cpp.
References bc_CustomData_get_layer_name(), BKE_object_material_get(), CD_PROP_BYTE_COLOR, CD_PROP_FLOAT2, collect_vertex_counts_per_poly(), create_primitive_list(), CustomData_get_active_layer(), CustomData_number_of_layers(), finish_and_delete_primitive_List(), get_material_id(), getUrlBySemantics(), id_name(), makeTexcoordSourceId(), makeUrl(), makeVertexColorSourceId(), prepareToAppendValues(), blender::IndexRange::size(), Object::totcol, and translate_id().
Referenced by export_key_mesh(), and operator()().
| void GeometryExporter::create_normals | ( | std::vector< Normal > & | nor, |
| std::vector< BCPolygonNormalsIndices > & | polygons_normals, | ||
| Mesh * | mesh ) |
Definition at line 617 of file GeometryExporter.cpp.
References BCPolygonNormalsIndices::add_index(), copy_v3_v3(), blender::bke::Corner, blender::bke::mesh::face_normal_calc(), blender::IndexRange::is_empty(), normalize_v3(), normalize_v3_v3(), normalized(), and blender::Span< T >::slice().
Referenced by export_key_mesh(), and operator()().
Definition at line 206 of file GeometryExporter.cpp.
References blender::bke::LooseGeomCache::count, getUrlBySemantics(), and blender::bke::LooseGeomCache::is_loose_bits.
Referenced by operator()().
| void GeometryExporter::createNormalsSource | ( | std::string | geom_id, |
| Mesh * | mesh, | ||
| std::vector< Normal > & | nor ) |
Creates <source> for normals.
Definition at line 587 of file GeometryExporter.cpp.
References bc_add_global_transform(), getIdBySemantics(), nor, Normal::x, Normal::y, and Normal::z.
Referenced by export_key_mesh(), and operator()().
| void GeometryExporter::createTexcoordsSource | ( | std::string | geom_id, |
| Mesh * | mesh ) |
Creates <source> for texture-coordinates.
Definition at line 540 of file GeometryExporter.cpp.
References CD_PROP_FLOAT2, CustomData_get_active_layer_index(), CustomData_get_layer_index_n(), CustomData_get_layer_n(), CustomData_number_of_layers(), and makeTexcoordSourceId().
Referenced by export_key_mesh(), and operator()().
| void GeometryExporter::createVertexColorSource | ( | std::string | geom_id, |
| Mesh * | mesh ) |
Definition at line 478 of file GeometryExporter.cpp.
References MLoopCol::a, MLoopCol::b, bc_CustomData_get_layer_name(), CD_PROP_BYTE_COLOR, CustomData_get_layer_n(), CustomData_number_of_layers(), MLoopCol::g, makeVertexColorSourceId(), and MLoopCol::r.
Referenced by export_key_mesh(), and operator()().
| void GeometryExporter::createVertsSource | ( | std::string | geom_id, |
| Mesh * | mesh ) |
Creates <source> for positions.
Definition at line 443 of file GeometryExporter.cpp.
References bc_add_global_transform(), copy_v3_v3(), and getIdBySemantics().
Referenced by export_key_mesh(), and operator()().
Definition at line 141 of file GeometryExporter.cpp.
References CD_MCOL, CD_PROP_FLOAT2, create_mesh_primitive_list(), create_normals(), createNormalsSource(), createTexcoordsSource(), createVertexColorSource(), createVertsSource(), CustomData_has_layer(), get_geometry_id(), getIdBySemantics(), getUrlBySemantics(), KeyBlock::name, nor, Object::totcol, translate_id(), and verts.
Referenced by operator()().
| void GeometryExporter::exportGeom | ( | ) |
Definition at line 36 of file GeometryExporter.cpp.
References GeometryFunctor::forEachMeshObjectInExportSet().
Referenced by DocumentExporter::exportCurrentScene().
| std::string GeometryExporter::getIdBySemantics | ( | std::string | geom_id, |
| COLLADASW::InputSemantic::Semantics | type, | ||
| std::string | other_suffix = "" ) |
Definition at line 687 of file GeometryExporter.cpp.
Referenced by createNormalsSource(), createVertsSource(), export_key_mesh(), getUrlBySemantics(), makeTexcoordSourceId(), makeVertexColorSourceId(), and operator()().
| COLLADASW::URI GeometryExporter::getUrlBySemantics | ( | std::string | geom_id, |
| COLLADASW::InputSemantic::Semantics | type, | ||
| std::string | other_suffix = "" ) |
Definition at line 694 of file GeometryExporter.cpp.
References getIdBySemantics().
Referenced by create_mesh_primitive_list(), createLooseEdgeList(), export_key_mesh(), and operator()().
| std::string GeometryExporter::makeTexcoordSourceId | ( | std::string & | geom_id, |
| int | layer_index, | ||
| bool | is_single_layer ) |
Definition at line 526 of file GeometryExporter.cpp.
References getIdBySemantics(), and SNPRINTF.
Referenced by create_mesh_primitive_list(), and createTexcoordsSource().
| COLLADASW::URI GeometryExporter::makeUrl | ( | std::string | id | ) |
Definition at line 703 of file GeometryExporter.cpp.
Referenced by create_mesh_primitive_list().
| std::string GeometryExporter::makeVertexColorSourceId | ( | std::string & | geom_id, |
| const char * | layer_name ) |
Definition at line 317 of file GeometryExporter.cpp.
References getIdBySemantics(), and result.
Referenced by create_mesh_primitive_list(), and createVertexColorSource().
| void GeometryExporter::operator() | ( | Object * | ob | ) |
Definition at line 48 of file GeometryExporter.cpp.
References bc_get_mesh_copy(), BKE_id_free(), BKE_key_from_object(), BKE_keyblock_convert_to_mesh(), Key::block, CD_MCOL, CD_PROP_FLOAT2, create_mesh_primitive_list(), create_normals(), createLooseEdgeList(), createNormalsSource(), createTexcoordsSource(), createVertexColorSource(), createVertsSource(), CustomData_has_layer(), Object::data, encode_xml(), export_key_mesh(), ListBase::first, get_geometry_id(), getIdBySemantics(), getUrlBySemantics(), id_name(), KeyBlock::next, nor, Object::totcol, and verts.