31 std::string object_name_;
33 const Mesh *export_mesh_;
35 Mesh *owned_export_mesh_ =
nullptr;
46 float3x3 world_and_axes_normal_transform_;
47 bool mirrored_transform_;
65 int *face_smooth_groups_ =
nullptr;
91 return mirrored_transform_;
121 return world_and_axes_transform_;
129 return mesh_corner_verts_.
slice(mesh_faces_[face_index]);
144 if (uv_coords_.is_empty()) {
148 return corner_to_uv_index_.as_span().slice(mesh_faces_[face_index]);
159 return normal_coords_;
168 if (corner_to_normal_index_.is_empty()) {
171 const IndexRange face = mesh_faces_[face_index];
172 return corner_to_normal_index_.as_span().
slice(face);
214 void set_mesh(
Mesh *mesh);
219 void triangulate_mesh_eval();
223 void set_world_axes_transform(
const Object &obj_eval,
227 bool apply_transform);
Object is a sort of wrapper for general info.
BPy_StructRNA * depsgraph
constexpr Span slice(int64_t start, int64_t size) const
constexpr IndexRange slice(int64_t start, int64_t size) const
NonCopyable(const NonCopyable &other)=delete
const char * get_face_deform_group_name(int16_t def_group_index) const
int16_t get_face_deform_group_index(int face_index, MutableSpan< float > group_weights) const
bool is_ith_face_smooth(int face_index) const
int tot_deform_groups() const
int16_t tot_materials() const
void calc_smooth_groups(bool use_bitflags)
StringRef get_object_mesh_name() const
Span< int > get_face_uv_indices(const int face_index) const
bool is_mirrored_transform() const
int remap_face_index(int i) const
int tot_uv_vertices() const
Array< const Material * > materials
Span< float3 > get_normal_coords() const
void store_uv_coords_and_indices()
const float4x4 & get_world_axes_transform() const
void store_normal_coords_and_indices()
StringRef get_object_name() const
Span< int > get_face_normal_indices(const int face_index) const
Span< int > calc_face_vert_indices(const int face_index) const
Span< float2 > get_uv_coords() const
OBJMesh(Depsgraph *depsgraph, const OBJExportParams &export_params, Object *mesh_object)
int ith_smooth_group(int face_index) const
const Mesh * get_mesh() const
MatBase< float, 4, 4 > float4x4
MatBase< float, 3, 3 > float3x3