《VTK图形图像开发进阶》第3章VTK基本数据结构——属性数据

属性数据(Attribute Data)是与数据集组织结构相关联的信息。

image

3.1 标量数据

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkRenderingFreeType);
VTK_MODULE_INIT(vtkInteractionStyle);

#include <vtkSmartPointer.h>
#include <vtkPoints.h>
#include <vtkPolyData.h>
#include <vtkPointData.h>
#include <vtkDoubleArray.h>
#include <vtkFloatArray.h>

int main(int, char *[])
{
	//创建点集数据:包含两个坐标点。
	vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
	points->InsertNextPoint(0,0,0);
	points->InsertNextPoint(1,0,0);

	//创建多边形数据。
	vtkSmartPointer<vtkPolyData> polydata = vtkSmartPointer<vtkPolyData>::New();
	polydata->SetPoints(points);

	//准备加入点数据的标量值,两个标量值分别为1和2。
	vtkSmartPointer<vtkDoubleArray> weights = vtkSmartPointer<vtkDoubleArray>::New();
	weights->SetNumberOfValues(2);
	weights->SetValue(0, 1);
	weights->SetValue(1, 2);

	//先获取多边形数据的点数据指针,然后设置该点数据的标量属性值。
	polydata->GetPointData()->SetScalars(weights);

	//输出索引号为0的点的标量值。
	double weight = vtkDoubleArray::SafeDownCast(polydata->GetPointData()->GetScalars())->GetValue(0);
	std::cout << "double weight: " << weight << std::endl;

	return EXIT_SUCCESS;
}

image

3.2 矢量数据

image

3.3 纹理坐标

image

3.4 张量数据

image

posted @   sdyan404  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示