EyesWeb XMI Forum
http://forum.eyesweb.infomus.org/

Creating custom parameter pins
http://forum.eyesweb.infomus.org/viewtopic.php?f=25&t=29
Page 1 of 1

Author:  racanu [ 22 Jul 2008, 17:16 ]
Post subject:  Creating custom parameter pins

Hello all.

I am very new to EyesWeb but I find it very interesting and potentially very useful for the video processing algorithms that I am trying to simulate.
However the documentation I could find does not cover all aspects that I am interested in. So I decided to post the question to this forum and hope someone has some tips or hints.

I am in the process of creating some custom blocks containing the algorithms. In real life, some of them will be implemented in hardware and some in software. These blocks however typically need custom input and output pins as well as custom parameter pins due to the high number of parameters and the conventions we already use in our blocks.

I have been able to define a custom output pin with no problems by defining a new Datatype. But in trying the same method for a custom parameter I haven't been able to make it work. The Datatype gets defined, the code compiles and the dll registers but when I try to put the component on the canvas I get an error, something like "cannot instantiate component..."

My suspicion is that this is because as opposed to Inputs and Outputs, for Parameters the EyesWeb environment needs to be able to identify the Datatype's structure in order to present it's fields in simple types in the Parameter view. I further thought that maybe a Datatype meant to be used as parameter needs to implement some special interface that the Eyw environment can use to interrogate it about its fields, but I looked at the header files of other complex types defined in the SDK (e.g. IRGBColor) and they only implement IDatatype...

There are no other things I can think of anymore to make the parameter work. Has someone already done this? Can anyone give me some hints what to look for?

The next step, of course is to create Generator blocks that are able to make a complex parameter out of a multitude of simple parameters... but that's only after I get complex parameters right.

Thanks for any tips!

Author:  paolo [ 24 Sep 2008, 22:47 ]
Post subject:  Re: Creating custom parameter pins

Only a subset of the kernel and base datatypes can be used to declare a parameter.

These ones from the kernel catalog (EYW_KERNEL_CATALOG_ID):
EYW_KERNEL_CATALOG_INT_ID
EYW_KERNEL_CATALOG_DOUBLE_ID
EYW_KERNEL_CATALOG_BOOL_ID
EYW_KERNEL_CATALOG_STRING_ID
EYW_KERNEL_CATALOG_TRIGGER_ID
EYW_KERNEL_CATALOG_RGBCOLOR_ID
EYW_KERNEL_CATALOG_FONT_ID
EYW_KERNEL_CATALOG_ACCELERATORKEY_ID
EYW_KERNEL_CATALOG_TIME_ID
EYW_KERNEL_CATALOG_DOUBLEMATRIX_ID
EYW_KERNEL_CATALOG_INTMATRIX_ID
EYW_KERNEL_CATALOG_LINE2D_INT_ID

and these one from the base catalog (EYW_BASE_CATALOG_ID)
EYW_BASE_CATALOG_POINT2D_INT_ID
EYW_BASE_CATALOG_POINT2D_DOUBLE_ID
EYW_BASE_CATALOG_POINT3D_INT_ID
EYW_BASE_CATALOG_POINT3D_DOUBLE_ID
EYW_BASE_CATALOG_LINE2D_DOUBLE_ID
EYW_BASE_CATALOG_RECTANGLE2D_INT_ID
EYW_BASE_CATALOG_RECTANGLE2D_DOUBLE_ID
EYW_BASE_CATALOG_ELLIPSE2D_INT_ID
EYW_BASE_CATALOG_ELLIPSE2D_DOUBLE_ID
EYW_BASE_CATALOG_POLYLINE2D_INT_ID
EYW_BASE_CATALOG_POLYLINE2D_DOUBLE_ID
EYW_BASE_CATALOG_ROI2D_INT_ID
EYW_BASE_CATALOG_ROI2D_DOUBLE_ID
EYW_BASE_CATALOG_SIZE2D_INT_ID
EYW_BASE_CATALOG_VECTOR2D_INT_ID
EYW_BASE_CATALOG_VECTOR3D_INT_ID
EYW_BASE_CATALOG_SIZE2D_DOUBLE_ID
EYW_BASE_CATALOG_VECTOR2D_DOUBLE_ID
EYW_BASE_CATALOG_VECTOR3D_DOUBLE_ID


The reason of this limitation is the one you guessed. The ide is not aware of the semantic of the other types, thus, it is not able to show them to the user.

Paolo

Author:  racanu [ 25 Sep 2008, 08:21 ]
Post subject:  Re: Creating custom parameter pins

Thanks for your reply Paolo..
It's a pity this cannot be achieved, as it would have added to the power and flexibility of EyesWeb greatly.
As I described before, an interface could be defined that would return a description of the datatype in terms of simple fields (perhaps as an XML).
Thus, the IDE would be able to display the data type to the user and the user could use data splitters to attach controls to the values in the datatype.
If the IDE was open-source we would be interested to build upon it. But since it's closed, we have little choice.

Greetings,

Adrian.

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/