wztensorgrid.hxx

来自「有限元学习研究用源代码(老外的),供科研人员参考」· HXX 代码 · 共 42 行

HXX
42
字号
#ifndef wztensorgrid_hxx
#define wztensorgrid_hxx

#include "wzlib.hxx"

class wzTensorGrid;
typedef wzProxy<wzTensorGrid> wztensorgrid;

class wzTensorGrid: public virtual wzProxyTarget{
  wzIndex dim;
  wzIndex r[wzPointDim];
protected:
  wzIndex checked;
  void check() const;
  static wzFloat epsilon;
public:
  wzIndex dimension() const		{check(); return dim;}
  wzIndex refinement(wzIndex i) const	{return r[i];}
  wzIndex dimension(wzIndex i) const	{return n[i].length();}
  wzSimpleRange n[wzPointDim];
  wzArray<wzFloat> x[wzPointDim];
  wzTensorGrid(wzIndex dim=3, wzFloat eps = 1.e-7);
  void add(wzIndex dim, wzFloat x);
  void setRefinement(wzIndex i, wzIndex ref) {r[i] = ref;}
  void setRefinementX(wzIndex r)	{setRefinement(0,r);}
  void setRefinementY(wzIndex r)	{setRefinement(1,r);}
  void setRefinementZ(wzIndex r)	{setRefinement(2,r);}
  void endInitialization(wzFloat *min, wzFloat *max);
  void getBox(wzFloat *min, wzFloat *max) const;
  // obsolete:
  void setX(wzFloat x0, wzFloat x1)	{add(0,x0); add(0,x1);}
  void setY(wzFloat x0, wzFloat x1)	{add(1,x0); add(1,x1);}
  void setZ(wzFloat x0, wzFloat x1)	{add(2,x0); add(2,x1);}
};

// obsolete:

#define ibgcoarse wztensorgrid
#define ibgCoarseGrid wzTensorGrid

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?