コード例 #1
0
MatrixCondition::DiagonalMask
MatrixCondition::calcMask(Diagonal d) {
    switch(d) {
      case UnknownDiagonal:     return UncommittedDiagonal;
      case ZeroDiagonal:        return ZeroDiagonal;
      case OneDiagonal:         return OneDiagonal;
      case RealDiagonal:        return RealDiagonal
                                       | calcMask(ZeroDiagonal)
                                       | calcMask(OneDiagonal);
      case ImaginaryDiagonal:   return ImaginaryDiagonal
                                       | calcMask(ZeroDiagonal);
      default: SimTK_ASSERT1_ALWAYS(!"invalid MatrixCondition::Diagonal",
                   "MatrixCondition::calcMask(Diagonal): value 0x%x is invalid.", d);
          return UnknownDiagonal;
    };
}
コード例 #2
0
ファイル: main.cpp プロジェクト: mvm/nyannyan
int main(int argc, char *argv[])
{
    sprites = loadImage("sprites.png");
    fondo = loadImage("fondo.png");

    if (!sprites || !fondo) return EXIT_FAILURE;

    for(int i = 0; i < 6; i++) nyancat[i] = fromSprites(i * 32, 0, 32, 20);

    for(int i = 0; i < 6; i++) nyancatMask[i] = calcMask(nyancat[i]);

    char key;
    unsigned long long int frame = 0;
    unsigned int x = 32, y = 32;
    IplImage *screen;

    while((key = cvWaitKey(1000 / 50)) != 'q')
    {
#define STEP 2

        if('d' == key && x < fondo->width - STEP) x += STEP;
        if('a' == key && x > STEP) x -= STEP;
        if('w' == key && y > STEP) y -= STEP;
        if('s' == key && y < fondo->height - STEP) y += STEP;

        screen = cvCloneImage(fondo);
        dibujarNyan((frame / 4) % 6, screen, x, y);
        cvShowImage("nyannyanyanyan", screen);

        ++frame;
    }

    return EXIT_SUCCESS;
}
コード例 #3
0
MatrixCondition::ConditionMask
MatrixCondition::calcMask(Condition c) {
    switch(c) {
      case UnknownCondition:    return UncommittedCondition;
      case Orthogonal:          return Orthogonal;
      case PositiveDefinite:    return PositiveDefinite;
      case WellConditioned:     return WellConditioned
                                       | calcMask(PositiveDefinite)
                                       | calcMask(Orthogonal);
      case FullRank:            return FullRank
                                       | calcMask(WellConditioned);
      case Singular:            return UncommittedCondition; // can't get worse than this
      default: SimTK_ASSERT1_ALWAYS(!"invalid MatrixCondition::Condition",
                   "MatrixCondition::calcMask(Condition): value 0x%x is invalid.", c);
          return UnknownCondition;
    };
}
コード例 #4
0
MatrixOutline::OutlineMask
MatrixOutline::calcMask(Outline outline) {
    switch(outline) {
      case NoOutline:   return UncommittedOutline;
      case Scalar:      return Scalar;
      case Column:      return Column       | calcMask(Scalar);
      case Row:         return Row          | calcMask(Scalar);
      case Square:      return Square       | calcMask(Scalar);
      case Wide:        return Wide         | calcMask(Square)  | calcMask(Row);
      case Tall:        return Tall         | calcMask(Square)  | calcMask(Column);
      case Rectangular: return Rectangular  | calcMask(Wide)    | calcMask(Tall);
      default: SimTK_ASSERT1_ALWAYS(!"invalid MatrixOutline::Outline",
                   "MatrixOutline::calcMask(): value 0x%x is invalid.", outline);
          return NoOutline;
    };
}
コード例 #5
0
void interactive(){
	printf("\nEnter host address <x.y.z.t>: ");
	scanf("%s", hostAddress);
	hostAddCheck();

	if (status == 1){
	printf("Enter prefix: ");
	scanf("%s", prefix);
	prefixCheck();
	}

	if (status == 1){
		calcMask();
		calcNetAdd();
		calcHostPortion();
	}
	printf("\n");
}