📄 pointtool.h
字号:
/*A fast and simple stretch-minimizing mesh parameterization C++ codeCopyright:(c) Shin Yoshizawa, 2004E-mail: shin.yoshizawa@mpi-sb.mpg.deURL: http://www.mpi-sb.mpg.de/~shinAffiliation: Max-Planck-Institut fuer Informatik: Computer Graphics Group Stuhlsatzenhausweg 85, 66123 Saarbruecken, Germany Phone +49 681 9325-408 Fax +49 681 9325-499 All right is reserved by Shin Yoshizawa.This C++ sources are allowed for only primary user of research and educational purposes. Don't use secondary: copy, distribution, diversion, business purpose, and etc.. */class Point3d;class Point2d;class PointTool{ public: Point3d *ddv1; Point3d *ddv2; Point3d *ddv3; Point2d *uij; Point2d *vij; PointTool(){ ddv1 = new Point3d(0.0,0.0,0.0); ddv2 = new Point3d(0.0,0.0,0.0); ddv3 = new Point3d(0.0,0.0,0.0); uij = new Point2d(0.0,0.0); vij = new Point2d(0.0,0.0); } virtual ~PointTool(){ delete ddv1; delete ddv2; delete ddv3; delete uij; delete vij; } private: PointTool(const PointTool& rhs); const PointTool &operator=(const PointTool& rhs); public: double PointTool::getArea(Point3d* dv1,Point3d* dv2,Point3d* dv3); void PointTool::Normalize3D(Point3d* inout); void PointTool::Normalize2D(Point2d* inout); double PointTool::Point2DSize(Point2d *dv); double PointTool::Point2DSize(double d1x,double d1y,double d2x,double d2y); double PointTool::Point2DSizeSq(double d1x,double d1y,double d2x,double d2y); double PointTool::Distance(Point3d *in1,Point3d *in2); double PointTool::getAlphaT(Point2d *dv,double ax,double ay,double bx,double by,double cx,double cy); void PointTool::makeVector(Point3d *out,Point3d *in1,Point3d *in2); void PointTool::CrossVector(Point3d *out,Point3d *in1,Point3d *in2); double PointTool::InnerProduct(Point3d *in1,Point3d *in2); double PointTool::InnerProduct(Point2d *in1,Point2d *in2); double PointTool::Point3dSize(Point3d *in); int PointTool::getBraycentricC(Point3d *evaluation,Point3d *baryparam,Point3d *v1,Point3d *v2,Point3d *v3, Point3d **bc); void PointTool::setCenter(Point3d *out,Point3d *in1,Point3d *in2,Point3d *in3); void PointTool::setParametricDs(Point3d *out,Point3d *q1,Point3d *q2,Point3d *q3,double t1,double t2,double t3,double A); void PointTool::setParametricDt(Point3d *out,Point3d *q1,Point3d *q2,Point3d *q3,double s1,double s2,double s3,double A); double PointTool::getParametricA(double t1,double t2,double t3,double s1,double s2,double s3); void PointTool::ScalarVector(Point3d *out,double dv,Point3d *in); double PointTool::getS(Point2d *v0,Point2d *v1,Point2d *v2); void PointTool::setC(double *out,Point2d *v1,Point2d *v2,Point2d *v3,Point2d *v4); };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -