Blender V4.3
abc_reader_curves.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2016 Kévin Dietrich. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
10#include "abc_reader_object.h"
11
12#include <Alembic/AbcGeom/ICurves.h>
13
14struct Curves;
15
16#define ABC_CURVE_RESOLUTION_U_PROPNAME "blender:resolution"
17
18namespace blender::io::alembic {
19
20class AbcCurveReader final : public AbcObjectReader {
21 Alembic::AbcGeom::ICurvesSchema m_curves_schema;
22
23 public:
24 AbcCurveReader(const Alembic::Abc::IObject &object, ImportSettings &settings);
25
26 bool valid() const override;
27 bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header,
28 const Object *const ob,
29 const char **r_err_str) const override;
30
31 void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override;
32
33 void read_geometry(bke::GeometrySet &geometry_set,
34 const Alembic::Abc::ISampleSelector &sample_sel,
35 int read_flag,
36 const char *velocity_name,
37 float velocity_scale,
38 const char **r_err_str) override;
39
40 void read_curves_sample(Curves *curves_id,
41 const Alembic::AbcGeom::ICurvesSchema &schema,
42 const Alembic::Abc::ISampleSelector &sample_selector);
43};
44
45} // namespace blender::io::alembic
void readObjectData(Main *bmain, const Alembic::Abc::ISampleSelector &sample_sel) override
void read_geometry(bke::GeometrySet &geometry_set, const Alembic::Abc::ISampleSelector &sample_sel, int read_flag, const char *velocity_name, float velocity_scale, const char **r_err_str) override
bool accepts_object_type(const Alembic::AbcCoreAbstract::ObjectHeader &alembic_header, const Object *const ob, const char **r_err_str) const override
AbcCurveReader(const Alembic::Abc::IObject &object, ImportSettings &settings)
void read_curves_sample(Curves *curves_id, const Alembic::AbcGeom::ICurvesSchema &schema, const Alembic::Abc::ISampleSelector &sample_selector)