18 .
description(
N_(
"The index of the each vertex's island. Indices are based on the "
19 "lowest vertex index contained in each island"));
41 if (
mesh ==
nullptr) {
57 return mesh_component.
attributes()->adapt_domain<
int>(
89 if (
mesh ==
nullptr) {
101 island_list.
add(root);
122 if (
params.output_is_required(
"Island Index")) {
123 Field<int> field{std::make_shared<IslandFieldInput>()};
124 params.set_output(
"Island Index", std::move(field));
126 if (
params.output_is_required(
"Island Count")) {
127 Field<int> field{std::make_shared<IslandCountFieldInput>()};
128 params.set_output(
"Island Count", std::move(field));
@ GEO_COMPONENT_TYPE_MESH
#define GEO_NODE_INPUT_MESH_ISLAND
void nodeRegisterType(struct bNodeType *ntype)
static uint8 component(Color32 c, uint i)
int attribute_domain_size(eAttrDomain domain) const
const Mesh * get_for_read() const
std::optional< blender::bke::AttributeAccessor > attributes() const final
int64_t find_root(int64_t x)
void join(int64_t x, int64_t y)
static VArray ForContainer(ContainerT container)
static VArray ForSingle(T value, const int64_t size)
int64_t index_of_or_add(const Key &key)
StringRefNull description() const
ccl_global KernelShaderEvalInput ccl_global float * output
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
void geo_node_type_base(bNodeType *ntype, int type, const char *name, short nclass)
unsigned __int64 uint64_t
NodeGeometryExecFunction geometry_node_execute
NodeDeclareFunction declare