vector<Matrix4f> Transforms;翻译成Qt
时间: 2023-09-24 21:10:48 浏览: 40
这是一个C++代码片段,其中`vector`是一个动态数组,`Matrix4f`是一个4x4的矩阵类型。
在Qt中,我们可以使用`QVector`代替`vector`,并且使用`QMatrix4x4`代替`Matrix4f`,代码如下:
```cpp
QVector<QMatrix4x4> Transforms;
```
相关问题
public class DottedLine : MonoBehaviour { /// <summary> /// 存放虚线中的每个线段 /// </summary> public List<GameObject> gameObjects; /// <summary> /// 存放每个码头的名字 /// </summary> public List<string> wharfId; public bool showBerthingArea = true; public bool showNotifyArea = true; public string currentId=""; /// <summary> /// 将每个线段添加到List /// </summary> void Start() { Transform[] transforms = GetComponentsInChildren<Transform>();//获取当前游戏对象及其所有子对象上的Transform组件,并将它们存储在一个数据组中。 foreach (Transform tf in transforms) { GameObject go = tf.gameObject; if (go != gameObject)//将所有子对象的GameObject对象存储到一个列表中,并排除了当前游戏对对象本身。也就是说,如果go指向的是当前游戏对象本身,那么它不会被添加到gameObjects列表中。 { gameObjects.Add(go); } }public void UpdateHeightLight(string id, bool berthingArea=true, bool notifyArea = false) { foreach (GameObject go in gameObjects) { if (id == "" || go.name.Contains(id)) { LineRenderer line = go.GetComponent<LineRenderer>(); if (line != null) { bool show = false; if (go.name.Contains("BerthingArea")) { show = berthingArea; } else if (go.name.Contains("NotifyArea")) { show = notifyArea; } line.TrySetActive(show); } } } } public void ShowAssignId(string id) { currentId = id; Debug.LogError($"current:{ currentId}"); UpdateHeightLight(id, showBerthingArea, showNotifyArea); }
这段代码定义了一个名为 DottedLine 的类,该类用于控制虚线的显示。这个类包含了一个名为 gameObjects 的公共 List,用于存放虚线中的每个线段的 GameObject 对象。此外,该类还包含了一个名为 wharfId 的公共 List,用于存放每个码头的名字。这个类还包含了一个名为 UpdateHeightLight 的公共方法,用于根据传入的 id 参数来更新虚线的高亮显示状态。该类还包含了一个名为 ShowAssignId 的公共方法,用于将当前的 id 值设置为传入的 id 参数,并更新虚线的高亮显示状态。
Traceback (most recent call last): File "D:/pythonProject/test2.py", line 40, in <module> transforms.multiprocessing(lambda x: x + torch.randn_like(x) * 0.1), AttributeError: module 'torchvision.transforms' has no attribute 'multiprocessing'
这个错误通常是因为你使用的 PyTorch 版本太低,而 torchvision 版本太高。`torchvision.transforms.multiprocessing` 是在 PyTorch 1.7.0 中引入的,如果你的 PyTorch 版本低于 1.7.0,就会出现这个错误。
你可以尝试升级 PyTorch 和 torchvision 到最新版本,方法如下:
```
pip install torch torchvision --upgrade
```
如果你已经安装了最新版本的 PyTorch 和 torchvision,但仍然出现这个错误,你可以尝试从 `torch.multiprocessing` 中导入 `Pool` 类,替换 `transforms.multiprocessing`,像这样:
```
from torch.multiprocessing import Pool
...
with Pool() as pool:
data = pool.map(transforms, data)
```
这应该能解决你的问题。