14 #include <Alembic/AbcGeom/Visibility.h>
21 using Alembic::Abc::OObject;
22 using Alembic::Abc::TimeSamplingPtr;
26 frame_has_been_written_(false),
28 timesample_index_(args_.abc_archive->time_sampling_index_shapes())
71 if (id_properties ==
nullptr || id_properties->
len == 0) {
75 custom_props_ = std::make_unique<CustomPropertiesExporter>(
this);
81 if (object->
data ==
nullptr) {
86 return static_cast<ID *
>(
object->data)->properties;
130 abc_visibility_.set(is_visible ? Alembic::AbcGeom::kVisibilityVisible :
131 Alembic::AbcGeom::kVisibilityHidden);
General operations, lookup, etc. for blender objects.
const struct BoundBox * BKE_object_boundbox_get(struct 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