9 #include "pxr/usd/usdGeom/mesh.h"
17 pxr::UsdGeomMesh mesh_prim_;
19 std::unordered_map<std::string, pxr::TfToken> uv_token_map_;
20 std::map<const pxr::TfToken, bool> primvar_varying_map_;
25 pxr::VtIntArray face_indices_;
26 pxr::VtIntArray face_counts_;
27 pxr::VtVec3fArray positions_;
28 pxr::VtVec3fArray normals_;
30 pxr::TfToken normal_interpolation_;
31 pxr::TfToken orientation_;
34 bool is_time_varying_;
39 bool is_initial_load_;
46 bool valid()
const override;
52 double motionSampleTime,
54 const char **err_str)
override;
59 void process_normals_vertex_varying(
Mesh *
mesh);
60 void process_normals_face_varying(
Mesh *
mesh);
62 void process_normals_uniform(
Mesh *
mesh);
63 void readFaceSetsSample(
Main *bmain,
Mesh *
mesh,
double motionSampleTime);
64 void assign_facesets_to_mpoly(
double motionSampleTime,
67 std::map<pxr::SdfPath, int> *r_mat_map);
71 void read_colors(
Mesh *
mesh,
double motionSampleTime);
76 double motionSampleTime,
struct Mesh * read_mesh(struct Mesh *existing_mesh, double motionSampleTime, int read_flag, const char **err_str) override
void read_object_data(Main *bmain, double motionSampleTime) override
void create_object(Main *bmain, double motionSampleTime) override
bool valid() const override
USDMeshReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
bool topology_changed(const Mesh *existing_mesh, double motionSampleTime) override
const pxr::UsdPrim & prim() const
static void read_mesh_sample(const std::string &iobject_full_name, ImportSettings *settings, const IPolyMeshSchema &schema, const ISampleSelector &selector, CDStreamConfig &config)
static void read_vertex_creases(Mesh *mesh, const Int32ArraySamplePtr &indices, const FloatArraySamplePtr &sharpnesses)
static void read_mpolys(CDStreamConfig &config, const AbcMeshData &mesh_data)
static void read_uvs(const CDStreamConfig &config, void *data, const AbcUvScope uv_scope, const Alembic::AbcGeom::V2fArraySamplePtr &uvs, const UInt32ArraySamplePtr &indices)