gpt4 book ai didi

c++ - 对于 CAD 类型的程序,: lists, vector 或双端队列哪个更好?

转载 作者:太空狗 更新时间:2023-10-29 23:53:22 24 4
gpt4 key购买 nike

我想创建一个类似于简单的 CAD 程序的东西,我可以在其中绘制圆、线、正方形等。没什么特别的,只是基本的绘图内容。

我对如何制作程序有一些想法,但我需要建议。在 CAD 程序中,可以绘制尽可能多的矩形和形状,并可以根据需要移除任何一个。

我在想每个绘制的图形(线、矩形、多边形)都应该是一个类的实例,并且该实例应该存储在一个列表中,因为我希望绘制的每个形状都有自己的属性,比如颜色、(x, y) 坐标、线型等。例如,'rect_list' 是一个容器,用于存储来自类 'Rectangle' 的实例。

对于这种制作程序的方法,用什么容器比较好? vectorlist 还是 deque

最佳答案

你的顶点列表应该在一个 vector 中(一旦你知道点的数量,调整 vector 的大小以容纳那么多并填充它),那么你需要一个包含所有这些 vector 的列表,这样你就可以插入中间和否则有效地操纵列表。

但是...您真正想要的是场景图。这是一个“ TreeView ”模型,存储对象的 3d View ,因此您可以轻松查看哪些对象与其他对象相关。它们还可以向您显示哪些对象在显示时隐藏了其他对象(因此您不需要同时绘制它们),或者哪些对象在屏幕外(同上)。

最好的一个是OpenSceneGraph ,它非常像 STL。

关于c++ - 对于 CAD 类型的程序,: lists, vector 或双端队列哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com