Skip to content

Commit 315aa66

Browse files
committed
Fix ccPolyline ctor keep_alive policy
1 parent 319982f commit 315aa66

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

script_examples/crop2d.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
polyline.addPointIndex(0, vertices.size())
2424

2525
# To see the crop area
26-
# CC.addToDB(vertices)
26+
# CC.addToDB(polyline)
27+
2728

2829
cropped_ref = pc_to_crop.crop2D(polyline, 2, True)
2930
if cropped_ref is None:
@@ -34,3 +35,4 @@
3435
CC.addToDB(cropped)
3536
else:
3637
print("No points fall in crop area")
38+

wrapper/pycc/src/qcc_db/ccPolyline.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@ void define_ccPolyline(py::module &m)
3636
unsigned uniqueID = ccUniqueIDGenerator::InvalidUniqueID)
3737
{ return new ccPolyline(cloud, uniqueID); }),
3838
"associatedCloud"_a,
39-
"uniqueID"_a = []() { return ccUniqueIDGenerator::InvalidUniqueID; }())
39+
"uniqueID"_a = []() { return ccUniqueIDGenerator::InvalidUniqueID; }(),
40+
py::keep_alive<1, 2>() // Keep cloud alive while polyline is
41+
)
4042

4143
.def("set2DMode", &ccPolyline::set2DMode, "state"_a)
4244
.def("is2DMode", &ccPolyline::is2DMode)

0 commit comments

Comments
 (0)