Differential D15982 Diff 57721 source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_vertices.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_vertices.cc
| Show First 20 Lines • Show All 77 Lines • ▼ Show 20 Lines | std::optional<eAttrDomain> preferred_domain(const Mesh & /*mesh*/) const override | ||||
| return ATTR_DOMAIN_EDGE; | return ATTR_DOMAIN_EDGE; | ||||
| } | } | ||||
| }; | }; | ||||
| static VArray<float3> construct_edge_positions_gvarray(const Mesh &mesh, | static VArray<float3> construct_edge_positions_gvarray(const Mesh &mesh, | ||||
| const VertNumber vertex, | const VertNumber vertex, | ||||
| const eAttrDomain domain) | const eAttrDomain domain) | ||||
| { | { | ||||
| const Span<MVert> verts = mesh.verts(); | const Span<float3> positions = mesh.positions(); | ||||
| const Span<MEdge> edges = mesh.edges(); | const Span<MEdge> edges = mesh.edges(); | ||||
| if (vertex == VertNumber::V1) { | if (vertex == VertNumber::V1) { | ||||
| return mesh.attributes().adapt_domain<float3>( | return mesh.attributes().adapt_domain<float3>( | ||||
| VArray<float3>::ForFunc(edges.size(), | VArray<float3>::ForFunc( | ||||
| [verts, edges](const int i) { return verts[edges[i].v1].co; }), | edges.size(), [positions, edges](const int i) { return positions[edges[i].v1]; }), | ||||
| ATTR_DOMAIN_EDGE, | ATTR_DOMAIN_EDGE, | ||||
| domain); | domain); | ||||
| } | } | ||||
| return mesh.attributes().adapt_domain<float3>( | return mesh.attributes().adapt_domain<float3>( | ||||
| VArray<float3>::ForFunc(edges.size(), | VArray<float3>::ForFunc(edges.size(), | ||||
| [verts, edges](const int i) { return verts[edges[i].v2].co; }), | [positions, edges](const int i) { return positions[edges[i].v2]; }), | ||||
| ATTR_DOMAIN_EDGE, | ATTR_DOMAIN_EDGE, | ||||
| domain); | domain); | ||||
| } | } | ||||
| class EdgePositionFieldInput final : public bke::MeshFieldInput { | class EdgePositionFieldInput final : public bke::MeshFieldInput { | ||||
| private: | private: | ||||
| VertNumber vertex_; | VertNumber vertex_; | ||||
| ▲ Show 20 Lines • Show All 59 Lines • Show Last 20 Lines | |||||