⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cogsimple.hxx

📁 有限元学习研究用源代码(老外的),供科研人员参考
💻 HXX
字号:
#ifndef cogsimple_hxx
#define cogsimple_hxx

#ifndef cogfunction_hxx
#include "cogfunction.hxx"
#endif
class CogeometryPlane;
class CogeometryEllipsoid;

class CogeometryPlane: 
public 	CogeometryWithRegions, 
public	cogPointToSegment{
        cogFloat a[3];
	cogFloat d;
	cogRegion rminus;
	cogRegion rplus;
public:
	CogeometryPlane(cogFloat  x,   cogFloat  y=0, cogFloat  z=0,
			cogFloat ax=1, cogFloat ay=1, cogFloat az=1, 
			cogRegion rpositive=2, cogRegion rnegative=1);
	CogeometryPlane(cogRegion rpositive=2, cogRegion rnegative=1);
        cogSegment operator()(const cogPoint& p) const;
	void setDirection(cogFloat x=1, cogFloat y=0, cogFloat z=0);
	void setPoint(cogFloat x=0, cogFloat y=0, cogFloat z=0);
};

class CogeometryEllipsoid:
public 	CogeometryWithRegions, 
public	cogPointToSegment{
	cogFloat c[3];
	cogFloat r[3];
	cogRegion rin;
	cogRegion rout;
public:
	CogeometryEllipsoid(cogFloat  x=0, cogFloat  y=0, cogFloat  z=0,
			    cogFloat rx=1, cogFloat ry=1, cogFloat rz=1, 
			    cogRegion rinside=2, cogRegion routside=1);
	CogeometryEllipsoid(cogRegion rinside=2, cogRegion routside=1);
        cogSegment operator()(const cogPoint& p) const;
	void setCenter(cogFloat x=0, cogFloat y=0, cogFloat z=0);
	void setRadius(cogFloat rx=1, cogFloat ry=1, cogFloat rz=1);
	void setSphere(cogFloat r=1);
	void moveCenter(cogFloat x=0, cogFloat y=0, cogFloat z=0);
	void stretchRadius(cogFloat fx=1, cogFloat fy=1, cogFloat fz=1);
	void stretchRadius(cogFloat f=1);
};

class CogeometryTorus:
public 	CogeometryWithRegions, 
public	cogPointToSegment{
	cogFloat c[3];
	cogFloat rp,rs,rz2;
	cogRegion rin;
	cogRegion rout;
public:
	CogeometryTorus(cogFloat  x=0, cogFloat  y=0, cogFloat  z=0,
			    cogFloat rbig=1, cogFloat rsmall=0.5, 
			    cogRegion rinside=2, cogRegion routside=1);
	CogeometryTorus(cogRegion rinside=2, cogRegion routside=1);
        cogSegment operator()(const cogPoint& p) const;
	void setCenter(cogFloat x=0, cogFloat y=0, cogFloat z=0);
	void setScale(cogFloat rbig=1.0, cogFloat rsmall=0.5);
	void moveCenter(cogFloat x=0, cogFloat y=0, cogFloat z=0);
};


#endif

⌨️ 快捷键说明

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