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");
34 if (domain == AttrDomain::Edge) {
49 :
bke::MeshFieldInput(
CPPType::get<int>(),
"Edge Vertices Field"), vertex_(vertex)
63 return vertex_ ==
VertNumber::V1 ? 23847562893465 : 92384598734567;
69 return vertex_ == other_field->vertex_;
76 return AttrDomain::Edge;
90 edges.
size(), [positions, edges](
const int i) { return positions[edges[i][0]]; }),
96 edges.
size(), [positions, edges](
const int i) { return positions[edges[i][1]]; }),
107 :
bke::MeshFieldInput(
CPPType::get<
float3>(),
"Edge Position Field"), vertex_(vertex)
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));
158 ntype.
ui_name =
"Edge Vertices";
159 ntype.
ui_description =
"Retrieve topology information relating to each edge of a mesh";
#define GEO_NODE_INPUT_MESH_EDGE_VERTICES
#define NOD_REGISTER_NODE(REGISTER_FUNC)
unsigned long long int uint64_t
constexpr int64_t size() const
static VArray from_func(const int64_t size, GetFunc get_func)
void node_register_type(bNodeType &ntype)
VecBase< float, 3 > float3
void geo_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
std::string ui_description
NodeGeometryExecFunction geometry_node_execute
const char * enum_name_legacy
NodeDeclareFunction declare