Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2021-09-25 10:30:12 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2021-09-25 10:31:00 +0300
commit505422220d6e172fddc8a40fabee47f5d35e0c7d (patch)
tree4e877ff42f81bc482fe19fcf9156db850180431b /source/blender/io
parent43394e41a8e0a866631bc7fdf07ac50e9d7094e4 (diff)
Cleanup: use override/final for derived classes.
This will help detecting missing API changes. Those keywords were added on classes which did not already use them. Also added missing `accepts_object_type()` on NURBS reader.
Diffstat (limited to 'source/blender/io')
-rw-r--r--source/blender/io/alembic/intern/abc_reader_camera.h8
-rw-r--r--source/blender/io/alembic/intern/abc_reader_curves.h10
-rw-r--r--source/blender/io/alembic/intern/abc_reader_mesh.h12
-rw-r--r--source/blender/io/alembic/intern/abc_reader_nurbs.cc20
-rw-r--r--source/blender/io/alembic/intern/abc_reader_nurbs.h10
-rw-r--r--source/blender/io/alembic/intern/abc_reader_points.h10
-rw-r--r--source/blender/io/alembic/intern/abc_reader_transform.h8
7 files changed, 51 insertions, 27 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_camera.h b/source/blender/io/alembic/intern/abc_reader_camera.h
index 408e9623970..ca8dee80c9d 100644
--- a/source/blender/io/alembic/intern/abc_reader_camera.h
+++ b/source/blender/io/alembic/intern/abc_reader_camera.h
@@ -23,18 +23,18 @@
namespace blender::io::alembic {
-class AbcCameraReader : public AbcObjectReader {
+class AbcCameraReader final : public AbcObjectReader {
Alembic::AbcGeom::ICameraSchema m_schema;
public:
AbcCameraReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
const Object *const ob,
- const char **err_str) const;
+ const char **err_str) const override;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
};
} // namespace blender::io::alembic
diff --git a/source/blender/io/alembic/intern/abc_reader_curves.h b/source/blender/io/alembic/intern/abc_reader_curves.h
index 11b23c8a8cf..df5d68d7850 100644
--- a/source/blender/io/alembic/intern/abc_reader_curves.h
+++ b/source/blender/io/alembic/intern/abc_reader_curves.h
@@ -31,24 +31,24 @@ struct Curve;
namespace blender::io::alembic {
-class AbcCurveReader : public AbcObjectReader {
+class AbcCurveReader final : public AbcObjectReader {
Alembic::AbcGeom::ICurvesSchema m_curves_schema;
public:
AbcCurveReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
const Object *const ob,
- const char **err_str) const;
+ const char **err_str) const override;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
struct Mesh *read_mesh(struct Mesh *existing_mesh,
const Alembic::Abc::ISampleSelector &sample_sel,
const int read_flag,
const char *velocity_name,
const float velocity_scale,
- const char **err_str);
+ const char **err_str) override;
void read_curve_sample(Curve *cu,
const Alembic::AbcGeom::ICurvesSchema &schema,
diff --git a/source/blender/io/alembic/intern/abc_reader_mesh.h b/source/blender/io/alembic/intern/abc_reader_mesh.h
index d9f89cc8085..2e34ca8ded0 100644
--- a/source/blender/io/alembic/intern/abc_reader_mesh.h
+++ b/source/blender/io/alembic/intern/abc_reader_mesh.h
@@ -26,7 +26,7 @@ struct Mesh;
namespace blender::io::alembic {
-class AbcMeshReader : public AbcObjectReader {
+class AbcMeshReader final : public AbcObjectReader {
Alembic::AbcGeom::IPolyMeshSchema m_schema;
CDStreamConfig m_mesh_data;
@@ -60,7 +60,7 @@ class AbcMeshReader : public AbcObjectReader {
std::map<std::string, int> &r_mat_map);
};
-class AbcSubDReader : public AbcObjectReader {
+class AbcSubDReader final : public AbcObjectReader {
Alembic::AbcGeom::ISubDSchema m_schema;
CDStreamConfig m_mesh_data;
@@ -68,17 +68,17 @@ class AbcSubDReader : public AbcObjectReader {
public:
AbcSubDReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
const Object *const ob,
- const char **err_str) const;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ const char **err_str) const override;
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
struct Mesh *read_mesh(struct Mesh *existing_mesh,
const Alembic::Abc::ISampleSelector &sample_sel,
const int read_flag,
const char *velocity_name,
const float velocity_scale,
- const char **err_str);
+ const char **err_str) override;
};
void read_mverts(MVert *mverts,
diff --git a/source/blender/io/alembic/intern/abc_reader_nurbs.cc b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
index 25567aa8c24..4492d1e1ca0 100644
--- a/source/blender/io/alembic/intern/abc_reader_nurbs.cc
+++ b/source/blender/io/alembic/intern/abc_reader_nurbs.cc
@@ -71,6 +71,26 @@ bool AbcNurbsReader::valid() const
return true;
}
+bool AbcNurbsReader::accepts_object_type(
+ const Alembic::AbcCoreAbstract::v12::ObjectHeader &alembic_header,
+ const Object *const ob,
+ const char **err_str) const
+{
+ if (!Alembic::AbcGeom::INuPatch::matches(alembic_header)) {
+ *err_str =
+ "Object type mismatch, Alembic object path pointed to NURBS when importing, but not any "
+ "more.";
+ return false;
+ }
+
+ if (ob->type != OB_CURVE) {
+ *err_str = "Object type mismatch, Alembic object path points to NURBS.";
+ return false;
+ }
+
+ return true;
+}
+
static bool set_knots(const FloatArraySamplePtr &knots, float *&nu_knots)
{
if (!knots || knots->size() < 2) {
diff --git a/source/blender/io/alembic/intern/abc_reader_nurbs.h b/source/blender/io/alembic/intern/abc_reader_nurbs.h
index e8be2efba9f..66e68cf6942 100644
--- a/source/blender/io/alembic/intern/abc_reader_nurbs.h
+++ b/source/blender/io/alembic/intern/abc_reader_nurbs.h
@@ -23,15 +23,19 @@
namespace blender::io::alembic {
-class AbcNurbsReader : public AbcObjectReader {
+class AbcNurbsReader final : public AbcObjectReader {
std::vector<std::pair<Alembic::AbcGeom::INuPatchSchema, Alembic::Abc::IObject>> m_schemas;
public:
AbcNurbsReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
+ const Object *const ob,
+ const char **err_str) const override;
+
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
private:
void getNurbsPatches(const Alembic::Abc::IObject &obj);
diff --git a/source/blender/io/alembic/intern/abc_reader_points.h b/source/blender/io/alembic/intern/abc_reader_points.h
index a66b8a829ec..105d1276f7a 100644
--- a/source/blender/io/alembic/intern/abc_reader_points.h
+++ b/source/blender/io/alembic/intern/abc_reader_points.h
@@ -27,26 +27,26 @@
namespace blender::io::alembic {
-class AbcPointsReader : public AbcObjectReader {
+class AbcPointsReader final : public AbcObjectReader {
Alembic::AbcGeom::IPointsSchema m_schema;
Alembic::AbcGeom::IPointsSchema::Sample m_sample;
public:
AbcPointsReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
const Object *const ob,
- const char **err_str) const;
+ const char **err_str) const override;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
struct Mesh *read_mesh(struct Mesh *existing_mesh,
const Alembic::Abc::ISampleSelector &sample_sel,
int read_flag,
const char *velocity_name,
const float velocity_scale,
- const char **err_str);
+ const char **err_str) override;
};
void read_points_sample(const Alembic::AbcGeom::IPointsSchema &schema,
diff --git a/source/blender/io/alembic/intern/abc_reader_transform.h b/source/blender/io/alembic/intern/abc_reader_transform.h
index e515560912f..6810cc214b7 100644
--- a/source/blender/io/alembic/intern/abc_reader_transform.h
+++ b/source/blender/io/alembic/intern/abc_reader_transform.h
@@ -25,18 +25,18 @@
namespace blender::io::alembic {
-class AbcEmptyReader : public AbcObjectReader {
+class AbcEmptyReader final : public AbcObjectReader {
Alembic::AbcGeom::IXformSchema m_schema;
public:
AbcEmptyReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
- bool valid() const;
+ bool valid() const override;
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
const Object *const ob,
- const char **err_str) const;
+ const char **err_str) const override;
- void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel);
+ void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
};
} // namespace blender::io::alembic