29.可用的接口

本章用伪代码列出在2.3章介绍过的最重要的接口。对每个接口,实际的实现可以提供更多的方法,例如,除了SetValue(value)方法,还可以用直接映射到SetValue()的方式来实现operator=(value)方法。而且,实际的变量类型也可以不一样,例如,相对于伪代码中的类型string,实际的实现可以是Cstring,std::string或其它的类型。

在第2.8章可以找到更完整的解释。

291IInteger接口

l           int64 GetValue() – 返回值

l           void SetValue( int64 ) – 设定值

l           int64 GetMin() – 返回最小值

l           int64 GetMax() – 返回最大值

l           int64 GetInc() – 返回increment

l           ERepresentation GetRepresentation() – 返回枚举型一样的数据

292IFloat接口

l           double GetValue() – 返回值

l           void SetValue( double ) –设定值

l           double GetMin() –返回最小值

l           double GetMax() –返回最大值

l           ERepresentation GetRepresentation() –返回枚举型一样的数据

l           string GetUnit() – 返回单位

293IString接口

l           string GetValue() –返回值

l           void SetValue( string ) –设定值

l           int64 GetMaxLenght() – 返回字符串的最大长度

294IEnumeration接口

l           string GetStringValue() – 把枚举型当做字符串返回

l           void SetStringValue( string ) –把枚举型当做字符串设置

l           int64 GetIntValue() – 返回枚举数据相对应的索引值

l           void SetIntValue( int64 ) –设置枚举数据相对应的索引值

l           EnumEntryList GetEntries() – 返回一个指向枚举型的EnumEntry节点的指针的列表

295ICommand接口

l           void Execute() – 执行这个命令

l           boolean IsDone() – 如果命令已经执行,返回true;还在执行,返回false

296IBoolean接口

l           boolean GetValue() – 返回值

l           void SetValue( boolean ) –设定值

297IRegister接口

l           void Get( uint8 *pBuffer, int64 Length ) – 取得寄存器的内容,放入缓冲区

l           void Set( uint8 *pBuffer, int64 Length ) – 从缓冲区取出数据,设置寄存器内

l           int64 GetAddress() – 取得寄存器的地址

l           int64 GetLength() – 取得寄存器的长度,单位字节

298ICategory接口

l           NodeList GetFeatures() – 返回一个指向属性节点的指针的列表

299IPort接口

l           void Read( uint8 *pBuffer, int64 Address, int64 Length ) – 从设备上读一组字节,读的位置是 [Address, Address+Length]

l           void Write( uint8 *pBuffer, int64 Address, int64 Length ) – 写一组字节到设备上,写的位置是 [Address, Address+Length]

2910ISelector接口

l           boolean IsSelector() – 说明节点是否是一个选择器

l           NodeList GetSelectedFeatures() – 返回一个指针的列表,指针指向由当前节点选择的属性节点

210.标准属性列表

GenApi允许你根据名称、接口类型和含义,来定义抽象属性,并让它们为统一的API和GUI所接受。但是,GenApi不为某种特定的设备,例如相机,提供定义好的属性。这些标准属性列表是分开提供的。不过,GenApi通过NameSpace和StandardNameSpace属性的方式支持这些列表。(参见2.8.1)。

虽然创建标准属性列表的组织的工作并没有受到多少限制,GenApi本身定义了一些属性,这些属性必须在每个标准属性列表钟提供:

接口

名称

含义

ICategory

Root

属性树的root

IPort

Device

设备的默认端口

IBoolean

TLParamsLocked

Implements a flag served by the transport layer indication that it is set up for streaming.

GenIcam标准(六)的更多相关文章

  1. GenIcam标准(四)

    2.8.可用的节点类型 本章对每个可用的节点类型提供一个概要的描述,包括其功能.用途以及最关心的参数.另外,对于每个节点在GenICam标准的XML格式文件中的layout,会有一个正式的说明.这个格 ...

  2. GenIcam标准(二)

    2     GenApi模块 – 配置相机 2.1. 简介 GenApi模块解决如何去配置相机的问题.主要的思路是,让相机生产厂商为他们的相机提供机器可以识别的产品说明.这些相机描述文件(camera ...

  3. GenIcam标准(一)

    1.概述 如今的数码摄相机包含了很多的功能,而不仅仅是采集图像.对于机器视觉相机来说,处理图像并把结果附加到图像数据流上,控制附加的硬件,代替应用程序作实时的处理等都是很平常的事情.这也导致了相机的编 ...

  4. GenIcam标准(三)

    2.6. 缓存 如果某个实现对每个写操作支持范围.实现和可用状态的检查,通常会触发一系列对相机的读操作.大多数用于有效性检查的数值很少或不会发生变化,所以可以放入缓存.相机描述文件包含所有必需的定义以 ...

  5. GenIcam标准介绍

    GenICam TM的目标是为各种相机和设备提供通用编程接口.无论他们使用什么接口技术(GigE Vision,USB3 Vision,CoaXPress,Camera Link HS,Camera ...

  6. GenIcam标准(五)

    2.8.10.Enumeration, EnumEntry Enumeration节点把一个名称(name)映射到一个索引值(index value),并实现Ienumeration接口.Enumer ...

  7. GenIcam标准关键词整理

    1.<?xml> 版本信息和编码方式 IntSwissKnife 需计算和判断的节点 MaskedIntReg 需查询的节点 2.<RegisterDescription> 寄 ...

  8. 机器视觉必知-GenICam相机通用接口标准

    机器视觉必知-GenICam相机通用接口标准 GenICam(相机通用接口): 一种通用软件接口 通用相机接口标准 目前机器视觉行业所使用的相机几乎均以相同方式来进行配置,即:---通过在注册表中的读 ...

  9. Delphi编码规范

    以下是在之前的公司与别人共同参与制定的Delphi开发规范(5年前了,那时用的还是Delphi7,部分规则可能有些过时,但不整理了,觉得有用的人,自己整理成适合自己的开发规范吧), 目    录一.序 ...

随机推荐

  1. 51nod 1632 B君的连通

    题目: 这题看起来难,其实这么多概率啥的都是唬人的.甚至连快速幂都不用就可以解. 解法:    n个节点,n-1条边,期望会有一半的边被炸毁(因为总体概率就是50%). 即(n-1)/2条边被炸毁,这 ...

  2. 原生ajax实现文件上传

    视图层 JS 函数:    <input type="file" onchange="sendFile()" id="up" /> ...

  3. (GDOI2018模拟九)【UOJ#192】【UR#14】最强跳蚤

    (开头先Orz myh) 原题目: 在人类和跳蚤的战争初期,人们凭借着地理优势占据了上风——即使是最强壮的跳蚤,也无法一下越过那一堵坚固的城墙. 在经历了惨痛的牺牲后,跳蚤国王意识到再这样下去,跳蚤国 ...

  4. oracle 11G 配置侦听文件

    lsnrctl status   130  2017-08-23 03:15:16 oracle cat /etc/hosts   131  2017-08-23 03:15:26 oracle ca ...

  5. GIT配置多用户

    在公司工作的时候有时候想提交一点代码到github上,然后一台电脑上就需要配置两个账号分别访问github和公司的gitlab 1. 分别生成两个key 为什么要生成两个key的原因我也不清楚,望路过 ...

  6. IOS中UIImagePickerController中文界面问题

    今天沈阳斌子,写IOS项目遇到一个调用照相机的问题,找到解决方法,高速攻克了拿给PM看,结果PM说程序调用的照相机不是中文的是英文的.必须改成中文.上网找到了方法.试用后好用拿出来和大家分享.方法例如 ...

  7. [MST] Create Dynamic Types and use Type Composition to Extract Common Functionality

    Since MST offers a runtime type system, it can create and compose types on the fly, making it possib ...

  8. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

  9. android 自己定义dialog并实现失去焦点(背景透明)的功能

    前言:因为在项目中须要用到更新显示动画的需求,所以想到了dialog,自己定义dialog不难.网上教程非常多,可是在实现dialog背景透明的需求时,遇到了一点问题.网上的一些方法在我的机器上并没有 ...

  10. 自己封装js组件 - 初级

    2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造...)索性我就 ...