cogmap.cxx
来自「有限元学习研究用源代码(老外的),供科研人员参考」· CXX 代码 · 共 34 行
CXX
34 行
#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 + =
减小字号Ctrl + -
显示快捷键?