|
Blender V5.0
|
#include <usd_writer_abstract.hh>
Inherits blender::io::AbstractHierarchyWriter.
Inherited by blender::io::usd::USDArmatureWriter, blender::io::usd::USDCameraWriter, blender::io::usd::USDCurvesWriter, blender::io::usd::USDGenericMeshWriter, blender::io::usd::USDHairWriter, blender::io::usd::USDLightWriter, blender::io::usd::USDPointInstancerWriter, blender::io::usd::USDPointsWriter, blender::io::usd::USDTransformWriter, and blender::io::usd::USDVolumeWriter.
Public Member Functions | |
| USDAbstractWriter (const USDExporterContext &usd_export_context) | |
| void | write (HierarchyContext &context) override |
| virtual bool | is_supported (const HierarchyContext *context) const |
| const pxr::SdfPath & | usd_path () const |
| ReportList * | reports () const |
| Public Member Functions inherited from blender::io::AbstractHierarchyWriter | |
| virtual | ~AbstractHierarchyWriter ()=default |
Protected Member Functions | |
| virtual void | do_write (HierarchyContext &context)=0 |
| std::string | get_export_file_path () const |
| pxr::UsdTimeCode | get_export_time_code () const |
| pxr::SdfPath | get_material_library_path () const |
| pxr::SdfPath | get_proto_material_root_path (const HierarchyContext &context) const |
| pxr::UsdShadeMaterial | ensure_usd_material_created (const HierarchyContext &context, Material *material) const |
| pxr::UsdShadeMaterial | ensure_usd_material (const HierarchyContext &context, Material *material) const |
| void | write_id_properties (const pxr::UsdPrim &prim, const ID &id, pxr::UsdTimeCode=pxr::UsdTimeCode::Default()) const |
| void | write_user_properties (const pxr::UsdPrim &prim, IDProperty *properties, pxr::UsdTimeCode=pxr::UsdTimeCode::Default()) const |
| void | write_visibility (const HierarchyContext &context, const pxr::UsdTimeCode time, const pxr::UsdGeomImageable &usd_geometry) |
| virtual bool | mark_as_instance (const HierarchyContext &context, const pxr::UsdPrim &prim) |
| void | author_extent (const pxr::UsdGeomBoundable &boundable, const pxr::UsdTimeCode time) |
| void | author_extent (const pxr::UsdGeomBoundable &boundable, const std::optional< Bounds< float3 > > &bounds, const pxr::UsdTimeCode time) |
| Protected Member Functions inherited from blender::io::AbstractHierarchyWriter | |
| virtual bool | check_is_animated (const HierarchyContext &context) const |
Protected Attributes | |
| const USDExporterContext | usd_export_context_ |
| pxr::UsdUtilsSparseValueWriter | usd_value_writer_ |
| bool | frame_has_been_written_ |
| bool | is_animated_ |
Additional Inherited Members | |
| Static Protected Member Functions inherited from blender::io::AbstractHierarchyWriter | |
| static bool | check_has_physics (const HierarchyContext &context) |
| static bool | check_has_deforming_physics (const HierarchyContext &context) |
Definition at line 33 of file usd_writer_abstract.hh.
| blender::io::usd::USDAbstractWriter::USDAbstractWriter | ( | const USDExporterContext & | usd_export_context | ) |
Definition at line 145 of file usd_writer_abstract.cc.
References false, frame_has_been_written_, is_animated_, and usd_export_context_.
Referenced by blender::io::usd::USDArmatureWriter::USDArmatureWriter(), blender::io::usd::USDCameraWriter::USDCameraWriter(), blender::io::usd::USDCurvesWriter::USDCurvesWriter(), blender::io::usd::USDGenericMeshWriter::USDGenericMeshWriter(), blender::io::usd::USDHairWriter::USDHairWriter(), blender::io::usd::USDLightWriter::USDLightWriter(), blender::io::usd::USDPointInstancerWriter::USDPointInstancerWriter(), blender::io::usd::USDPointsWriter::USDPointsWriter(), blender::io::usd::USDTransformWriter::USDTransformWriter(), and blender::io::usd::USDVolumeWriter::USDVolumeWriter().
|
protected |
Compute the bounds for a boundable prim, and author the result as the extent attribute.
Although this method works for any boundable prim, it is preferred to use Blender's own cached bounds when possible.
This method does not author the extentsHint attribute, which is also important to provide. Whereas the extent attribute can only be authored on prims inheriting from UsdGeomBoundable, an extentsHint can be provided on any prim, including scopes. This extentsHint should be authored on every prim in a hierarchy being exported.
Note that this hint is only useful when importing or inspecting layers, and should not be taken into account when computing extents during export.
TODO: also provide method for authoring extentsHint on every prim in a hierarchy.
Definition at line 451 of file usd_writer_abstract.cc.
References blender::io::usd::set_attribute(), and usd_value_writer_.
Referenced by blender::io::usd::USDCurvesWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDPointsWriter::do_write(), and blender::io::usd::USDVolumeWriter::do_write().
|
protected |
Author the extent attribute for a boundable prim given the Blender bounds.
Definition at line 469 of file usd_writer_abstract.cc.
References blender::io::usd::set_attribute(), and usd_value_writer_.
|
protectedpure virtual |
Implemented in blender::io::usd::USDArmatureWriter, blender::io::usd::USDCameraWriter, blender::io::usd::USDCurvesWriter, blender::io::usd::USDGenericMeshWriter, blender::io::usd::USDHairWriter, blender::io::usd::USDLightWriter, blender::io::usd::USDMeshWriter, blender::io::usd::USDPointInstancerWriter, blender::io::usd::USDPointsWriter, blender::io::usd::USDTransformWriter, and blender::io::usd::USDVolumeWriter.
Referenced by write().
|
protected |
Definition at line 243 of file usd_writer_abstract.cc.
References CLOG_WARN, ensure_usd_material_created(), get_proto_material_root_path(), LOG, usd_export_context_, and usd_path().
Referenced by blender::io::usd::USDCurvesWriter::assign_materials().
|
protected |
Definition at line 216 of file usd_writer_abstract.cc.
References blender::io::usd::create_usd_material(), get_export_time_code(), get_material_library_path(), get_mesh_active_uvlayer_name(), Material::id, blender::io::usd::make_safe_name(), ID::name, reports(), usd_export_context_, usd_path(), and write_id_properties().
Referenced by ensure_usd_material().
|
protected |
Definition at line 155 of file usd_writer_abstract.cc.
References usd_export_context_.
|
protected |
Definition at line 160 of file usd_writer_abstract.cc.
References BLI_assert, is_animated_, and usd_export_context_.
Referenced by blender::io::usd::USDMeshWriter::add_shape_key_weights_sample(), blender::io::usd::USDArmatureWriter::do_write(), blender::io::usd::USDCameraWriter::do_write(), blender::io::usd::USDCurvesWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::io::usd::USDPointsWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), blender::io::usd::USDVolumeWriter::do_write(), ensure_usd_material_created(), and blender::io::usd::USDTransformWriter::set_xform_ops().
|
protected |
Definition at line 192 of file usd_writer_abstract.cc.
References usd_export_context_.
Referenced by ensure_usd_material_created().
|
protected |
Definition at line 205 of file usd_writer_abstract.cc.
References usd_export_context_.
Referenced by ensure_usd_material().
|
virtual |
Returns true if the data to be written is actually supported. This would, for example, allow a hypothetical camera writer accept a perspective camera but reject an orthogonal one.
Returning false from a transform writer will prevent the object and all its descendants from being exported. Returning false from a data writer (object data, hair, or particles) will only prevent that data from being written (and thus cause the object to be exported as an Empty).
Reimplemented in blender::io::usd::USDCameraWriter, blender::io::usd::USDGenericMeshWriter, blender::io::usd::USDLightWriter, and blender::io::usd::USDMetaballWriter.
Definition at line 150 of file usd_writer_abstract.cc.
Referenced by blender::io::usd::USDHierarchyIterator::create_data_writer().
|
protectedvirtual |
Turn prim into an instance referencing context.original_export_path. Return true when the instancing was successful, false otherwise.
Reference the original data instead of writing a copy.
Definition at line 293 of file usd_writer_abstract.cc.
References BLI_assert, BLI_assert_msg, CLOG_ERROR, CLOG_WARN, LOG, and usd_export_context_.
Referenced by blender::io::usd::USDTransformWriter::do_write().
|
inline |
Get the wmJobWorkerStatus-provided reports list pointer, to use with the BKE_report API.
Definition at line 60 of file usd_writer_abstract.hh.
References usd_export_context_.
Referenced by blender::io::usd::USDCurvesWriter::do_write(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::io::usd::USDVolumeWriter::do_write(), and ensure_usd_material_created().
| const pxr::SdfPath & blender::io::usd::USDAbstractWriter::usd_path | ( | ) | const |
Definition at line 187 of file usd_writer_abstract.cc.
References usd_export_context_.
Referenced by blender::io::usd::USDHierarchyIterator::create_data_writer(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::io::usd::USDPointsWriter::do_write(), ensure_usd_material(), and ensure_usd_material_created().
|
overridevirtual |
Implements blender::io::AbstractHierarchyWriter.
Definition at line 171 of file usd_writer_abstract.cc.
References blender::io::AbstractHierarchyWriter::check_is_animated(), do_write(), frame_has_been_written_, is_animated_, and usd_export_context_.
|
protected |
Definition at line 332 of file usd_writer_abstract.cc.
References usdtokens::blender_ns(), GS, ID_OB, name, String, usd_export_context_, and write_user_properties().
Referenced by blender::io::usd::USDCameraWriter::do_write(), blender::io::usd::USDCurvesWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), and ensure_usd_material_created().
|
protected |
Definition at line 361 of file usd_writer_abstract.cc.
References blender::io::usd::create_vector_attrib(), IDProperty::data, ListBase::first, IDPropertyData::group, IDP_ARRAY, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_GROUP, IDP_INT, IDP_STRING, blender::io::usd::make_safe_name(), name, IDProperty::type, and usd_export_context_.
Referenced by write_id_properties().
|
protected |
Definition at line 279 of file usd_writer_abstract.cc.
References usd_export_context_, and usd_value_writer_.
|
protected |
Definition at line 38 of file usd_writer_abstract.hh.
Referenced by blender::io::usd::USDArmatureWriter::do_write(), blender::io::usd::USDMeshWriter::do_write(), USDAbstractWriter(), and write().
|
protected |
Definition at line 39 of file usd_writer_abstract.hh.
Referenced by blender::io::usd::USDTransformWriter::do_write(), get_export_time_code(), USDAbstractWriter(), and write().
|
protected |
Definition at line 35 of file usd_writer_abstract.hh.
Referenced by blender::io::usd::USDMeshWriter::add_shape_key_weights_sample(), blender::io::usd::USDTransformWriter::create_xformable(), blender::io::usd::USDArmatureWriter::do_write(), blender::io::usd::USDCameraWriter::do_write(), blender::io::usd::USDCurvesWriter::do_write(), blender::io::usd::USDGenericMeshWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::io::usd::USDPointsWriter::do_write(), blender::io::usd::USDTransformWriter::do_write(), blender::io::usd::USDVolumeWriter::do_write(), ensure_usd_material(), ensure_usd_material_created(), get_export_file_path(), blender::io::usd::USDMetaballWriter::get_export_mesh(), blender::io::usd::USDTextWriter::get_export_mesh(), get_export_time_code(), get_material_library_path(), get_proto_material_root_path(), blender::io::usd::USDMeshWriter::init_blend_shapes(), blender::io::usd::USDMeshWriter::init_skinned_mesh(), blender::io::usd::USDGenericMeshWriter::is_supported(), blender::io::usd::USDMetaballWriter::is_supported(), mark_as_instance(), reports(), blender::io::usd::USDMeshWriter::set_skel_export_flags(), blender::io::usd::USDTransformWriter::set_xform_ops(), blender::io::usd::USDTransformWriter::should_apply_root_xform(), usd_path(), USDAbstractWriter(), write(), write_id_properties(), write_user_properties(), and write_visibility().
|
protected |
Definition at line 36 of file usd_writer_abstract.hh.
Referenced by author_extent(), author_extent(), blender::io::usd::USDArmatureWriter::do_write(), blender::io::usd::USDCameraWriter::do_write(), blender::io::usd::USDHairWriter::do_write(), blender::io::usd::USDLightWriter::do_write(), blender::io::usd::USDPointInstancerWriter::do_write(), blender::io::usd::USDPointsWriter::do_write(), blender::io::usd::USDVolumeWriter::do_write(), blender::io::usd::USDTransformWriter::set_xform_ops(), and write_visibility().