SetOutputMask
SetOutputMask は, 振動子ごとに出力の有効/無効を切り替えるコマンド.
SetOutputMask { masks };SetOutputMask(masks)new SetOutputMask(masks);| フィールド | 型 | 説明 |
|---|---|---|
masks |
Vec<Vec<bool>> |
デバイスごとの出力マスク (true で出力). |
Geometry::output_mask_buffer で全デバイス分のマスクを確保できる.
初期値はすべて true (全振動子が出力).
Example
Section titled “Example”use autd3_rs::commands::{Clear, SetOutputMask, Synchronize};use autd3_rs::geometry::{Autd3, Geometry};use autd3_rs::Client;use autd3_rs::udp::TransportOption;
let geometry = Geometry::new(vec![Autd3::default()]);let option = TransportOption::default();let mut client = Client::open(&geometry, &option).await?;client.send(Clear).await?;client.send(Synchronize).await?;
let masks = geometry.output_mask_buffer();
client.send(SetOutputMask { masks }).await?;import asyncio
from autd3 import Client, TransportOptionfrom autd3.commands import Clear, SetOutputMask, Synchronizefrom autd3.geometry import Autd3, Geometry
async def main() -> None: geometry = Geometry([Autd3()]) with await Client.open(geometry, TransportOption()) as client: await client.send(Clear()) await client.send(Synchronize())
masks = geometry.output_mask_buffer()
await client.send(SetOutputMask(masks=masks))
asyncio.run(main())using System.Threading.Tasks;using AUTD3;
var geometry = new Geometry(new[] { new Autd3() });using var client = await Client.OpenAsync(geometry, new TransportOption());await client.SendAsync(new Clear());await client.SendAsync(new Synchronize());
var masks = geometry.OutputMaskBuffer();
await client.SendAsync(new SetOutputMask(masks));