15 .
description(
"The index of the first vertex in the edge");
18 .
description(
"The index of the second vertex in the edge");
21 .
description(
"The position of the first vertex in the edge");
24 .
description(
"The position of the second vertex in the edge");
31 const AttrDomain domain)
34 if (domain == AttrDomain::Edge) {
49 : bke::MeshFieldInput(
CPPType::get<
int>(),
"Edge Vertices Field"), vertex_(vertex)
55 const AttrDomain domain,
63 return vertex_ ==
VertNumber::V1 ? 23847562893465 : 92384598734567;
69 return vertex_ == other_field->vertex_;
76 return AttrDomain::Edge;
82 const AttrDomain domain)
88 return mesh.attributes().adapt_domain<
float3>(
90 edges.size(), [positions, edges](
const int i) { return positions[edges[i][0]]; }),
94 return mesh.attributes().adapt_domain<
float3>(
96 [positions, edges](
const int i) { return positions[edges[i][1]]; }),
107 : bke::MeshFieldInput(
CPPType::get<
float3>(),
"Edge Position Field"), vertex_(vertex)
113 const AttrDomain domain,
129 return vertex_ == other_field->vertex_;
136 return AttrDomain::Edge;
147 params.set_output(
"Vertex Index 1", std::move(vertex_field_1));
148 params.set_output(
"Vertex Index 2", std::move(vertex_field_2));
149 params.set_output(
"Position 1", std::move(position_field_1));
150 params.set_output(
"Position 2", std::move(position_field_2));
#define NOD_REGISTER_NODE(REGISTER_FUNC)
static VArray ForFunc(const int64_t size, GetFunc get_func)
local_group_size(16, 16) .push_constant(Type b
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void node_register_type(bNodeType *ntype)
void geo_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
unsigned __int64 uint64_t
NodeGeometryExecFunction geometry_node_execute
NodeDeclareFunction declare