import { Value } from "./value.js"; import { Text } from "./text.js"; import { Log } from "./log.js"; import { Func } from "./func.js"; import { View } from "./view.js"; import { Image } from "./image.js"; import { Field } from "./field.js"; import { RobotModel } from "./robotModel.js"; import { Canvas3D } from "./canvas3d.js"; import { Canvas2D } from "./canvas2d.js"; import { EventTarget } from "./event.js"; /** * Memberを指すクラス * * 詳細は {@link https://na-trium-144.github.io/webcface/md_02__member.html Memberのドキュメント} を参照 */ export declare class Member { base_: Field; /** * このコンストラクタは直接使わず、 * Client.member(), Client.members(), Client.onMemberEntry などを使うこと */ constructor(base: Field, member?: string); /** * Member名 */ get name(): string; /** * Valueオブジェクトを生成 */ value(name: string): Value; /** * Textオブジェクトを生成 */ text(name: string): Text; /** * RobotModelオブジェクトを生成 */ robotModel(name: string): RobotModel; /** * Viewオブジェクトを生成 */ view(name: string): View; /** * Canvas3Dオブジェクトを生成 */ canvas3D(name: string): Canvas3D; /** * Canvas2Dオブジェクトを生成 */ canvas2D(name: string): Canvas2D; /** * Imageオブジェクトを生成 */ image(name: string): Image; /** * Funcオブジェクトを生成 */ func(name: string): Func; /** * Logオブジェクトを生成 * * ver1.9〜: nameを指定可能 (デフォルトは "default") */ log(name?: string): Log; /** * 公開されているデータのリスト * @since ver1.10 * * * データ型を問わずすべてのデータを列挙する。 * * childrenRecurse() と異なり、 * 名前にさらにピリオドが含まれる場合はその前までの名前を返す。 * * 同名で複数のデータが存在する場合も1回のみカウントする。 */ children(): Field[]; /** * 公開されているデータのリスト(再帰) * @since ver1.10 * * * データ型を問わずすべてのデータを列挙する。 * * 同名で複数のデータが存在する場合も1回のみカウントする。 */ childrenRecurse(): Field[]; /** * 公開されているデータが存在するかどうかを返す * @since ver1.10 */ hasChildren(): boolean; /** * 公開されているvalueのリストを返す。 * @since ver1.10 */ valueEntries(): Value[]; /** * 公開されているtextのリストを返す。 * @since ver1.10 */ textEntries(): Text[]; /** * 公開されているfuncのリストを返す。 * @since ver1.10 */ funcEntries(): Func[]; /** * 公開されているviewのリストを返す。 * @since ver1.10 */ viewEntries(): View[]; /** * 公開されているlogのリストを返す。 * @since ver1.9 */ logEntries(): Log[]; /** * 公開されているimageのリストを返す。 * @since ver1.10 */ imageEntries(): Image[]; /** * 公開されているcanvas2Dのリストを返す。 */ canvas2DEntries(): Canvas2D[]; /** * 公開されているcanvas3Dのリストを返す。 */ canvas3DEntries(): Canvas3D[]; /** * 公開されているrobotModelのリストを返す。 * @since ver1.10 */ robotModelEntries(): RobotModel[]; /** * このMemberが公開しているValueのリストを返す * * @deprecated ver1.10〜 valueEntries() に移行 */ values(): Value[]; /** * このMemberが公開しているTextのリストを返す * * @deprecated ver1.10〜 textEntries() に移行 */ texts(): Text[]; /** * このMemberが公開しているRobotModelのリストを返す * * @deprecated ver1.10〜 robotModelEntries() に移行 */ robotModels(): RobotModel[]; /** * このMemberが公開しているViewのリストを返す * * @deprecated ver1.10〜 viewEntries() に移行 */ views(): View[]; /** * このMemberが公開しているImageのリストを返す * * @deprecated ver1.10〜 imageEntries() に移行 */ images(): Image[]; /** * このMemberが公開しているFuncのリストを返す * * @deprecated ver1.10〜 funcEntries() に移行 */ funcs(): Func[]; /** * Valueが追加された時のイベント * * コールバックの型は (target: Value) => void */ get onValueEntry(): EventTarget; /** * Textが追加された時のイベント * * コールバックの型は (target: Text) => void */ get onTextEntry(): EventTarget; /** * RobotModelが追加された時のイベント * * コールバックの型は (target: RobotModel) => void */ get onRobotModelEntry(): EventTarget; /** * Funcが追加された時のイベント * * コールバックの型は (target: Func) => void */ get onFuncEntry(): EventTarget; /** * Viewが追加された時のイベント * * コールバックの型は (target: View) => void */ get onViewEntry(): EventTarget; /** * Canvas3Dが追加された時のイベント * * コールバックの型は (target: Canvas3D) => void */ get onCanvas3DEntry(): EventTarget; /** * Canvas2Dが追加された時のイベント * * コールバックの型は (target: Canvas3D) => void */ get onCanvas2DEntry(): EventTarget; /** * Imageが追加された時のイベント * * コールバックの型は (target: View) => void */ get onImageEntry(): EventTarget; /** * Logが追加された時のイベント * @since ver1.9 * * コールバックの型は (target: Log) => void */ get onLogEntry(): EventTarget; /** * Memberがsyncしたときのイベント * * コールバックの型は (target: Member) => void */ get onSync(): EventTarget; /** * このMemberが使っているWebCFaceライブラリの識別情報 * * c++クライアントライブラリは"cpp", javascriptクライアントは"js", * pythonクライアントは"python"を返す。 */ get libName(): string; /** * このMemberが使っているライブラリのバージョン */ get libVersion(): string; /** * このMemberのIPアドレス */ get remoteAddr(): string; /** * 通信速度を調べる * * 通信速度データがリクエストされていなければリクエストを送る。 * @return まだ受信していなければnull, 取得できればpingの往復時間 (ms) */ get pingStatus(): number | null; /** * pingStatusのデータをリクエストする * @since ver1.8 * */ requestPingStatus(): void; /** * 通信速度が更新された時のイベント * * 通信速度データがリクエストされていなければリクエストを送る。 * コールバックの型は (target: Member) => void */ get onPing(): EventTarget; /** * syncの時刻を返す */ syncTime(): Date; }