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. MyBatis数据持久化(四)类型别名

    Mybatis的类型别名指的是我们可以为Java类型自定义一个简短的名字,以达到简化配置的目的,在上篇博文中我们的sql语句配置文件内容如下: <?xml version="1.0&q ...

  2. JavaScript学习——使用JS完成省市二级联动

    1.我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 2.步骤分析: 第一步:确定事件(onchange)并为其绑定一 ...

  3. load多个数据文件的yaml

    VERSION: 1.0.0.1DATABASE: testUSER: adminHOST: node31PORT: 5432GPLOAD: INPUT: - SOURCE: LOCAL_HOSTNA ...

  4. 【转载】大型系统中使用JMS优化技巧

    [本文转自:http://www.javabloger.com/article/sun-openmq-jms-large-scale-systems.html] 我们先来看看在Sun OpenMQ系统 ...

  5. ActiveMQ学习笔记(11)----ActiveMQ的动态网络连接

    1. 多播协议multicast ActiveMQ使用Multicast协议将一个Service和其他的Broker是我Service里连接起来.IP Multicast是一个被用于网络中传输数据到其 ...

  6. 优动漫PAINT-凌霄花画法

    再见小清新~这次教程教授的是凌霄花的画法!话说这个作者的花卉系列都很米粒啊~配色什么的,赞到没话说~ 教程是简单,呃.... 没有优动漫PAINT软件肿么办? 别着急,╭(╯^╰)╮ 小编给你送来了 ...

  7. 在yii2.0中封装一个生成验证码的控制器

    frontend目录下/封装的验证码类: <?php namespace frontend\controllers; use yii\base\Controller; class CapathC ...

  8. 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large问题

    2017年05月10日 09:45:55 阅读数:1659 在做查询数据库操作时,报了以上错误,原因是MySQL的max_allowed_packet设置过小引起的,我一开始设置的是1M,后来改为了2 ...

  9. HTTP——学习笔记(6)https

    HTTP+加密+认证+完整性保护=HTTPS HTTP是一种新协议吗?: 不是,HTTPS只是HTTP通信接口部分用SSL和TLS协议代替而已 HTTP中,身处应用层的HTTP直接和TCP通信.而在使 ...

  10. C语言程序设计:现代方法阅读笔记

    第二十六章 atexit函数允许用户“注册”在程序终止时要调用的函数:atexit(func); 在程序终止后,func函数会被自动调用 clock()函数可以计算程序运行时间 time函数返回当前的 ...