static void printFileUtils(int fd) { FileUtils* fu = FileUtils::getInstance(); mydprintf(fd, "\nSearch Paths:\n"); auto list = fu->getSearchPaths(); for( const auto &item : list) { mydprintf(fd, "%s\n", item.c_str()); } mydprintf(fd, "\nResolution Order:\n"); list = fu->getSearchResolutionsOrder(); for( const auto &item : list) { mydprintf(fd, "%s\n", item.c_str()); } mydprintf(fd, "\nWriteble Path:\n"); mydprintf(fd, "%s\n", fu->getWritablePath().c_str()); mydprintf(fd, "\nFull Path Cache:\n"); auto cache = fu->getFullPathCache(); for( const auto &item : cache) { mydprintf(fd, "%s -> %s\n", item.first.c_str(), item.second.c_str()); } }
static void printSceneGraphBoot(int fd) { write(fd,"\n",1); auto scene = Director::getInstance()->getRunningScene(); int total = printSceneGraph(fd, scene, 0); mydprintf(fd, "Total Nodes: %d\n", total); }
void Console::commandTextures(int fd, const char *command) { Scheduler *sched = Director::getInstance()->getScheduler(); sched->performFunctionInCocosThread( [&](){ mydprintf(fd, "%s", Director::getInstance()->getTextureCache()->getCachedTextureInfo().c_str()); } ); }
void Console::commandConfig(int fd, const char *command) { Scheduler *sched = Director::getInstance()->getScheduler(); sched->performFunctionInCocosThread( [&](){ mydprintf(fd, "%s", Configuration::getInstance()->getInfo().c_str()); } ); }
void dfnmin(double p[], int n, double gtol, int itmax, int maxback, int *iter, double *fret, double ***hesinv, double(*func)(double []), void (*dfunc)(double [], double []), void (*ddfunc)(double [], double **)) { double *g, **A, **Ainv, *xi, *pnew; double sum,fp,fnew,lam,x; int loop,i,j,k; g=new_vec(n); xi=new_vec(n); pnew=new_vec(n); A=new_mat(n,n); Ainv=new_mat(n,n); fp=(*func)(p); /* function */ for(loop=1;loop<=itmax;loop++) { (*dfunc)(p,g); /* derivative */ (*ddfunc)(p,A); /* second derivative */ luinverse(A,Ainv,n); x=sym_mat(Ainv,n); sum=0.0; for(i=0;i<n;i++) { x=0.0; for(j=0;j<n;j++) x+=Ainv[i][j]*g[j]; sum+=g[i]*x; xi[i] = -x; } if(sum>=0.0) lam=1.0; else lam=-1.0; for(k=0;k<maxback;k++) { for(i=0;i<n;i++) pnew[i]=p[i]+lam*xi[i]; fnew=(*func)(pnew); /* function */ mydprintf(3,"\n### dfnmin: lam=%g fnew=%g fp=%g",lam,fnew,fp); if(fnew < fp) break; lam *= 0.1; } if(k==maxback) break; fp=fnew; for(i=0;i<n;i++) p[i]=pnew[i]; mydprintf(3,"\n### dfnmin: loop=%d sum=%g fp=%g",loop,sum,fp); if(sum>=0 && sum<gtol) break; } *fret=fp; /* function */ *iter=loop; *hesinv=Ainv; free_mat(A); free_vec(g); free_vec(xi); free_vec(pnew); }
static int printSceneGraph(int fd, Node* node, int level) { int total = 1; for(int i=0; i<level; ++i) write(fd, "-", 1); mydprintf(fd, " %s\n", node->getDescription().c_str()); for(const auto& child: node->getChildren()) total += printSceneGraph(fd, child, level+1); return total; }