📄 wzbox.cxx
字号:
#include "wzoutput.hxx"#include "wzbox.hxx"void wzBox::print() const{ wzOutput& p=wzOutputDefault; switch(dim){ case 1: p("[<>,<>]\n"),min[0],max[0]; break; case 2: p("[<>,<>]x" ),min[0],max[0]; p("[<>,<>]\n"),min[1],max[1]; break; case 3: p("[<>,<>]x" ),min[0],max[0]; p("[<>,<>]x" ),min[1],max[1]; p("[<>,<>]\n"),min[2],max[2]; break; }}void wzBox::checkdim(){ dim = 3; if(min[2]>=max[2]) dim=2; if(min[1]>=max[1]) dim=1; if(min[0]>=max[0]) dim=0;}void wzBox::setBorder(wzFloat xmin,wzFloat xmax, wzFloat ymin,wzFloat ymax, wzFloat zmin,wzFloat zmax){ setMinimum(xmin,ymin,zmin); setMaximum(xmax,ymax,zmax); checkdim();}void wzBox::setMinimum(wzFloat x,wzFloat y,wzFloat z){ if(x<wzInfty) min[0]=x; if(y<wzInfty) min[1]=y; if(z<wzInfty) min[2]=z; checkdim();}void wzBox::setMaximum(wzFloat x,wzFloat y,wzFloat z){ if(x>-wzInfty) max[0]=x; if(y>-wzInfty) max[1]=y; if(z>-wzInfty) max[2]=z; checkdim();}void wzBox::include(wzFloat x,wzFloat y,wzFloat z){ if(x<min[0]) min[0]=x; if(x>max[0]) max[0]=x; if(y<min[1]) min[1]=y; if(y>max[1]) max[1]=y; if(z<min[2]) min[2]=z; if(z>max[2]) max[2]=z;}void wzBox::include(wzFloat x,wzFloat y){ if(x<min[0]) min[0]=x; if(x>max[0]) max[0]=x; if(y<min[1]) min[1]=y; if(y>max[1]) max[1]=y;}void wzBox::include(wzFloat x){ if(x<min[0]) min[0]=x; if(x>max[0]) max[0]=x;}wzBoolean wzBox::inside(wzFloat x,wzFloat y,wzFloat z) const{ if(x<min[0]) return wzFalse; if(x>max[0]) return wzFalse; if(y<min[1]) return wzFalse; if(y>max[1]) return wzFalse; if(z<min[2]) return wzFalse; if(z>max[2]) return wzFalse; return wzTrue;}wzBoolean wzBox::inside(wzFloat x,wzFloat y) const{ if(x<min[0]) return wzFalse; if(x>max[0]) return wzFalse; if(y<min[1]) return wzFalse; if(y>max[1]) return wzFalse; return wzTrue;}wzBoolean wzBox::inside(wzFloat x) const{ if(x<min[0]) return wzFalse; if(x>max[0]) return wzFalse; return wzTrue;}wzBox::wzBox(int dim){ if(dim<1){min[0] = wzInfty; max[0] = -wzInfty;} else {min[0] = -wzInfty; max[0] = wzInfty;} if(dim<2){min[1] = wzInfty; max[1] = -wzInfty;} else {min[1] = -wzInfty; max[1] = wzInfty;} if(dim<3){min[2] = wzInfty; max[2] = -wzInfty;} else {min[2] = -wzInfty; max[2] = wzInfty;} checkdim();}wzBox::wzBox(const wzBox& b):dim(b.dim){ min[0] = b.min[0]; max[0] = b.max[0]; min[1] = b.min[1]; max[1] = b.max[1]; min[2] = b.min[2]; max[2] = b.max[2];}const wzBox& wzBox::operator=(const wzBox& b){ min[0] = b.min[0]; max[0] = b.max[0]; min[1] = b.min[1]; max[1] = b.max[1]; min[2] = b.min[2]; max[2] = b.max[2]; dim = b.dim; return *this;}void wzBox::extend(wzFloat ex, wzFloat ey, wzFloat ez){ min[0] -= ex; max[0] += ex; min[1] -= ey; max[1] += ey; min[2] -= ez; max[2] += ez;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -