diff --git a/PCLVisualizer.lua b/PCLVisualizer.lua index f3fd8f9..96b6e1c 100644 --- a/PCLVisualizer.lua +++ b/PCLVisualizer.lua @@ -28,8 +28,11 @@ local function init() 'updatePointCloudPose', 'updateShapePose', 'removeAllPointClouds', + 'removePointCloud', 'removeAllShapes', + 'removeShape', 'removeAllCoordinateSystems', + 'removeCoordinateSystem', 'addText1', 'addText2', 'addText3', @@ -186,14 +189,26 @@ function PCLVisualizer:removeAllPointClouds(viewport) return self.f.removeAllPointClouds(self.o, viewport or 0) end +function PCLVisualizer:removePointCloud(id, viewport) + return self.f.removePointCloud(self.o, id or 'cloud', viewport or 0) +end + function PCLVisualizer:removeAllShapes(viewport) return self.f.removeAllShapes(self.o, viewport or 0) end +function PCLVisualizer:removeShape(id, viewport) + return self.f.removeShape(self.o, id or 'cloud', viewport or 0) +end + function PCLVisualizer:removeAllCoordinateSystems(viewport) return self.f.removeAllCoordinateSystems(self.o, viewport or 0) end +function PCLVisualizer:removeCoordinateSystem(id, viewport) + return self.f.removeCoordinateSystem(self.o, id or "reference", viewport or 0) +end + function PCLVisualizer:addText1(text, xpos, ypos, id, viewport) return self.f.addText1(self.o, text, xpos, ypos, id or 'text', viewport or 0) end diff --git a/PointTypes.lua b/PointTypes.lua index fcc9b57..f14fe87 100644 --- a/PointTypes.lua +++ b/PointTypes.lua @@ -529,8 +529,11 @@ void pcl_PCLVisualizer_setBackgroundColor(PCLVisualizer *self, double r, double bool pcl_PCLVisualizer_updatePointCloudPose(PCLVisualizer *self, const char *id, THFloatTensor *transform); bool pcl_PCLVisualizer_updateShapePose(PCLVisualizer *self, const char *id, THFloatTensor *transform); bool pcl_PCLVisualizer_removeAllPointClouds(PCLVisualizer *self, int viewport); +bool pcl_PCLVisualizer_removePointCloud(PCLVisualizer *self, const char *id, int viewport); bool pcl_PCLVisualizer_removeAllShapes(PCLVisualizer *self, int viewport); +bool pcl_PCLVisualizer_removeShape(PCLVisualizer *self, const char *id, int viewport); bool pcl_PCLVisualizer_removeAllCoordinateSystems(PCLVisualizer *self, int viewport); +bool pcl_PCLVisualizer_removeCoordinateSystem(PCLVisualizer *self, const char *id, int viewport); bool pcl_PCLVisualizer_addText1(PCLVisualizer *self, const char *text, int xpos, int ypos, const char *id, int viewport); bool pcl_PCLVisualizer_addText2(PCLVisualizer *self, const char *text, int xpos, int ypos, double r, double g, double b, const char *id, int viewport); bool pcl_PCLVisualizer_addText3(PCLVisualizer *self, const char *text, int xpos, int ypos, int fontsize, double r, double g, double b, const char *id, int viewport); diff --git a/src/visualizer.cpp b/src/visualizer.cpp index 06d3dc5..33677df 100644 --- a/src/visualizer.cpp +++ b/src/visualizer.cpp @@ -86,16 +86,31 @@ PCLIMP(bool, PCLVisualizer, removeAllPointClouds)(PCLVisualizer_ptr *self, int v return (*self)->removeAllPointClouds(viewport); } +PCLIMP(bool, PCLVisualizer, removePointCloud)(PCLVisualizer_ptr *self, const char *id = "cloud", int viewport = 0) +{ + return (*self)->removePointCloud(id, viewport); +} + PCLIMP(bool, PCLVisualizer, removeAllShapes)(PCLVisualizer_ptr *self, int viewport = 0) { return (*self)->removeAllShapes(viewport); } +PCLIMP(bool, PCLVisualizer, removeShape)(PCLVisualizer_ptr *self, const char *id = "cloud", int viewport = 0) +{ + return (*self)->removeShape(id, viewport); +} + PCLIMP(bool, PCLVisualizer, removeAllCoordinateSystems)(PCLVisualizer_ptr *self, int viewport = 0) { return (*self)->removeAllCoordinateSystems(viewport); } +PCLIMP(bool, PCLVisualizer, removeCoordinateSystem)(PCLVisualizer_ptr *self, const char *id = "reference", int viewport = 0) +{ + return (*self)->removeCoordinateSystem(id, viewport); +} + PCLIMP(bool, PCLVisualizer, addText1)(PCLVisualizer_ptr *self, const char *text, int xpos, int ypos, const char *id = "", int viewport = 0) { return (*self)->addText(text, xpos, ypos, id, viewport);