![](./styles/avalon/theme/images/row_left_top.gif) |
![](./styles/avalon/theme/images/row_right_top.gif) |
![](./styles/avalon/theme/images/spacer.gif) |
|
Page 1 of 1
|
[ 3 posts ] |
|
Creating custom parameter pins
Author |
Message |
racanu
Joined: 22 Jul 2008, 16:56 Posts: 2
|
![Reply with quote Reply with quote](./styles/avalon/imageset/en/icon_post_quote.gif)
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!
|
22 Jul 2008, 17:16 |
|
![](./styles/avalon/theme/images/spacer.gif) |
paolo
Joined: 21 Mar 2008, 22:35 Posts: 131
|
![Reply with quote Reply with quote](./styles/avalon/imageset/en/icon_post_quote.gif)
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
|
24 Sep 2008, 22:47 |
|
![](./styles/avalon/theme/images/spacer.gif) |
racanu
Joined: 22 Jul 2008, 16:56 Posts: 2
|
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.
|
25 Sep 2008, 08:21 |
|
|
|
Page 1 of 1
|
[ 3 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 20 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|
![](./styles/avalon/theme/images/spacer.gif) |
|