Blender
V3.3
|
#include <BLI_generic_virtual_array.hh>
#GVArray | |
GVArray (const GVArray &other) | |
GVArray (GVArray &&other) noexcept | |
GVArray (const GVArrayImpl *impl) | |
GVArray (std::shared_ptr< const GVArrayImpl > impl) | |
GVArray (varray_tag::single, const CPPType &type, int64_t size, const void *value) | |
GVArray | slice (IndexRange slice) const |
GVArray & | operator= (const GVArray &other) |
GVArray & | operator= (GVArray &&other) noexcept |
static GVArray | ForSingle (const CPPType &type, int64_t size, const void *value) |
static GVArray | ForSingleRef (const CPPType &type, int64_t size, const void *value) |
static GVArray | ForSingleDefault (const CPPType &type, int64_t size) |
static GVArray | ForSpan (GSpan span) |
static GVArray | ForGArray (GArray<> array) |
static GVArray | ForEmpty (const CPPType &type) |
Inline methods for #GVArray. | |
GVArray (varray_tag::span, GSpan span) | |
GVArray (varray_tag::single_ref, const CPPType &type, int64_t size, const void *value) | |
template<typename T > | |
GVArray (const VArray< T > &varray) | |
template<typename T > | |
VArray< T > | typed () const |
template<typename ImplT , typename... Args> | |
static GVArray | For (Args &&...args) |
Additional Inherited Members | |
![]() | |
using | Storage = Any< detail::GVArrayAnyExtraInfo, 40, 8 > |
![]() | |
GVArrayCommon ()=default | |
GVArrayCommon (const GVArrayCommon &other) | |
GVArrayCommon (GVArrayCommon &&other) noexcept | |
GVArrayCommon (const GVArrayImpl *impl) | |
GVArrayCommon (std::shared_ptr< const GVArrayImpl > impl) | |
~GVArrayCommon () | |
void | copy_from (const GVArrayCommon &other) |
void | move_from (GVArrayCommon &&other) noexcept |
const GVArrayImpl * | impl_from_storage () const |
template<typename ImplT , typename... Args> | |
void | emplace (Args &&...args) |
![]() | |
const GVArrayImpl * | impl_ = nullptr |
Storage | storage_ |
Generic version of #VArray.
Definition at line 176 of file BLI_generic_virtual_array.hh.
|
default |
Referenced by ForSingle(), ForSingleRef(), and ForSpan().
|
default |
|
defaultnoexcept |
blender::GVArray::GVArray | ( | const GVArrayImpl * | impl | ) |
Definition at line 653 of file generic_virtual_array.cc.
blender::GVArray::GVArray | ( | std::shared_ptr< const GVArrayImpl > | impl | ) |
Definition at line 657 of file generic_virtual_array.cc.
|
inline |
Definition at line 801 of file BLI_generic_virtual_array.hh.
References blender::GSpan::data(), blender::GSpan::size(), and blender::GSpan::type().
|
inline |
Definition at line 809 of file BLI_generic_virtual_array.hh.
References blender::GVArrayCommon::size(), and blender::GVArrayCommon::type().
blender::GVArray::GVArray | ( | varray_tag::single | , |
const CPPType & | type, | ||
int64_t | size, | ||
const void * | value | ||
) |
Definition at line 661 of file generic_virtual_array.cc.
References blender::CPPType::alignment(), blender::CPPType::is_trivial(), blender::CPPType::size(), blender::GVArrayCommon::size(), and blender::GVArrayCommon::type().
Definition at line 849 of file BLI_generic_virtual_array.hh.
References blender::VArrayCommon< T >::common_info(), blender::CommonVArrayInfo::data, ForSingle(), ForSpan(), blender::CommonVArrayInfo::may_have_ownership, blender::CommonVArrayInfo::Single, blender::VArrayCommon< T >::size(), blender::CommonVArrayInfo::Span, blender::VArrayCommon< T >::try_assign_GVArray(), and blender::CommonVArrayInfo::type.
|
inlinestatic |
Definition at line 841 of file BLI_generic_virtual_array.hh.
Definition at line 710 of file generic_virtual_array.cc.
References ForSpan(), and blender::GVArrayCommon::type().
Referenced by blender::fn::evaluate_fields().
Definition at line 705 of file generic_virtual_array.cc.
Referenced by blender::nodes::node_geo_interpolate_domain_cc::InterpolateDomain::get_varray_for_context().
|
static |
Definition at line 674 of file generic_virtual_array.cc.
References GVArray(), blender::GVArrayCommon::size(), and blender::GVArrayCommon::type().
Referenced by blender::bke::CustomDataAttributes::get_for_read(), GVArray(), blender::bke::AttributeAccessor::lookup_or_default(), and slice().
Definition at line 684 of file generic_virtual_array.cc.
References blender::CPPType::default_value(), ForSingleRef(), blender::GVArrayCommon::size(), and blender::GVArrayCommon::type().
Referenced by blender::fn::get_field_context_inputs().
|
static |
Definition at line 679 of file generic_virtual_array.cc.
References GVArray(), blender::GVArrayCommon::size(), and blender::GVArrayCommon::type().
Referenced by blender::fn::evaluate_fields(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_multi_function_node__value(), ForSingleDefault(), and blender::bke::AttributeAccessor::lookup_or_default().
Definition at line 689 of file generic_virtual_array.cc.
References GVArray().
Referenced by blender::fn::evaluate_fields(), blender::GVectorArray::extend(), ForEmpty(), blender::ed::spreadsheet::ExtraColumns::get_column_values(), blender::bke::CustomDataAttributes::get_for_read(), GVArray(), slice(), blender::bke::BuiltinPointAttributeProvider< T >::try_get_for_read(), blender::bke::CustomDataAttributeProvider::try_get_for_read(), blender::bke::DynamicPointAttributeProvider::try_get_for_read(), and blender::bke::varray_from_initializer().
|
inline |
Definition at line 209 of file BLI_generic_virtual_array.hh.
References blender::GVArrayCommon::impl_.
Definition at line 729 of file generic_virtual_array.cc.
References blender::GVArrayCommon::copy_from().
Definition at line 735 of file generic_virtual_array.cc.
GVArray blender::GVArray::slice | ( | IndexRange | slice | ) | const |
Definition at line 715 of file generic_virtual_array.cc.
References blender::GVArrayCommon::common_info(), blender::CommonVArrayInfo::data, ForSingle(), ForSpan(), blender::CommonVArrayInfo::may_have_ownership, blender::CommonVArrayInfo::Single, blender::IndexRange::size(), blender::GSpan::slice(), blender::CommonVArrayInfo::Span, blender::GVArrayCommon::type(), and blender::CommonVArrayInfo::type.
Referenced by blender::fn::MultiFunction::call_auto().
Definition at line 871 of file BLI_generic_virtual_array.hh.
References BLI_assert, blender::GVArrayCommon::common_info(), blender::CommonVArrayInfo::data, blender::VArray< T >::ForSingle(), blender::VArray< T >::ForSpan(), blender::GVArrayCommon::impl_, blender::CPPType::is(), blender::CommonVArrayInfo::may_have_ownership, blender::CommonVArrayInfo::Single, blender::CommonVArrayInfo::Span, T, blender::GVArrayCommon::try_assign_VArray(), blender::GVArrayImpl::type(), and blender::CommonVArrayInfo::type.
Referenced by blender::bke::AttributeAccessor::adapt_domain(), blender::bke::CurvesGeometry::adapt_domain(), blender::ed::spreadsheet::apply_row_filter(), blender::nodes::node_geo_transfer_attribute_cc::NearestTransferFunction::call(), blender::nodes::node_geo_transfer_attribute_cc::IndexTransferFunction::call(), blender::nodes::node_geo_duplicate_elements_cc::copy_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_curve_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_edge_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_face_attributes_without_id(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_curves(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_edges(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_faces(), blender::nodes::node_geo_duplicate_elements_cc::copy_stable_id_point(), blender::fn::FieldEvaluator::get_evaluated(), blender::fn::FieldEvaluator::get_evaluated_as_mask(), blender::bke::CustomDataAttributes::get_for_read(), blender::nodes::node_geo_field_at_index_cc::FieldAtIndex::get_varray_for_context(), Spline::interpolate_to_evaluated(), blender::fn::MFParams::readonly_single_input(), blender::bke::mesh_surface_sample::sample_corner_attribute(), blender::bke::mesh_surface_sample::sample_face_attribute(), blender::bke::mesh_surface_sample::sample_point_attribute(), blender::nodes::node_geo_dual_mesh_cc::transfer_attributes(), and blender::bke::GAttributeReader::typed().