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