Changeset View
Changeset View
Standalone View
Standalone View
source/blender/geometry/intern/mesh_to_curve_convert.cc
| Show All 32 Lines | static Curves *create_curve_from_vert_indices(const MeshComponent &mesh_component, | ||||
| const Span<int> vert_indices, | const Span<int> vert_indices, | ||||
| const Span<int> curve_offsets, | const Span<int> curve_offsets, | ||||
| const IndexRange cyclic_curves) | const IndexRange cyclic_curves) | ||||
| { | { | ||||
| Curves *curves_id = bke::curves_new_nomain(vert_indices.size(), curve_offsets.size()); | Curves *curves_id = bke::curves_new_nomain(vert_indices.size(), curve_offsets.size()); | ||||
| bke::CurvesGeometry &curves = bke::CurvesGeometry::wrap(curves_id->geometry); | bke::CurvesGeometry &curves = bke::CurvesGeometry::wrap(curves_id->geometry); | ||||
| curves.offsets_for_write().drop_back(1).copy_from(curve_offsets); | curves.offsets_for_write().drop_back(1).copy_from(curve_offsets); | ||||
| curves.offsets_for_write().last() = vert_indices.size(); | curves.offsets_for_write().last() = vert_indices.size(); | ||||
| curves.curve_types_for_write().fill(CURVE_TYPE_POLY); | curves.fill_curve_types(CURVE_TYPE_POLY); | ||||
| curves.cyclic_for_write().fill(false); | curves.cyclic_for_write().fill(false); | ||||
| curves.cyclic_for_write().slice(cyclic_curves).fill(true); | curves.cyclic_for_write().slice(cyclic_curves).fill(true); | ||||
| Set<bke::AttributeIDRef> source_attribute_ids = mesh_component.attribute_ids(); | Set<bke::AttributeIDRef> source_attribute_ids = mesh_component.attribute_ids(); | ||||
| CurveComponent curves_component; | CurveComponent curves_component; | ||||
| curves_component.replace(curves_id, GeometryOwnershipType::Editable); | curves_component.replace(curves_id, GeometryOwnershipType::Editable); | ||||
| ▲ Show 20 Lines • Show All 187 Lines • Show Last 20 Lines | |||||