void Draw::drawQuadrangle(Mat &frameOut,
                                const vector<Point2f> &corners,
                                const Scalar &color,
                                const Point2f &shift,
                                const int thickness)
{
    drawQuadrangle(frameOut, corners[0],corners[1],corners[2],corners[3],color, shift, thickness);
}
Beispiel #2
0
void ViewImpl::drawCube(const VecMath::MultiDimensionalVector< VecMath::Vector< 4 >, 3 >& X,
                        unsigned int t, unsigned int u, unsigned int v,
                        const VecMath::Vector< 3 >& v0, const VecMath::Vector< 3 >& v1,
                        const VecMath::Vector< 3 >& v2, const VecMath::Vector< 3 >& v3,
                        const VecMath::Vector< 3 >& v4, const VecMath::Vector< 3 >& v5,
                        const VecMath::Vector< 3 >& v6, const VecMath::Vector< 3 >& v7) {
  if (t == 0) {
    drawQuadrangle(X[t][u][v], X[t][u][v+1], X[t][u+1][v+1], X[t][u+1][v],
                   v0, v1, v3, v2);
  }

  drawQuadrangle(X[t][u+1][v], X[t][u+1][v+1], X[t+1][u+1][v+1], X[t+1][u+1][v],
                 v2, v3, v7, v6);
  drawQuadrangle(X[t+1][u+1][v], X[t+1][u+1][v+1], X[t+1][u][v+1], X[t+1][u][v],
                 v6, v7, v5, v4);

  if (u == 0) {
    drawQuadrangle(X[t+1][u][v], X[t+1][u][v+1], X[t][u][v+1], X[t][u][v],
                   v4, v5, v1, v0);
  }

  if (v == 0) {
    drawQuadrangle(X[t][u][v], X[t][u+1][v], X[t+1][u+1][v], X[t+1][u][v],
                   v0, v2, v6, v4);
  }

  drawQuadrangle(X[t][u][v+1], X[t][u+1][v+1], X[t+1][u+1][v+1], X[t+1][u][v+1],
                 v1, v3, v7, v5);
}