https://github.com/HTDerekLiu/surface_multigrid_code
Revision 2a5ce10bcc87d1ae648b298a39eec2f368b24b24 authored by HTDerekLiu on 24 May 2021, 13:03:36 UTC, committed by HTDerekLiu on 24 May 2021, 13:03:36 UTC
1 parent 5d998ed
Raw File
Tip revision: 2a5ce10bcc87d1ae648b298a39eec2f368b24b24 authored by HTDerekLiu on 24 May 2021, 13:03:36 UTC
add balloon
Tip revision: 2a5ce10
remove_vector_element.cpp
#include "remove_vector_element.h"

void remove_vector_element(
  const int idxToRemove,
  Eigen::VectorXd & vec)
  {
    unsigned int numEles = vec.size() - 1;

    if( idxToRemove < numEles )
        vec.segment(idxToRemove,numEles-idxToRemove) = vec.segment(idxToRemove+1,numEles-idxToRemove);

    vec.conservativeResize(numEles);
  }

void remove_vector_element(
  const int idxToRemove,
  Eigen::VectorXi & vec)
  {
    unsigned int numEles = vec.size() - 1;

    if( idxToRemove < numEles )
        vec.segment(idxToRemove,numEles-idxToRemove) = vec.segment(idxToRemove+1,numEles-idxToRemove);

    vec.conservativeResize(numEles);
  }


// template <class M>
// void remove_vector_element(
//   const int & idxToRemove,
//   M & vec)
//   {
//     unsigned int numEles = vec.size() - 1;

//     if( idxToRemove < numEles )
//         vec.segment(idxToRemove,numEles-idxToRemove) = vec.segment(idxToRemove+1,numEles-idxToRemove);

//     vec.conservativeResize(numEles);
//   }
back to top