|
- AcGePoint3d FymConverUtil::ToPoint3d(const AcGePoint2d& pt, double z)
- {
- return AcGePoint3d(pt.x, pt.y, z);
- }
-
- AcGePoint2d FymConverUtil::ToPoint2d(const AcGePoint3d& pt)
- {
- return AcGePoint2d(pt.x, pt.y);
- }
-
- double FymConverUtil::AngleToRadion(double angle)
- {
- return angle * FymMathUtil::PI() / 180;
- }
-
- double FymConverUtil::RadionToAngle(double radius)
- {
- return radius * 180 / FymMathUtil::PI();
- }
-
- CString FymConverUtil::ToString(int val)// 整型转字符串(需要支持MFC)
- {
- CString str;
- str.Format(采用T("%d"), val);//使用'Format'函数将整数'val'格式化为字符串,并存储在'str'中。'采用T("%d")'是一个宏,用于生成一个包含'%d'的宽字符字符串,其中'%d'会被替换为'val'的值
- return str;
- }
-
- //将一个双精度浮点数转换为字符串。precision 参数指定了小数点后的位数,默认2
- CString CConvertUtil::ToString(double value, int precision /*= 2*/)
- {
- CString strFormat, str;
- strFormat.Format(TEXT("%%.%df"), precision);
- //使用 strFormat.Format() 函数将格式字符串 "%%.%df" 中的 %df 替换为 precision 参数的值
- str.Format(strFormat, value);
- //使用 str.Format() 函数将格式化的字符串和输入的浮点数 value 结合在一起,生成最终的字符串
- return str;
- }
- //将一个TCHAR类型的字符串转换为双精度浮点数。
- double CConvertUtil::ToDouble(const TCHAR* str)
- {
- TCHAR* pszStop = NULL;
- return 采用tcstod(str, &pszStop);
- }/*采用tcstod 函数将字符串转换为浮点数。
- 采用tcstod 是C++中用来将TCHAR类型的字符串转换为双精度浮点数的函数。
- 它需要两个参数:要转换的字符串和用于存储转换结束位置的指针。
- 在这里,我们没有用到 pszStop,所以它的值被设为 NULL。返回值就是转换后的浮点数。*/
-
-
- AcGePoint3d FymConverUtil::WcsPointToDcsPoint(const AcGePoint3d& point)
- {
- AcGePoint3d pt;
- struct resbuf rbFrom, rbTo;
- rbFrom.restype = RTSHORT;
- rbFrom.resval.rint = 0;
- rbTo.restype = RTSHORT;
- rbTo.resval.rint = 2;//对浮点数进行四舍五入
- // 坐标系转换函数:wcs坐标、wcs标识符(0)、dcs标识符(2)、类型为点(0)、dcs坐标
- acedTrans(asDblArray(point), &rbFrom, &rbTo, 0, asDblArray(pt));
- return pt;
-
- }
-
- AcGePoint3d FymConverUtil::UcsPointToWcsPoint(const AcGePoint3d& point)
- {
- AcGePoint3d pt;
- struct resbuf rbFrom, rbTo;
- rbFrom.restype = RTSHORT;
- rbFrom.resval.rint = 1;
- rbTo.restype = RTSHORT;
- rbTo.resval.rint = 0;
- // 坐标系转换函数:ucs坐标、ucs标识符(1)、wcs标识符(0)、类型为点(0)、wcs坐标
- acedTrans(asDblArray(point), &rbFrom, &rbTo, 0, asDblArray(pt));
- return pt;
- }
-
- AcGePoint3d FymConverUtil::WcsPointToUcsPoint(const AcGePoint3d& point)
- {
- AcGePoint3d pt;
- struct resbuf rbFrom, rbTo;
- rbFrom.restype = RTSHORT;
- rbFrom.resval.rint = 0;
- rbTo.restype = RTSHORT;
- rbTo.resval.rint = 1;
- // 坐标系转换函数:wcs坐标、ucs标识符(1)、wcs标识符(0)、类型为点(0)、ucs坐标
- acedTrans(asDblArray(point), &rbFrom, &rbTo, 0, asDblArray(pt));
- return pt;
- }
复制代码 |
|