📄 cogmap.cxx
字号:
#include "cogmap.hxx"
CogeometryBox::CogeometryBox(cogeometry geom)
:CogeometryByMap(*(cogPointToPoint*)this,geom)
{
x0=y0=z0=0; x1=y1=z1=1;
}
void CogeometryBox::operator()(cogPoint& y, const cogPoint& x) const
//void CogeometryBox::box(cogPoint& y, const cogPoint& x) const
{
if(x[0]<x0){y[0]=x0;}else if(x[0]>x1){y[0]=x1;}else{y[0]=x[0];}
if(x[1]<y0){y[1]=y0;}else if(x[1]>y1){y[1]=y1;}else{y[1]=x[1];}
if(x[2]<z0){y[2]=z0;}else if(x[2]>z1){y[2]=z1;}else{y[2]=x[2];}
}
CogeometryPeriodic::CogeometryPeriodic(cogeometry geom)
:CogeometryByMap(*(cogPointToPoint*)this,geom)
{
x0=0; dx=0.5; dx2=2*dx;
}
void CogeometryPeriodic::operator()(cogPoint& y, const cogPoint& x) const
//void CogeometryPeriodic::period(cogPoint& y, const cogPoint& x) const
{wzFloat xx=x[0]-x0;
if(xx<0) xx = -xx;
int i= (int)(xx/dx2);
cogFloat rx=xx-i*dx2;
if(rx>dx) rx=dx2-rx;
y[0]=rx+x0;
y[1]=x[1];
y[2]=x[2];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -