17 .
description(
"The corner to retrieve data from. Defaults to the corner from the context");
19 .field_source_reference_all()
21 "The edge after the corner in the face, in the direction of increasing indices");
23 .field_source_reference_all()
25 "The edge before the corner in the face, in the direction of decreasing indices");
36 const AttrDomain domain,
39 if (domain != AttrDomain::Corner) {
57 return AttrDomain::Corner;
69 const AttrDomain domain,
72 if (domain != AttrDomain::Corner) {
76 const Span<int> corner_edges = mesh.corner_edges();
77 const Span<int> corner_to_face = mesh.corner_to_face_map();
79 corner_edges.
size(), [faces, corner_edges, corner_to_face](
const int corner) {
80 return corner_edges[bke::mesh::face_corner_prev(faces[corner_to_face[corner]], corner)];
86 return 987298345762465;
96 return AttrDomain::Corner;
103 if (
params.output_is_required(
"Next Edge Index")) {
104 params.set_output(
"Next Edge Index",
105 Field<int>(std::make_shared<bke::EvaluateAtIndexInput>(
107 Field<int>(std::make_shared<CornerNextEdgeFieldInput>()),
108 AttrDomain::Corner)));
110 if (
params.output_is_required(
"Previous Edge Index")) {
111 params.set_output(
"Previous Edge Index",
112 Field<int>(std::make_shared<bke::EvaluateAtIndexInput>(
114 Field<int>(std::make_shared<CornerPreviousEdgeFieldInput>()),
115 AttrDomain::Corner)));
123 &ntype, GEO_NODE_MESH_TOPOLOGY_EDGES_OF_CORNER,
"Edges of Corner",
NODE_CLASS_INPUT);
#define NOD_REGISTER_NODE(REGISTER_FUNC)
constexpr int64_t size() const
static VArray ForSpan(Span< T > values)
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)
static void node_declare(NodeDeclarationBuilder &b)
static void node_register()
static void node_geo_exec(GeoNodeExecParams params)
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