UE snap02 解析ASCII文本文件

UE snap02 解析ASCII文本文件

示例数据data.dat

11389477.2714892 3364559.73645693 0
11389471.5162524 3364567.8860295 0
11389471.5162524 3365813.09618369 0
11388329.6082659 3366184.85895869 0
11388320.4775297 3366197.78833087 0
11388270.6882384 3366214.84811269 0
11388002.8778118 3366302.11473086 0
11387997.4076579 3366303.9056727 0
11387384.8339758 3366503.50145564 0
11387380.6581128 3366513.70979389 0
11387134.3355798 3367376.95843306 0
11387119.1215479 3367119.81430385 0
11387077.7033874 3367570.395508 0
11387077.1245603 3367572.37023947 0
11387033.4883937 3367730.15674309 0
11387000.0871094 3367845.7129394 0
TArray<FVector> UGeoJsonComponentParser::ParseXYZPoint(const FString& InPath)
{
	TArray<uint8> FileData;
	TArray<FVector>OutVertices;
	bool isOk = FFileHelper::LoadFileToArray(FileData, *InPath);
	if (!isOk)
	{
		return OutVertices;
	}

	FString RawData;
	FFileHelper::BufferToString(RawData, FileData.GetData(), FileData.Num());

	TArray<FString> DataLineArr;
	if(RawData.Find(TEXT("\r\n"))>0)
		RawData.ParseIntoArray(DataLineArr, TEXT("\r\n"));
	else
		RawData.ParseIntoArray(DataLineArr, TEXT("\n"));

	FVector newVertex;
	for (size_t i = 0; i < DataLineArr.Num(); ++i)
	{
		TArray<FString> Items;
		DataLineArr[i].ParseIntoArray(Items, TEXT(" "));

		newVertex.X = FCString::Atod(*Items[0]) - CoordOffset.X;
		newVertex.Y = FCString::Atod(*Items[1]) - CoordOffset.Y;
		newVertex.Z = FCString::Atod(*Items[2]) - CoordOffset.Z;

		newVertex *= FVector(100, -100, 100);
		OutVertices.Add(newVertex);
	}
	return OutVertices;
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值