9#include <Alembic/AbcGeom/Visibility.h>
16using Alembic::Abc::OObject;
17using Alembic::Abc::TimeSamplingPtr;
21 frame_has_been_written_(
false),
23 timesample_index_(args_.abc_archive->time_sampling_index_shapes())
66 if (id_properties ==
nullptr || id_properties->
len == 0) {
70 custom_props_ = std::make_unique<CustomPropertiesExporter>(
this);
75 Object *
object = context.object;
76 if (object->data ==
nullptr) {
81 return static_cast<ID *
>(
object->data)->properties;
127 abc_visibility_.set(is_visible ? Alembic::AbcGeom::kVisibilityVisible :
128 Alembic::AbcGeom::kVisibilityHidden);
General operations, lookup, etc. for blender objects.
void BKE_boundbox_init_from_minmax(BoundBox *bb, const float min[3], const float max[3])
std::optional< blender::Bounds< blender::float3 > > BKE_object_boundbox_get(const Object *ob)
#define CLOG_WARN(clg_ref,...)
virtual bool check_is_animated(const HierarchyContext &context) const
void write_visibility(const HierarchyContext &context)
ABCAbstractWriter(const ABCWriterConstructorArgs &args)
virtual void do_write(HierarchyContext &context)=0
uint32_t timesample_index() const
uint32_t timesample_index_
bool frame_has_been_written_
virtual const IDProperty * get_id_properties(const HierarchyContext &context) const
std::unique_ptr< CustomPropertiesExporter > custom_props_
virtual void ensure_custom_properties_exporter(const HierarchyContext &context)
virtual void write(HierarchyContext &context) override
Imath::Box3d bounding_box_
const ABCWriterConstructorArgs args_
virtual bool is_supported(const HierarchyContext *context) const
virtual Alembic::Abc::OObject get_alembic_object() const =0
virtual void update_bounding_box(Object *object)
Alembic::Abc::OCharProperty abc_visibility_
const Imath::Box3d & bounding_box() const
enum eEvaluationMode evaluation_mode
bool export_custom_properties
const AlembicExportParams * export_params