template <class T> int GA3DArrayGenome<T>:: resizeBehaviour(GAGenome::Dimension which, unsigned int lower, unsigned int upper) { if(upper < lower){ GAErr(GA_LOC, className(), "resizeBehaviour", gaErrBadResizeBehaviour); return resizeBehaviour(which); } switch(which){ case WIDTH: minX = lower; maxX = upper; if(nx > upper) GA3DArrayGenome<T>::resize(upper,ny,nz); if(nx < lower) GA3DArrayGenome<T>::resize(lower,ny,nz); break; case HEIGHT: minY = lower; maxY = upper; if(ny > upper) GA3DArrayGenome<T>::resize(nx,upper,nz); if(ny < lower) GA3DArrayGenome<T>::resize(nx,lower,nz); break; case DEPTH: minZ = lower; maxZ = upper; if(nz > upper) GA3DArrayGenome<T>::resize(nx,ny,upper); if(nz < lower) GA3DArrayGenome<T>::resize(nx,ny,lower); break; default: break; } return resizeBehaviour(which); }
int GA2DBinaryStringGenome:: resizeBehaviour(Dimension which, unsigned int lower, unsigned int upper) { if(upper < lower){ GAErr(GA_LOC, className(), "resizeBehaviour", gaErrBadResizeBehaviour); return resizeBehaviour(which); } switch(which){ case WIDTH: minX = lower; maxX = upper; if(nx > upper) resize(upper,ny); if(nx < lower) resize(lower,ny); break; case HEIGHT: minY = lower; maxY = upper; if(ny > upper) resize(nx,upper); if(ny < lower) resize(nx,lower); break; default: break; } return resizeBehaviour(which); }
// Set the resize behaviour of the genome. A genome can be fixed // length, resizeable with a max and min limit, or resizeable with no limits // (other than an implicit one that we use internally). // A value of 0 means no resize, a value less than zero mean unlimited // resize, and a positive value means resize with that value as the limit. // We return the upper limit of the genome's size. int GA1DBinaryStringGenome:: resizeBehaviour(unsigned int lower, unsigned int upper) { if(upper < lower){ GAErr(GA_LOC, className(), "resizeBehaviour", gaErrBadResizeBehaviour); return resizeBehaviour(); } minX = lower; maxX = upper; if(nx > upper) resize(upper); if(nx < lower) resize(lower); return resizeBehaviour(); }
// Set the resize behaviour of the genome. A genome can be fixed // length, resizeable with a max and min limit, or resizeable with no limits // (other than an implicit one that we use internally). // A value of 0 means no resize, a value less than zero mean unlimited // resize, and a positive value means resize with that value as the limit. template <class T> int GA1DArrayGenome<T>:: resizeBehaviour(unsigned int lower, unsigned int upper) { if(upper < lower) { GAErr(GA_LOC, className(), "resizeBehaviour", gaErrBadResizeBehaviour); return resizeBehaviour(); } minX = lower; maxX = upper; if(nx > upper) GA1DArrayGenome<T>::resize(upper); if(nx < lower) GA1DArrayGenome<T>::resize(lower); return resizeBehaviour(); }
void ARK::Core::GameContainer::setSize(int width, int height) { if (width == (signed int) m_width && height == (signed int) m_height) { return; } resizeBehaviour(width, height); resizeWindowToFitViewport(); //m_screenWidth = width; //m_screenHeight = height; //resizeBehaviour(width, height); }