Example #1
0
Polytope Polytope::operator&( const Polytope &P2 )
{
    assert( this->H.cols() == P2.H.cols() );

    Eigen::MatrixXd H( this->H.rows() + P2.H.rows(), this->H.cols() );
    Eigen::VectorXd K( this->H.rows() + P2.H.rows(), 1 );

    H.topRows( this->H.rows() ) = this->H;
    K.topRows( this->H.rows() ) = this->K;
    H.bottomRows( P2.H.rows() ) = P2.H;
    K.bottomRows( P2.H.rows() ) = P2.K;

    return Polytope( H, K );
}