Blender V4.3
blender::asset_system::AssetRepresentation Class Reference

#include <AS_asset_representation.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Public Member Functions

 AssetRepresentation (StringRef relative_asset_path, StringRef name, int id_type, std::unique_ptr< AssetMetaData > metadata, const AssetLibrary &owner_asset_library)
 AssetRepresentation (StringRef relative_asset_path, ID &id, const AssetLibrary &owner_asset_library)
 ~AssetRepresentation ()=default
AssetWeakReference make_weak_reference () const
StringRefNull get_name () const
ID_Type get_id_type () const
AssetMetaDataget_metadata () const
StringRefNull library_relative_identifier () const
std::string full_path () const
std::string full_library_path () const
std::optional< eAssetImportMethodget_import_method () const
bool may_override_import_method () const
bool get_use_relative_path () const
IDlocal_id () const
bool is_local_id () const
const AssetLibraryowner_asset_library () const

Friends

class AssetLibrary

Detailed Description

Definition at line 34 of file AS_asset_representation.hh.

Constructor & Destructor Documentation

◆ AssetRepresentation() [1/2]

blender::asset_system::AssetRepresentation::AssetRepresentation ( StringRef relative_asset_path,
StringRef name,
int id_type,
std::unique_ptr< AssetMetaData > metadata,
const AssetLibrary & owner_asset_library )

Constructs an asset representation for an external ID. The asset will not be editable.

Definition at line 23 of file asset_representation.cc.

References AssetLibrary, AssetRepresentation(), and owner_asset_library().

Referenced by AssetRepresentation().

◆ AssetRepresentation() [2/2]

blender::asset_system::AssetRepresentation::AssetRepresentation ( StringRef relative_asset_path,
ID & id,
const AssetLibrary & owner_asset_library )

Constructs an asset representation for an ID stored in the current file. This makes the asset local and fully editable.

Definition at line 34 of file asset_representation.cc.

References AssetLibrary, and owner_asset_library().

◆ ~AssetRepresentation()

blender::asset_system::AssetRepresentation::~AssetRepresentation ( )
default

References AssetLibrary.

Member Function Documentation

◆ full_library_path()

std::string blender::asset_system::AssetRepresentation::full_library_path ( ) const

Definition at line 90 of file asset_representation.cc.

References BKE_blendfile_library_path_explode(), and full_path().

Referenced by WM_drag_asset_id_import().

◆ full_path()

std::string blender::asset_system::AssetRepresentation::full_path ( ) const

Definition at line 80 of file asset_representation.cc.

References BLI_path_join, and FILE_MAX.

Referenced by full_library_path().

◆ get_id_type()

ID_Type blender::asset_system::AssetRepresentation::get_id_type ( ) const

◆ get_import_method()

std::optional< eAssetImportMethod > blender::asset_system::AssetRepresentation::get_import_method ( ) const

Get the import method to use for this asset. A different one may be used if may_override_import_method() returns true, otherwise, the returned value must be used. If there is no import method predefined for this asset no value is returned.

Definition at line 102 of file asset_representation.cc.

◆ get_metadata()

AssetMetaData & blender::asset_system::AssetRepresentation::get_metadata ( ) const

◆ get_name()

StringRefNull blender::asset_system::AssetRepresentation::get_name ( ) const

◆ get_use_relative_path()

bool blender::asset_system::AssetRepresentation::get_use_relative_path ( ) const

Definition at line 115 of file asset_representation.cc.

Referenced by WM_drag_asset_id_import().

◆ is_local_id()

bool blender::asset_system::AssetRepresentation::is_local_id ( ) const

Returns if this asset is stored inside this current file, and as such fully editable.

Definition at line 125 of file asset_representation.cc.

Referenced by local_id(), blender::asset_system::AssetLibrary::remap_ids_and_remove_invalid(), and blender::ed::asset::AssetClearHelper::reportResults().

◆ library_relative_identifier()

StringRefNull blender::asset_system::AssetRepresentation::library_relative_identifier ( ) const

Definition at line 75 of file asset_representation.cc.

◆ local_id()

ID * blender::asset_system::AssetRepresentation::local_id ( ) const

If this asset is stored inside this current file (is_local_id() is true), this returns the ID's pointer, otherwise null.

Definition at line 120 of file asset_representation.cc.

References is_local_id().

Referenced by get_id_type(), get_metadata(), get_name(), and WM_drag_add_asset_list_item().

◆ make_weak_reference()

AssetWeakReference blender::asset_system::AssetRepresentation::make_weak_reference ( ) const

Create a weak reference for this asset that can be written to files, but can break under a number of conditions. A weak reference can only be created if an asset representation is owned by an asset library.

Definition at line 46 of file asset_representation.cc.

Referenced by blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), blender::asset_system::tests::TEST_F(), and blender::asset_system::tests::TEST_F().

◆ may_override_import_method()

bool blender::asset_system::AssetRepresentation::may_override_import_method ( ) const

Returns if this asset may be imported with an import method other than the one returned by get_import_method(). Also returns true if there is no predefined import method (when get_import_method() returns no value).

Definition at line 107 of file asset_representation.cc.

◆ owner_asset_library()

const AssetLibrary & blender::asset_system::AssetRepresentation::owner_asset_library ( ) const

◆ AssetLibrary


The documentation for this class was generated from the following files: