ViewExtract::Ptr ViewSampleExtractor::extract( cv::Rect& rct) const { const PointCloud::Ptr vpc = view_->points; // Ensure rectangle falls within organised point cloud dimensions const cv::Rect pcRect(0,0, vpc->cols(), vpc->rows()); rct &= pcRect; // Set intersection ViewExtract::Ptr ve( new ViewExtract( vpc, rct)); ve->setModelName( modelName_); ve->setPartName( partName_); ve->setAspectInfo( aspectInfo_); ve->setPosVec( view_->posVec); ve->setDirVec( view_->focalVec); ve->setUpVec( view_->upVec); return ve; } // end extract