51 Object export_object_eval_;
52 Mesh *export_mesh_eval_;
56 bool mesh_eval_needs_free_ =
false;
61 float world_and_axes_transform_[4][4];
62 float world_and_axes_normal_transform_[3][3];
63 bool mirrored_transform_;
68 int tot_uv_vertices_ = 0;
89 int tot_normal_indices_ = 0;
97 int *poly_smooth_groups_ =
nullptr;
122 return mirrored_transform_;
199 return normal_coords_;
241 return i < 0 || i >= poly_order_.
size() ? i : poly_order_[i];
246 return export_mesh_eval_;
253 void free_mesh_if_needed();
260 std::pair<Mesh *, bool> triangulate_mesh_eval();
struct Depsgraph Depsgraph
Object is a sort of wrapper for general info.
void BM_mesh_free(BMesh *bm)
BMesh Free Mesh.
const char * get_object_mesh_name() const
const char * get_object_name() const
const Vector< float2 > & get_uv_coords() const
int tot_normal_indices() const
int tot_deform_groups() const
int ith_smooth_group(int poly_index) const
int16_t tot_materials() const
void calc_smooth_groups(bool use_bitflags)
Span< int > calc_poly_uv_indices(int poly_index) const
const char * get_poly_deform_group_name(int16_t def_group_index) const
bool is_mirrored_transform() const
float3 calc_vertex_coords(int vert_index, float scaling_factor) const
int tot_uv_vertices() const
const Material * get_object_material(int16_t mat_nr) const
int16_t get_poly_deform_group_index(int poly_index, MutableSpan< float > group_weights) const
void ensure_mesh_normals() const
void store_uv_coords_and_indices()
float3 calc_poly_normal(int poly_index) const
int16_t ith_poly_matnr(int poly_index) const
void store_normal_coords_and_indices()
void ensure_mesh_edges() const
const Vector< float3 > & get_normal_coords() const
int remap_poly_index(int i) const
const char * get_object_material_name(int16_t mat_nr) const
Vector< int > calc_poly_vertex_indices(int poly_index) const
std::optional< std::array< int, 2 > > calc_loose_edge_vert_indices(int edge_index) const
Vector< int > calc_poly_normal_indices(int poly_index) const
bool is_ith_poly_smooth(int poly_index) const
OBJMesh(Depsgraph *depsgraph, const OBJExportParams &export_params, Object *mesh_object)
const Depsgraph * depsgraph
std::unique_ptr< BMesh, CustomBMeshDeleter > unique_bmesh_ptr
void operator()(BMesh *bmesh)