Blender V5.0
abc_writer_nurbs.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4#pragma once
5
9
10#include "abc_writer_abstract.h"
11#include "abc_writer_mesh.h"
12
13#include <Alembic/AbcGeom/ONuPatch.h>
14
15#include <vector>
16
17namespace blender::io::alembic {
18
20 private:
21 std::vector<Alembic::AbcGeom::ONuPatch> abc_nurbs_;
22 std::vector<Alembic::AbcGeom::ONuPatchSchema> abc_nurbs_schemas_;
23
24 public:
25 explicit ABCNurbsWriter(const ABCWriterConstructorArgs &args);
26
27 void create_alembic_objects(const HierarchyContext *context) override;
28 Alembic::Abc::OObject get_alembic_object() const override;
29
30 protected:
31 bool is_supported(const HierarchyContext *context) const override;
32 void do_write(HierarchyContext &context) override;
33 bool check_is_animated(const HierarchyContext &context) const override;
34 Alembic::Abc::OCompoundProperty abc_prop_for_custom_props() override;
35};
36
38 public:
40
41 protected:
42 Mesh *get_export_mesh(Object *object_eval, bool &r_needsfree) override;
43};
44
45} // namespace blender::io::alembic
ABCAbstractWriter(const ABCWriterConstructorArgs &args)
ABCGenericMeshWriter(const ABCWriterConstructorArgs &args)
Mesh * get_export_mesh(Object *object_eval, bool &r_needsfree) override
ABCNurbsMeshWriter(const ABCWriterConstructorArgs &args)
bool check_is_animated(const HierarchyContext &context) const override
bool is_supported(const HierarchyContext *context) const override
void create_alembic_objects(const HierarchyContext *context) override
ABCNurbsWriter(const ABCWriterConstructorArgs &args)
void do_write(HierarchyContext &context) override
Alembic::Abc::OObject get_alembic_object() const override
Alembic::Abc::OCompoundProperty abc_prop_for_custom_props() override