/* ** main */ int main (int argc, char **argv) { STRING Name; double start; double stop; init_lumineur (argc, argv); strcpy (Name, NameScn); strcat (Name, ".scn"); start = getTime(); read_scn (Name); stop = getTime(); printf ("Temps de lecture : %e seconde(s)\n", stop - start); start = getTime(); bnd (); stop = getTime(); printf ("Temps du binder : %e seconde(s)\n", stop - start); start = getTime(); scn (); stop = getTime(); printf ("Temps de la scene : %e seconde(s)\n", stop - start); start = getTime(); img (NameScn); stop = getTime(); printf ("Temps de l'image : %e seconde(s)\n", stop - start); exit (0); }
void HttpReqImpl::openPostChunk() const { ScanTextA scn(*inout); scn.setNL("\r\n"); scn("\n%"); if (scn(" %(+)[0-9A-Za-z]1 \n%")) { remainPostData = scn[1].hex(); if (remainPostData == 0) { chunkedPost = false; if (scn("\n%") == false) throw HttpStatusException(THISLOCATION,path,400,"Bad request"); } if (postBodyLimit < remainPostData) { throw HttpStatusException(THISLOCATION, path, 413, "Request is too large"); } else { postBodyLimit-= remainPostData; } } else { throw HttpStatusException(THISLOCATION,path,400,"Bad request"); } }
/* ** main */ int main (int argc, char **argv) { STRING Name; struct timeval start; struct timeval stop; int my_rank; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD,&my_rank); init_lumineur (argc, argv); strcpy (Name, NameScn); strcat (Name, ".scn"); portable_gettimeofday(&start); read_scn (Name); portable_gettimeofday(&stop); if(my_rank==0){ printf ("Temps de lecture : %ld seconde(s)\n", stop.tv_sec - start.tv_sec); } portable_gettimeofday(&start); bnd (); portable_gettimeofday(&stop); if(my_rank==0){ printf ("Temps du binder : %ld seconde(s)\n", stop.tv_sec - start.tv_sec); } portable_gettimeofday(&start); scn (); portable_gettimeofday(&stop); if(my_rank==0){ printf ("Temps de la scene : %ld seconde(s)\n", stop.tv_sec - start.tv_sec); } portable_gettimeofday(&start); img (NameScn); portable_gettimeofday(&stop); printf ("Temps de l'image : %ld seconde(s)\n", stop.tv_sec - start.tv_sec); MPI_Finalize(); exit (0); }
Bras::Bras(int cote_, int pin_pap_step, int pin_pap_dir, int pin_bump_asc, int pin_ir, int seuil_ir, long* pulse_color, int pin_pression_): period_run(50), cote(cote_), time_out_on(false), state(INT_RANGE), coul_to_be_on(false), next_coul_on(false), asc(pin_pap_step, pin_pap_dir, pin_bump_asc, cote_), ir(pin_ir, seuil_ir), mon_ir_actif(false), trigger_to_be(T_RANGE), col(pulse_color), trigger_autre_on(false), couleur(ROUGE), trigger_attente_on(false), pression_on(false), pin_pression(pin_pression_) { if (cote == GAUCHE) { servo_rot.attach(PIN_SERVO_ROT_G); servo_retourne.attach(PIN_SERVO_RETOURNE_G); pin_pompe = PIN_POMPE_G; pinMode(pin_pompe, OUTPUT); } else { servo_rot.attach(PIN_SERVO_ROT_D); servo_retourne.attach(PIN_SERVO_RETOURNE_D); pin_pompe = PIN_POMPE_D; pinMode(pin_pompe, OUTPUT); } ir.reverse(); scn(); spb(); pf(); asc.monte(); //while(!asc.run()){ // delay(1); //} }
void Pince::in_state_func() { switch (state) { case RANGE_DEPART : a1(); scv(); slr(); break; case TAPE_VERTICAL : a1(); scv(); slt(); break; case INTERMEDIAIRE_SORTIE : set_time_out(400, trigger_to_be); a1(); slo(); scv(); break; case HORIZ_VERT : a1(); slo(); scn(); break; case NOMINAL_VIDE : set_time_out(500, trigger_to_be); a0(); slo(); scn(); break; case ACTIF_TORCHE : a0(); slo(); scn(); break; case PRISE_TORCHE : Serial.println('# PRISE'); a0(); slf(); scn(); break; case ACTIF_FEU : a0(); slo(); scn(); break; case PRISE_FEU : Serial.println('# PRISE'); set_time_out(500, TIME_OUT); a0(); slf(); scn(); break; case WAIT_COOL_OK : break; case MONTE_COOL : set_time_out(800, TIME_OUT); a1(); slf(); scn(); break; case MONTE_COOL2 : a1(); slf(); scn(); break; case RETOURNE_COOL_N : set_time_out(500, TIME_OUT); a1(); slf(); scr(); break; case DESCEND_COOL_N : a0(); slf(); scr(); break; case POSE_COOL_N : set_time_out(500, TIME_OUT); a0(); slo(); scr(); break; case INT1_COOL_N : set_time_out(500, TIME_OUT); a1(); slo(); scr(); break; case INT2_COOL_N : set_time_out(500, TIME_OUT); a1(); slf(); scr(); break; case INT3_COOL_N : set_time_out(500, TIME_OUT); a1(); slf(); scn(); break; case INT_RANGE : a1(); slo(); break; case INT2_RANGE : set_time_out(10, trigger_to_be); a1(); slo(); break; } }
void parser_dump(mrb_state *mrb, mrb_ast_node *tree, int offset) { #ifdef ENABLE_STDIO if (!tree) return; again: dump_prefix(offset); node_type n = tree->getType(); mrb_ast_node *orig = tree; if(dynamic_cast<UpdatedNode *>(tree)==0) tree = tree->right(); switch (n) { case NODE_BEGIN: parser_dump(mrb,(BeginNode *)orig,offset); break; case NODE_RESCUE: parser_dump(mrb,(RescueNode *)orig,offset); break; case NODE_ENSURE: parser_dump(mrb,(EnsureNode *)orig,offset); break; case NODE_LAMBDA: printf("NODE_LAMBDA:\n"); goto block; case NODE_BLOCK: printf("NODE_BLOCK:\n"); block: parser_dump(mrb,(LambdaCommonNode *)orig,offset); break; case NODE_IF: { IfNode *in = (IfNode *)orig; printf("NODE_IF:\n"); dump_prefix(offset+1); printf("cond:\n"); parser_dump(mrb, in->cond(), offset+2); //tree->left() dump_prefix(offset+1); printf("then:\n"); parser_dump(mrb, in->true_body(), offset+2); //tree->right()->left() if (in->false_body()) { dump_prefix(offset+1); printf("else:\n"); parser_dump(mrb, in->false_body() , offset+2); //tree->right()->right()->left() } } break; case NODE_AND: { AndNode *an = (AndNode *)orig; printf("NODE_AND:\n"); parser_dump(mrb, an->lhs(), offset+1); parser_dump(mrb, an->rhs(), offset+1); } break; case NODE_OR: { OrNode *an = (OrNode *)orig; printf("NODE_OR:\n"); parser_dump(mrb, an->lhs(), offset+1); parser_dump(mrb, an->rhs(), offset+1); } break; case NODE_CASE: { CaseNode *cn = (CaseNode *)orig; printf("NODE_CASE:\n"); if (cn->switched_on()) { parser_dump(mrb, cn->switched_on(), offset+1); } tree = cn->cases(); while (tree) { dump_prefix(offset+1); printf("case:\n"); dump_recur(mrb, tree->left()->left(), offset+2); dump_prefix(offset+1); printf("body:\n"); parser_dump(mrb, tree->left()->right(), offset+2); tree = tree->right(); } } break; case NODE_WHILE: { WhileNode *n = (WhileNode *)orig; printf("NODE_WHILE:\n"); dump_prefix(offset+1); printf("cond:\n"); parser_dump(mrb, n->lhs(), offset+2); dump_prefix(offset+1); printf("body:\n"); parser_dump(mrb, n->rhs(), offset+2); } break; case NODE_UNTIL: { UntilNode *n = (UntilNode *)orig; printf("NODE_UNTIL:\n"); dump_prefix(offset+1); printf("cond:\n"); parser_dump(mrb, n->lhs(), offset+2); dump_prefix(offset+1); printf("body:\n"); parser_dump(mrb, n->rhs(), offset+2); } break; case NODE_FOR: printf("NODE_FOR:\n"); dump_prefix(offset+1); parser_dump(mrb,(ForNode *)orig,offset); break; case NODE_SCOPE: printf("NODE_SCOPE:\n"); { ScopeNode *ns = (ScopeNode *)orig; const tLocals &n2(ns->locals()); if ( !n2.empty() ) { dump_prefix(offset+1); printf("local variables:\n"); dump_prefix(offset+2); for(auto iter=n2.begin(); iter!=n2.end(); ++iter) { if ( (iter+1) != n2.end() ) printf(", "); printf("%s", mrb_sym2name(mrb, *iter)); } printf("\n"); } tree = ns->body(); } offset++; goto again; case NODE_FCALL: case NODE_CALL: { CallCommonNode *cn = (CallCommonNode *)orig; printf("NODE_CALL:\n"); parser_dump(mrb, cn->m_receiver, offset+1); dump_prefix(offset+1); printf("method='%s' (%d)\n", mrb_sym2name(mrb, cn->m_method), cn->m_method); CommandArgs *ca = cn->m_cmd_args; if (ca) { dump_prefix(offset+1); printf("args:\n"); dump_recur(mrb, ca->m_args, offset+2); if (ca->m_blk) { dump_prefix(offset+1); printf("block:\n"); parser_dump(mrb, ca->m_blk, offset+2); } } } break; case NODE_DOT2: { printf("NODE_DOT2:\n"); Dot2Node *nd = (Dot2Node *)orig; parser_dump(mrb, nd->lhs(), offset+1); parser_dump(mrb, nd->rhs(), offset+1); } break; case NODE_DOT3: { printf("NODE_DOT3:\n"); Dot3Node *nd = (Dot3Node *)orig; parser_dump(mrb, nd->lhs(), offset+1); parser_dump(mrb, nd->rhs(), offset+1); } break; case NODE_COLON2: { Colon2Node *cn = (Colon2Node *)orig; printf("NODE_COLON2:\n"); parser_dump(mrb, cn->m_val, offset+1); dump_prefix(offset+1); printf("::%s\n", mrb_sym2name(mrb, cn->m_sym)); } break; case NODE_COLON3:{ printf("NODE_COLON3:\n"); dump_prefix(offset+1); Colon3Node *n = (Colon3Node *)orig; printf("::%s\n", mrb_sym2name(mrb, n->sym())); } break; case NODE_ARRAY: printf("NODE_ARRAY:\n"); dump_recur(mrb, ((ArrayNode *)orig)->child(), offset+1); break; case NODE_HASH: { HashNode *nd = (HashNode *)orig; printf("NODE_HASH:\n"); tree = nd->child(); while (tree) { dump_prefix(offset+1); printf("key:\n"); parser_dump(mrb, tree->left()->left(), offset+2); dump_prefix(offset+1); printf("value:\n"); parser_dump(mrb, tree->left()->right(), offset+2); tree = tree->right(); } } break; case NODE_SPLAT: printf("NODE_SPLAT:\n"); parser_dump(mrb, ((SplatNode *)orig)->child(), offset+1); break; case NODE_ASGN: { AsgnNode *an = (AsgnNode *)orig; printf("NODE_ASGN:\n"); dump_prefix(offset+1); printf("lhs:\n"); parser_dump(mrb, an->lhs(), offset+2); dump_prefix(offset+1); printf("rhs:\n"); parser_dump(mrb, an->rhs(), offset+2); } break; case NODE_MASGN: { printf("NODE_MASGN:\n"); dump_prefix(offset+1); printf("mlhs:\n"); MAsgnNode *mn = (MAsgnNode *)orig; mrb_ast_node *n2 = mn->lhs(); if (n2->left()) { dump_prefix(offset+2); printf("pre:\n"); dump_recur(mrb, n2->left(), offset+3); } n2 = n2->right(); if (n2) { if (n2->left()) { dump_prefix(offset+2); printf("rest:\n"); if (n2->left() == (mrb_ast_node*)-1) { dump_prefix(offset+2); printf("(empty)\n"); } else { parser_dump(mrb, n2->left(), offset+3); } } n2 = n2->right(); if (n2) { if (n2->left()) { dump_prefix(offset+2); printf("post:\n"); dump_recur(mrb, n2->left(), offset+3); } } } dump_prefix(offset+1); printf("rhs:\n"); parser_dump(mrb, mn->rhs(), offset+2); } break; case NODE_OP_ASGN: { OpAsgnNode *opasgn = static_cast<OpAsgnNode *>(tree); printf("NODE_OP_ASGN:\n"); dump_prefix(offset+1); printf("lhs:\n"); parser_dump(mrb, opasgn->lhs(), offset+2); dump_prefix(offset+1); printf("op='%s' (%d)\n", mrb_sym2name(mrb, opasgn->op_sym), opasgn->op_sym); parser_dump(mrb, opasgn->rhs(), offset+1); break; } case NODE_SUPER: { printf("NODE_SUPER:\n"); SuperNode *x=(SuperNode *)orig; if (x->hasParams()) { dump_prefix(offset+1); printf("args:\n"); dump_recur(mrb, x->args(), offset+2); if (x->block()) { dump_prefix(offset+1); printf("block:\n"); parser_dump(mrb, x->block(), offset+2); } } } break; case NODE_ZSUPER: printf("NODE_ZSUPER\n"); break; case NODE_RETURN: printf("NODE_RETURN:\n"); parser_dump(mrb, ((ReturnNode *)orig)->child(), offset+1); break; case NODE_YIELD: printf("NODE_YIELD:\n"); dump_recur(mrb, ((YieldNode *)orig)->child(), offset+1); break; case NODE_BREAK: printf("NODE_BREAK:\n"); parser_dump(mrb, ((BreakNode *)orig)->child(), offset+1); //parser_dump(mrb, tree, offset+1); break; case NODE_NEXT: printf("NODE_NEXT:\n"); parser_dump(mrb, ((NextNode *)orig)->child(), offset+1); break; case NODE_REDO: printf("NODE_REDO\n"); break; case NODE_RETRY: printf("NODE_RETRY\n"); break; case NODE_LVAR: { LVarNode * lvar = (LVarNode *)orig; printf("NODE_LVAR %s\n", mrb_sym2name(mrb, lvar->sym())); } break; case NODE_GVAR: { GVarNode * gvar = (GVarNode *)orig; printf("NODE_GVAR %s\n", mrb_sym2name(mrb, gvar->sym())); } break; case NODE_IVAR: { IVarNode * ivar = (IVarNode *)orig; printf("NODE_IVAR %s\n", mrb_sym2name(mrb, ivar->sym())); } break; case NODE_CVAR: { CVarNode * cvar = (CVarNode *)orig; printf("NODE_CVAR %s\n", mrb_sym2name(mrb, cvar->sym())); } break; case NODE_CONST: { ConstNode * cvar = (ConstNode *)orig; printf("NODE_CONST %s\n", mrb_sym2name(mrb, cvar->sym())); } break; case NODE_MATCH: printf("NODE_MATCH:\n"); dump_prefix(offset + 1); printf("lhs:\n"); parser_dump(mrb, tree->left(), offset + 2); dump_prefix(offset + 1); printf("rhs:\n"); parser_dump(mrb, tree->right(), offset + 2); break; case NODE_BACK_REF: printf("NODE_BACK_REF: $%c\n", ((BackRefNode *)orig)->m_ref); break; case NODE_NTH_REF: printf("NODE_NTH_REF: $%d\n", ((NthRefNode *)orig)->m_ref); break; case NODE_ARG: { ArgNode * var = (ArgNode *)orig; printf("NODE_ARG %s\n", mrb_sym2name(mrb, var->sym())); } break; case NODE_BLOCK_ARG: { printf("NODE_BLOCK_ARG:\n"); parser_dump(mrb, ((BlockArgNode *)orig)->child(), offset+1); } break; case NODE_INT: { IntLiteralNode *int_lit = (IntLiteralNode *)orig; printf("NODE_INT %s base %d\n", int_lit->m_val, int_lit->m_base); } break; case NODE_FLOAT: printf("NODE_FLOAT %s\n", ((FloatLiteralNode *)orig)->m_val); break; case NODE_NEGATE: printf("NODE_NEGATE\n"); parser_dump(mrb, ((NegateNode *)tree)->child(), offset+1); break; case NODE_STR: { StrNode *sn=(StrNode *)orig; printf("NODE_STR \"%s\" len %zu\n", sn->m_str, sn->m_length); } break; case NODE_DSTR: { DstrNode *dn = (DstrNode *)orig; printf("NODE_DSTR\n"); dump_recur(mrb, dn->child(), offset+1); } break; case NODE_XSTR: printf("NODE_XSTR \"%s\" len %d\n", (char*)tree->left(), (int)(intptr_t)tree->right()); break; case NODE_DXSTR: { DxstrNode *dn = (DxstrNode *)orig; printf("NODE_DXSTR\n"); dump_recur(mrb, dn->child(), offset+1); } break; case NODE_REGX: printf("NODE_REGX /%s/%s\n", (char*)tree->left(), (char*)tree->right()); break; case NODE_DREGX: printf("NODE_DREGX\n"); dump_recur(mrb, tree->left(), offset+1); dump_prefix(offset); printf("tail: %s\n", (char*)tree->right()->right()->left()); dump_prefix(offset); printf("opt: %s\n", (char*)tree->right()->right()->right()); break; case NODE_SYM: { SymNode * cvar = (SymNode *)orig; printf("NODE_SYM :%s\n", mrb_sym2name(mrb, cvar->sym())); } break; case NODE_SELF: printf("NODE_SELF\n"); break; case NODE_NIL: printf("NODE_NIL\n"); break; case NODE_TRUE: printf("NODE_TRUE\n"); break; case NODE_FALSE: printf("NODE_FALSE\n"); break; case NODE_ALIAS: { AliasNode *an = (AliasNode *)orig; printf("NODE_ALIAS %s %s:\n", mrb_sym2name(mrb, an->m_from), mrb_sym2name(mrb, an->m_to)); } break; case NODE_UNDEF: printf("NODE_UNDEF"); { UndefNode *und((UndefNode *)tree); for(mrb_sym v : und->m_syms) { printf(" %s", mrb_sym2name(mrb, v)); } } printf(":\n"); break; case NODE_CLASS: { ClassNode *cn = static_cast<ClassNode *>(tree); printf("NODE_CLASS:\n"); if (cn->receiver()->left() == (mrb_ast_node*)0) { dump_prefix(offset+1); printf(":%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } else if (cn->receiver()->left() == (mrb_ast_node*)1) { dump_prefix(offset+1); printf("::%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } else { parser_dump(mrb, cn->receiver()->left(), offset+1); dump_prefix(offset+1); printf("::%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } if (cn->super()) { dump_prefix(offset+1); printf("super:\n"); parser_dump(mrb, cn->super(), offset+2); } dump_prefix(offset+1); printf("body:\n"); parser_dump(mrb, cn->scope()->body(), offset+2); break; } case NODE_MODULE: { ModuleNode *cn = static_cast<ModuleNode *>(tree); printf("NODE_MODULE:\n"); if (cn->receiver()->left() == (mrb_ast_node*)0) { dump_prefix(offset+1); printf(":%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } else if (cn->receiver()->left() == (mrb_ast_node*)1) { dump_prefix(offset+1); printf("::%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } else { parser_dump(mrb, cn->receiver(), offset+1); dump_prefix(offset+1); printf("::%s\n", mrb_sym2name(mrb, sym(cn->receiver()->right()))); } dump_prefix(offset+1); printf("body:\n"); parser_dump(mrb, cn->scope()->body(), offset+2); break; } case NODE_SCLASS: { printf("NODE_SCLASS:\n"); SclassNode *scn((SclassNode *)tree); parser_dump(mrb, scn->scope(), offset+1); // dump_prefix(offset+1); // printf("body:\n"); // parser_dump(mrb, scntree->right()->left()->right(), offset+2); } break; case NODE_DEF: { DefNode *dn = (DefNode *)orig; printf("NODE_DEF:\n"); dump_prefix(offset+1); parser_dump(mrb,dn,offset); } break; case NODE_SDEF: { SdefNode *sn = (SdefNode *)orig; printf("NODE_SDEF:\n"); parser_dump(mrb, sn->receiver(), offset+1); dump_prefix(offset+1); printf(":"); // prepend name with ':' parser_dump(mrb,sn,offset); } break; case NODE_POSTEXE: printf("NODE_POSTEXE:\n"); parser_dump(mrb, ((PostExeNode *)orig)->child(), offset+1); break; case NODE_HEREDOC:{ printf("NODE_HEREDOC:\n"); HeredocNode *hdn((HeredocNode *)tree); parser_dump(mrb, hdn->contents()->doc->left(), offset+1); } break; default: printf("node type: %d (0x%x)\n", (int)n, (int)n); break; } #endif }
int main(int argc, char *argv[]) { if (argc<2) { std::cerr << "Syntax is:\n\t" << argv[0] << " filename\n"; std::exit(1); } Image img(360,360); Scene scn(Camera(Point(15,15,15), Point(0.0,0.0,0.0), 1.0, Vector(0.0,1.0,0.0)), Color(0.0,0.0,0.0), -16.0,16.0, -16.0,16.0, -16.0,16.0, 30,30,30); Texture *textArray[] = { new Texture (Color(0.75,0.75,0.75), Color(0.0,0.0,0.0), Color(0.0,0.0,0.0), 20, Color(0.0,0.0,0.0)), new Texture (Color(0.0,0.0,1.0), Color(0.0,0.1,0.0), Color(1.0,1.0,1.0), 90, Color(0,0,0)), new Texture (Color(0.25,0.25,0.0), Color(0.0,0.0,0.0), Color(1.0,1.0,1.0), 100, Color(0.25,0.25,0.25), Color(0.5,0.5,0.5), 0.85), new Texture (Color(0.0,1.0,0.0), Color(0.0,0.0,0.0), Color(1.0,1.0,1.0), 200, Color(0.0,0.0,0.0))}; const real PI = 3.141592654; real umin = -15; real umax = 15; real vmin = -15; real vmax = 15; /* int usteps = 1; int vsteps = 1; real umult = (umax-umin)/(usteps-1); real vmult = (vmax-vmin)/(vsteps-1); real uval, vval; for (int i=0;i<usteps;++i) { uval = i*umult + umin; for (int j=0;j<vsteps; ++j) { vval = j*vmult + vmin; scn.addObject(new Triangle(Point( x(uval,vval), y(uval,vval), z(uval,vval)), Point( x(uval+umult,vval), y(uval+umult,vval), z(uval+umult,vval)), Point( x(uval,vval+vmult), y(uval,vval+vmult), z(uval,vval+vmult)), textArray[3])); scn.addObject(new Triangle(Point( x(uval+umult,vval+vmult), y(uval+umult,vval+vmult), z(uval+umult,vval+vmult)), Point( x(uval+umult,vval), y(uval+umult,vval), z(uval+umult,vval)), Point( x(uval,vval+vmult), y(uval,vval+vmult), z(uval,vval+vmult)), textArray[3], true)); } } */ /* const real PI = 3.141592654; real umin = -15; real umax = 15; real vmin = -15; real vmax = 15; int usteps = 64; int vsteps = 64; real umult = (umax-umin)/(usteps-1); real vmult = (vmax-vmin)/(vsteps-1); real uval, vval; for (int i=0;i<usteps;++i) { uval = i*umult + umin; for (int j=0;j<vsteps; ++j) { vval = j*vmult + vmin; scn.addObject(new Sphere(Point( x(uval,vval), y(uval,vval), z(uval,vval)), umult, textArray[3])); } } */ scn.addObject(new Sphere(Point(7.5,7.5,7.5), 2.5, textArray[2])); for (int i=1;i<= 14; ++i) { for (int j = 1; j<= 14; ++j) { scn.addObject(new Sphere(Point(i, j, 0), 0.5, textArray[3])); scn.addObject(new Sphere(Point(0, i, j), 0.5, textArray[3])); scn.addObject(new Sphere(Point(j, 0, i), 0.5, textArray[3])); } } /* scn.addObject(new Sphere(Point(0,1.5,2.5), 2.5, textArray[2])); scn.addObject(new Sphere(Point(0,0,-2.5), 2.5, textArray[3])); scn.addObject(new Sphere(Point(-3.75,2.5,1.25), 1.25, textArray[1])); */ /* scn.addObject(new Triangle(Point(8, 8, 0), Point(8, -8, 0), Point(-8, 8, 0), textArray[0], true)); scn.addObject(new Triangle(Point(-8, -8, 0), Point(8, -8, 0), Point(-8, 8, 0), textArray[0], false)); scn.addObject(new Triangle(Point(0, 8, 8), Point(0, -8, 8), Point(0, 8, -8), textArray[0], false)); scn.addObject(new Triangle(Point(0, -8, -8), Point(0, -8, 8), Point(0, 8, -8), textArray[0], true)); */ // scn.addLight(new Light(Point(10,10,10), Color(1.0,1.0,1.0))); // scn.addLight(new Light(Point(10,10,-10), Color(1.0,1.0,1.0))); scn.addLight(new Light(Point(15,15,15), Color(1.0,1.0,1.0))); real mean, var, stdDev; int min, max; real meanCells, varCells, stdDevCells; int minCells; int maxCells; scn.getGridStats(mean, stdDev, var, min, max, meanCells, stdDevCells, varCells, minCells, maxCells); std::cout << "Scene stats:\n" << "Number of objects : " << scn.getNumObjects() << "\n" << "Number of lights : " << scn.getNumLights() << "\n" << "Number of cells : " << scn.getNumCells() << "\n" << "Grid stats:\n" << "Mean objects per cell : " << mean << "\n" << "Std. deviation : " << stdDev << "\n" << "Variance : " << var << "\n" << "Minimum : " << min << "\n" << "Maximum : " << max << "\n" << "Object stats:\n" << "Mean cells per object : " << meanCells << "\n" << "Std. Deviation : " << stdDevCells << "\n" << "Variance : " << varCells <<"\n" << "Min cells per object : " << minCells << "\n" << "Max cells per object : " << maxCells << "\n"; scn.trace(img, -1.0, -1.0, 1.0, 1.0, 9); std::ofstream outf(argv[1]); img.toPPM(outf); outf.close(); std::cout << "Rays cast: " << scn.getNumRaysCast() << "\n" << "Intersection tests: " << scn.getNumIntersectionTests() << "\n" << "Intersections: " << scn.getNumIntersections() << "\n" << "Shadow rays cast: " << scn.getNumShadowRaysCast() << "\n" << "Reflective rays cast: " << scn.getNumReflectiveRaysCast() << "\n" << "Refractive rays cast: " << scn.getNumRefractiveRaysCast() << "\n"; return 0; }
void Bras::in_state_func() { switch (state) { case RANGE_DEPART : scr(); a0(); spb(); pf(); break; case INT_RANGE : //va bumper scn(); a0(); spb(); pf(); break; case INT2_RANGE : set_time_out(400, trigger_to_be); scn(); a0(); spb(); pf(); break; case GO_ATTENTE : scn(); a1(); spb(); pf(); break; case ATTENTE_ACTIF : scn(); a1(); spb(); pf(); break; case DESCENTE_LAT : scn(); a4(); spb(); pf(); break; case DESCENTE_POMPE_LAT : scn(); a4(); spb(); po(); break; case PRISE_LAT : scn(); a4(); spb(); po(); break; case MONTE_VERT : set_time_out(500, TIME_OUT); scn(); a0(); spv(); po(); break; case MONTE : scn(); a0(); spb(); po(); break; case RANGE_PRISE : set_time_out(2000, TIME_OUT); scl(); a0(); spb(); po(); break; case LACHE : set_time_out(300, TIME_OUT); scl(); a0(); spb(); pf(); break; case MONTE_ECH : scn(); a3(); spb(); po(); break; case MONTE_ECH_VERT : sce(); a3(); spr(); po(); break; case RETOURNE_ECH : call_for_help(); sce(); a3(); spr(); po(); break; case REPLACE_APRES_ECH : set_time_out(300, TIME_OUT); scn(); a3(); spb(); pf(); break; case SEND_MINE : scv(); a4(); spv(); pf(); break; case SENDMASTER_PRET : scv(); a4(); spv(); po(); break; case PRISE_VERT : scv(); a4(); spv(); po(); break; case PRISE_COPAIN : a2(); sce(); spb(); po(); break; } }
void Bras::sct() { scn(); }