Blender V4.3
usd_reader_curve.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later
4 * Adapted from the Blender Alembic importer implementation. Copyright 2016 Kévin Dietrich.
5 * Modifications Copyright 2021 Tangent Animation. All rights reserved. */
6#pragma once
7
8#include "usd.hh"
9#include "usd_reader_geom.hh"
10
11#include <pxr/usd/usdGeom/basisCurves.h>
12
13struct Curves;
14namespace blender::bke {
15struct GeometrySet;
16class CurvesGeometry;
17} // namespace blender::bke
18
19namespace blender::io::usd {
20
22 protected:
23 pxr::UsdGeomBasisCurves curve_prim_;
25
26 public:
27 USDCurvesReader(const pxr::UsdPrim &prim,
28 const USDImportParams &import_params,
29 const ImportSettings &settings)
30 : USDGeomReader(prim, import_params, settings), curve_prim_(prim), curve_(nullptr)
31 {
32 }
33
34 bool valid() const override
35 {
36 return bool(curve_prim_);
37 }
38
39 void create_object(Main *bmain, double motionSampleTime) override;
40 void read_object_data(Main *bmain, double motionSampleTime) override;
41
42 void read_curve_sample(Curves *curves_id, double motionSampleTime);
43
44 void read_geometry(bke::GeometrySet &geometry_set,
46 const char **r_err_str) override;
47
48 void read_custom_data(bke::CurvesGeometry &curves, const double motionSampleTime) const;
49};
50
51} // namespace blender::io::usd
void read_geometry(bke::GeometrySet &geometry_set, USDMeshReadParams params, const char **r_err_str) override
pxr::UsdGeomBasisCurves curve_prim_
void read_custom_data(bke::CurvesGeometry &curves, const double motionSampleTime) const
void read_object_data(Main *bmain, double motionSampleTime) override
USDCurvesReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
void read_curve_sample(Curves *curves_id, double motionSampleTime)
void create_object(Main *bmain, double motionSampleTime) override
const pxr::UsdPrim & prim() const
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]