TULIP issueshttps://git.list.lu/nui/tulip/-/issues2017-08-02T19:22:59Zhttps://git.list.lu/nui/tulip/-/issues/28Add support for affine transformations to coronas2017-08-02T19:22:59ZEric Tobiaseric.tobias@list.luAdd support for affine transformations to coronasAt support for affine transformations at corona level so that suers can choose between specifying an offset point and angle or specify more complex affine transformations. Both must be exclusive.
It would be wise to adapt the code suc...At support for affine transformations at corona level so that suers can choose between specifying an offset point and angle or specify more complex affine transformations. Both must be exclusive.
It would be wise to adapt the code such that the final paint method only works with affine transformations and that the offset in position, angle, etc are only calculated once when the corona is instantiated and then transformed into an affine transformation.
@vmaquil Would this be okay for you?Initial stable releasehttps://git.list.lu/nui/tulip/-/issues/27How to handle blobs2017-08-02T19:22:59ZEric Tobiaseric.tobias@list.luHow to handle blobsWe would need to decide how to handle blobs. As of now, Nicolas added code to tackle blobs exactly like cursors, meaning, it automatically adds a small shadow to the blobs. However, as blobs are not cursors, this is likely wrong and need...We would need to decide how to handle blobs. As of now, Nicolas added code to tackle blobs exactly like cursors, meaning, it automatically adds a small shadow to the blobs. However, as blobs are not cursors, this is likely wrong and needs to be changed.
See TangibleObjectManager line ~188.
Discuss with @vmaquil and @cmoll.Initial stable releasehttps://git.list.lu/nui/tulip/-/issues/26Coverting TuioCursor and historical data.2017-08-02T19:22:59ZEric Tobiaseric.tobias@list.luCoverting TuioCursor and historical data.It seems that during conversion of a cursor, the historical data of the cursor is not correctly kept as there is no check to retrieve an already existing cursor.It seems that during conversion of a cursor, the historical data of the cursor is not correctly kept as there is no check to retrieve an already existing cursor.Initial stable releaseEric Tobiaseric.tobias@list.luEric Tobiaseric.tobias@list.luhttps://git.list.lu/nui/tulip/-/issues/23Consistent logging2017-06-08T21:33:58ZEric Tobiaseric.tobias@list.luConsistent loggingDecide on whether to add logging on adapter level or on the base widget level.Decide on whether to add logging on adapter level or on the base widget level.Initial stable releaseEric Tobiaseric.tobias@list.luEric Tobiaseric.tobias@list.luhttps://git.list.lu/nui/tulip/-/issues/22Rework server and socket closure2017-06-08T21:33:58ZEric Tobiaseric.tobias@list.luRework server and socket closureAs an example, have a look at http://stackoverflow.com/questions/8051863/how-can-i-close-the-socket-in-a-proper-way
Closing streams and servers can be tricky. If after reading the thread you see no problems with your code, I'll explai...As an example, have a look at http://stackoverflow.com/questions/8051863/how-can-i-close-the-socket-in-a-proper-way
Closing streams and servers can be tricky. If after reading the thread you see no problems with your code, I'll explain further.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/21Further reuse2017-06-08T21:33:58ZEric Tobiaseric.tobias@list.luFurther reuseAn example is TcpServer when you close the client and server. The method for closing the server features redundant code.An example is TcpServer when you close the client and server. The method for closing the server features redundant code.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/20Inconsistent version numbering2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luInconsistent version numberingAs an example, take the BluetoothAdapter. It shows has having been added as of version 1.0. This is not the case. the current version stamp is 2.0.41. You probably started working on it as soon as 2.0.1 though. Please correct the version...As an example, take the BluetoothAdapter. It shows has having been added as of version 1.0. This is not the case. the current version stamp is 2.0.41. You probably started working on it as soon as 2.0.1 though. Please correct the version numbering.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/19Complete documentation on EventLogger2017-08-02T19:22:59ZEric Tobiaseric.tobias@list.luComplete documentation on EventLoggerThe documentation is lacking and the naming conventions have been severely maimed. The class needs to be reworked.The documentation is lacking and the naming conventions have been severely maimed. The class needs to be reworked.Initial stable releasehttps://git.list.lu/nui/tulip/-/issues/18Inconsistent path assignment2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luInconsistent path assignmentTuioAdapter line 126.
When converting from a TuioObject to a TangibleObject you iterate over the path and convert each position to a Point. At that moment you correctly take the path's x and y coordinates but always add the current an...TuioAdapter line 126.
When converting from a TuioObject to a TangibleObject you iterate over the path and convert each position to a Point. At that moment you correctly take the path's x and y coordinates but always add the current angle of the passed object. This seems to be inconsistent.
Find a more accurate solution.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/17Inconsistent contract management2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luInconsistent contract managementUsing Design by Contract and the proper annotations should be encouraged. Adding @NonNullByDefault on class level makes all methods, parameters, fields, etc to be non-null by default. Hence, the @pre annotation mentioning that some param...Using Design by Contract and the proper annotations should be encouraged. Adding @NonNullByDefault on class level makes all methods, parameters, fields, etc to be non-null by default. Hence, the @pre annotation mentioning that some parameter cannot be null is redundant.
With the correct IDE setup possible null values are shown as errors/warnings. If a contract is documented, you have to assume it is fulfilled.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/16Remove obsolete/deprecated/dead code2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luRemove obsolete/deprecated/dead codeTuioAdapter Line 110
If the commented line is not needed, remove it.TuioAdapter Line 110
If the commented line is not needed, remove it.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/15Inconsistent precondition2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luInconsistent preconditionTuioAdapter Line 98
The precondition mentions all interface managers needing to be instantiated but it only checks one.TuioAdapter Line 98
The precondition mentions all interface managers needing to be instantiated but it only checks one.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/14Review exception handling in TangibleApplication Cosntructor2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luReview exception handling in TangibleApplication CosntructorReview the exception handling scheme in the TangibleApplication constructor to not throw any exceptions. The system should give an appropriate error/exception notification and then exit if an adapter cannot be instantiated.
Work under...Review the exception handling scheme in the TangibleApplication constructor to not throw any exceptions. The system should give an appropriate error/exception notification and then exit if an adapter cannot be instantiated.
Work under the principle that any modification to the TULIP code **must not** impact any client code unless it is a simple addition to the properties or similar configuration file.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/13Clean properties file2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luClean properties fileClean the properties file of all unnecessary additions. However, leave some clear documentation in the file for properties that need to be added by any client application (including the expected syntax).Clean the properties file of all unnecessary additions. However, leave some clear documentation in the file for properties that need to be added by any client application (including the expected syntax).Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/12Switch back to in-house annotation library2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luSwitch back to in-house annotation librarySwitch back to using dbc.annotation for IDE-based Null Analysis.Switch back to using dbc.annotation for IDE-based Null Analysis.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/11Image Corona - Rework design for positioning and rotation2017-08-02T19:22:59ZEric Tobiaseric.tobias@list.luImage Corona - Rework design for positioning and rotationThe current design for determining the corona's centre, offset, spin, and rotation are too confusing. The corona should be overhauled to streamline the design and use a few more comprehensive terms.
As of now, due to a recent adaptati...The current design for determining the corona's centre, offset, spin, and rotation are too confusing. The corona should be overhauled to streamline the design and use a few more comprehensive terms.
As of now, due to a recent adaptation for Climate Change, the Image corona is not rotating as expected which results in a few usability problems.Initial stable releasehttps://git.list.lu/nui/tulip/-/issues/10Complete documentation2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luComplete documentationDocumentation should be completed with meaningful and stringent comments and Javadoc. This includes well chosen method and field names as well as parameters. Don't abbreviate where not necessary. Class names should not be redundant. "Tui...Documentation should be completed with meaningful and stringent comments and Javadoc. This includes well chosen method and field names as well as parameters. Don't abbreviate where not necessary. Class names should not be redundant. "TuioConcreteAdapter" has both "Tuio" and "Concrete" in its name. One suffices.
Examples: Why call getObjectId() on TangibleObject? Is there another identifier than that of the object? Don't abbreviate object to obj in some cases.
* [ ] TangibleObject
* [ ] TangibleObjectBuilder
* [ ] TuiAdapter
* [ ] TuioConcreteAdapter
* [ ] BluetoothClient
* [ ] BluetoothServer
* [ ] ClientAdapter
* [ ] NetworkAdapter
* [ ] ServerAdapter
* [ ] TcpClient
* [ ] TcpServer
* [ ] XbeeAdapter
Same holds true for tests.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/9Use Null Pointer Analysis2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luUse Null Pointer AnalysisUse annotations for automated IDE Null Pointer Analysis and documents your contracts properly.Use annotations for automated IDE Null Pointer Analysis and documents your contracts properly.Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/5Libraries not present | obsolete2017-06-08T21:33:59ZEric Tobiaseric.tobias@list.luLibraries not present | obsoleteThe classpath contains libraries that are referenced absolutely with a local folder and won't be present when checking out the project.
Either add libraries (watch for the project being LGPL) or remove if obsolete!
Project 'TULIP' ...The classpath contains libraries that are referenced absolutely with a local folder and won't be present when checking out the project.
Either add libraries (watch for the project being LGPL) or remove if obsolete!
Project 'TULIP' is missing required library: 'C:\Users\gilmard\Documents\Arduino\Adapter\bluecove-2.1.1-SNAPSHOT.jar'
Project 'TULIP' is missing required library: 'C:\Users\gilmard\Documents\Arduino\Adapter\xbee-api-0.9\lib\RXTXcomm.jar'
Integrate Nicola's workNicolas GilmardNicolas Gilmardhttps://git.list.lu/nui/tulip/-/issues/3Evaluate coordinate contracts2017-08-02T19:23:01ZEric Tobiaseric.tobias@list.luEvaluate coordinate contractsRecent experience has shown that coordinates may need to address space outside of the bounds as defined by the calibration file. The contracts that are in place and modelled by prerequisites need to be reevaluated.Recent experience has shown that coordinates may need to address space outside of the bounds as defined by the calibration file. The contracts that are in place and modelled by prerequisites need to be reevaluated.Initial stable releaseEric Tobiaseric.tobias@list.luEric Tobiaseric.tobias@list.lu