Blender
V4.3
source
blender
draw
intern
draw_handle.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2022 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
5
#pragma once
6
22
#include "
draw_shader_shared.hh
"
23
24
struct
Object
;
25
struct
DupliObject
;
26
27
namespace
blender::draw
{
28
29
struct
ResourceHandle
{
30
uint
raw
;
31
32
ResourceHandle
() =
default
;
33
ResourceHandle
(
uint
raw_) :
raw
(raw_){};
34
ResourceHandle
(
uint
index,
bool
inverted_handedness)
35
{
36
raw
= index;
37
SET_FLAG_FROM_TEST
(
raw
, inverted_handedness, 0x80000000u);
38
}
39
40
bool
has_inverted_handedness
()
const
41
{
42
return
(
raw
& 0x80000000u) != 0;
43
}
44
45
uint
resource_index
()
const
46
{
47
return
(
raw
& 0x7FFFFFFFu);
48
}
49
};
50
51
/* TODO(fclem): Move to somewhere more appropriated after cleaning up the header dependencies. */
52
struct
ObjectRef
{
53
Object
*
object
;
55
DupliObject
*
dupli_object
;
57
Object
*
dupli_parent
;
59
ResourceHandle
handle
;
60
};
61
62
};
// namespace blender::draw
uint
unsigned int uint
Definition
BLI_sys_types.h:68
SET_FLAG_FROM_TEST
#define SET_FLAG_FROM_TEST(value, test, flag)
Definition
BLI_utildefines.h:564
draw_shader_shared.hh
blender::draw
Definition
DRW_engine.hh:178
DupliObject
Definition
BKE_duplilist.hh:39
Object
Definition
DNA_object_types.h:193
blender::draw::ObjectRef
Definition
draw_handle.hh:52
blender::draw::ObjectRef::dupli_parent
Object * dupli_parent
Definition
draw_handle.hh:57
blender::draw::ObjectRef::object
Object * object
Definition
draw_handle.hh:53
blender::draw::ObjectRef::dupli_object
DupliObject * dupli_object
Definition
draw_handle.hh:55
blender::draw::ObjectRef::handle
ResourceHandle handle
Definition
draw_handle.hh:59
blender::draw::ResourceHandle
Definition
draw_handle.hh:29
blender::draw::ResourceHandle::has_inverted_handedness
bool has_inverted_handedness() const
Definition
draw_handle.hh:40
blender::draw::ResourceHandle::resource_index
uint resource_index() const
Definition
draw_handle.hh:45
blender::draw::ResourceHandle::ResourceHandle
ResourceHandle(uint raw_)
Definition
draw_handle.hh:33
blender::draw::ResourceHandle::ResourceHandle
ResourceHandle(uint index, bool inverted_handedness)
Definition
draw_handle.hh:34
blender::draw::ResourceHandle::raw
uint raw
Definition
draw_handle.hh:30
blender::draw::ResourceHandle::ResourceHandle
ResourceHandle()=default
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0