Blender V5.0
usd_reader_nurbs.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 Tangent Animation. All rights reserved.
2 * SPDX-FileCopyrightText: 2023 Blender Authors
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 *
6 * Adapted from the Blender Alembic importer implementation. */
7
8#pragma once
9
10#include "usd.hh"
11#include "usd_reader_curve.hh"
12#include "usd_reader_geom.hh"
13
14#include <pxr/usd/usd/prim.h>
15#include <pxr/usd/usdGeom/nurbsCurves.h>
16
17struct Curves;
18
19namespace blender::bke {
20class CurvesGeometry;
21} // namespace blender::bke
22
23namespace blender::io::usd {
24
26 private:
27 pxr::UsdGeomNurbsCurves curve_prim_;
28
29 public:
30 USDNurbsReader(const pxr::UsdPrim &prim,
31 const USDImportParams &import_params,
32 const ImportSettings &settings)
33 : USDCurvesReader(prim, import_params, settings), curve_prim_(prim)
34 {
35 }
36
37 bool valid() const override
38 {
39 return bool(curve_prim_);
40 }
41
42 void read_curve_sample(Curves *curves_id, pxr::UsdTimeCode time) override;
43 bool is_animated() const override;
44};
45
46} // namespace blender::io::usd
USDCurvesReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
USDNurbsReader(const pxr::UsdPrim &prim, const USDImportParams &import_params, const ImportSettings &settings)
void read_curve_sample(Curves *curves_id, pxr::UsdTimeCode time) override
const pxr::UsdPrim & prim() const