Differential D15982 Diff 56227 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 73 Lines • ▼ Show 20 Lines | bool is_equal_to(const fn::FieldNode &other) const override | ||||
| return false; | return false; | ||||
| } | } | ||||
| }; | }; | ||||
| static VArray<float3> construct_edge_positions_gvarray(const Mesh &mesh, | static VArray<float3> construct_edge_positions_gvarray(const Mesh &mesh, | ||||
| const VertexNumber vertex, | const VertexNumber 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 == VERTEX_ONE) { | if (vertex == VERTEX_ONE) { | ||||
| 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: | ||||
| VertexNumber vertex_; | VertexNumber vertex_; | ||||
| ▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines | |||||