Blender
V4.3
source
blender
blenlib
intern
generic_virtual_vector_array.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#include "
BLI_generic_virtual_vector_array.hh
"
6
7
namespace
blender
{
8
9
void
GVArray_For_GVVectorArrayIndex::get
(
const
int64_t
index_in_vector,
void
*r_value)
const
10
{
11
vector_array_.get_vector_element(index_, index_in_vector, r_value);
12
}
13
14
void
GVArray_For_GVVectorArrayIndex::get_to_uninitialized
(
const
int64_t
index_in_vector,
15
void
*r_value)
const
16
{
17
type_
->default_construct(r_value);
18
vector_array_.get_vector_element(index_, index_in_vector, r_value);
19
}
20
21
int64_t
GVVectorArray_For_SingleGVArray::get_vector_size_impl
(
const
int64_t
/*index*/
)
const
22
{
23
return
varray_.size();
24
}
25
26
void
GVVectorArray_For_SingleGVArray::get_vector_element_impl
(
const
int64_t
/*index*/
,
27
const
int64_t
index_in_vector,
28
void
*r_value)
const
29
{
30
varray_.get(index_in_vector, r_value);
31
}
32
33
bool
GVVectorArray_For_SingleGVArray::is_single_vector_impl
()
const
34
{
35
return
true
;
36
}
37
38
int64_t
GVVectorArray_For_SingleGSpan::get_vector_size_impl
(
const
int64_t
/*index*/
)
const
39
{
40
return
span_.size();
41
}
42
43
void
GVVectorArray_For_SingleGSpan::get_vector_element_impl
(
const
int64_t
/*index*/
,
44
const
int64_t
index_in_vector,
45
void
*r_value)
const
46
{
47
type_
->copy_assign(span_[index_in_vector], r_value);
48
}
49
50
bool
GVVectorArray_For_SingleGSpan::is_single_vector_impl
()
const
51
{
52
return
true
;
53
}
54
55
}
// namespace blender
BLI_generic_virtual_vector_array.hh
blender::GVArrayImpl::type_
const CPPType * type_
Definition
BLI_generic_virtual_array.hh:33
blender::GVArray_For_GVVectorArrayIndex::get
void get(int64_t index_in_vector, void *r_value) const override
Definition
generic_virtual_vector_array.cc:9
blender::GVArray_For_GVVectorArrayIndex::get_to_uninitialized
void get_to_uninitialized(int64_t index_in_vector, void *r_value) const override
Definition
generic_virtual_vector_array.cc:14
blender::GVVectorArray_For_SingleGSpan::is_single_vector_impl
bool is_single_vector_impl() const override
Definition
generic_virtual_vector_array.cc:50
blender::GVVectorArray_For_SingleGSpan::get_vector_size_impl
int64_t get_vector_size_impl(int64_t) const override
Definition
generic_virtual_vector_array.cc:38
blender::GVVectorArray_For_SingleGSpan::get_vector_element_impl
void get_vector_element_impl(int64_t, int64_t index_in_vector, void *r_value) const override
Definition
generic_virtual_vector_array.cc:43
blender::GVVectorArray_For_SingleGVArray::get_vector_size_impl
int64_t get_vector_size_impl(int64_t index) const override
Definition
generic_virtual_vector_array.cc:21
blender::GVVectorArray_For_SingleGVArray::get_vector_element_impl
void get_vector_element_impl(int64_t index, int64_t index_in_vector, void *r_value) const override
Definition
generic_virtual_vector_array.cc:26
blender::GVVectorArray_For_SingleGVArray::is_single_vector_impl
bool is_single_vector_impl() const override
Definition
generic_virtual_vector_array.cc:33
blender::GVVectorArray::type_
const CPPType * type_
Definition
BLI_generic_virtual_vector_array.hh:22
blender
Definition
ANIM_action.hh:36
int64_t
__int64 int64_t
Definition
stdint.h:89
Generated on Sat Oct 4 2025 05:32:23 for Blender by
doxygen
1.14.0