Releases: jhu-cisst/cisst
Releases · jhu-cisst/cisst
1.3.0
1.3.0 (2024-08-30)
- API changes:
- Added
override
for all derived methods - Removed redefinition of
virtual
in derived classes - cisstParameterTypes:
prmJointType
is nowcmnJointType
and JSON serialization now uses the string value (not enum number)
- Added
- Deprecated features:
- cisstParameterTypes: removed all classes related to transformation graph
- New features
- cisstDataGenerator: added support for enum in global scope, fix for
override
- cisstParameterTypes: added types
prmImageFrame
,prmCameraInfo
andprmDepthMap.h
- cisstRobot:
- Gravity can be declared as vector
- Uses
cmnJointType
- cisstDataGenerator: added support for enum in global scope, fix for
- Bug fixes:
- CMake:
cisst_offer_saw_component
updated to search forcomponent
orcore
(new SAW directory structure)
- cisstMultiTask:
- Fix for
mtsManagerLocal.GetInstance
- Fix for
- cisstParameterTypes:
- More
CISST_EXPORT
for Windows - Added new data types for SWIG wrapping
- Fixed
prmActuatorState::ToStream
- Added missing
break
inprmOperatingState.cpp
- More
- Fixed some GitHub actions/workflows
- CMake:
1.2.1
1.2.1 (2022-12-29)
- API changes:
- CMake find_package now uses CMake
COMPATIBILITY
SameMajorVersion
, older code used custom version check equivalent toSameMinorVersion
- CMake find_package now uses CMake
- Deprecated features:
- cisstNumerical: polynomial is not compiled by default, set
CISST_NMR_COMPILE_POLYNOMIALS
if these are needed. We plan to remove this code in later releases
- cisstNumerical: polynomial is not compiled by default, set
- Bug fixes:
- cisstDataGenerator: fixed export for enums and static methods
- cisstNumerical: for OS requiring CLAPACK, cisstNetlib now uses a fork that has been updated to support recent C/C++ compilers
- Fixed some GitHub actions/workflows
1.2.0
1.2.0 (2022-11-21)
- API changes:
- None
- Deprecated features:
- cisstNetlib DOWNLOAD_NOW has been removed, cisstNetlib has to be compiled by the user. The process is automatic with ROS1/catkin and ROS2/colcon
- ICE support has been removed
CISST_VERSION
is nowcisst_VERSION
- New features:
- CMake:
- Updated install targets and debian packages generation
- Works with ROS2/colcon
- New CMake macros to simplify CMakeLists.txt for SAW components
- cisstCommon:
- cmnCommandLineOptions:
- Overloaded Parse method to display the error message and usage if needed
- Overloaded Parse methods to support std::vectorstd::string
- cmnPath: added static method RenameFile
- cmnCommandLineOptions:
- cisstOSAbstraction: added definition for baud rates 230400 and 460800 for osaSerialPort
- cisstVector:
- vctDataFunctionsTransformationsJSON: normalize rotation matrices after de-serialization
- Added c{,r}{begin,end} for dynamic vectors
- cisstMultiTask:
- Uses "new" features by default
- Added mtsStateTableFilter and mtsInterfaceProvided::AddCommandFilteredReadState
- mtsInterfaceProvided: added method to get class services for argument types
- cisstParameterTypes:
- Added prmForceCartesianGetQtWidget
- Ported prmForceTorqueJointSet to use cisstDataGenerator
- Added data typed for kinematics queries
- CMake:
- Bug fixes:
- General: fixes for new compilers warnings
- CMake:
- Improved DirectShow Find Module for Windows 10 SDKs (#85)
- cisstMacros.cmake:
- Added missing executable output path in cisst_set_output_path
- Set CMake policy CMP0026 to OLD
- Fixed CMake for Qt5 using
Qt5::
- cisstDataGenerator:
- Fixed enum defined under namespace
- cisstMultiTask:
- Added missing mtsComponentConstructorArg
- cisstParameterTypes:
- Fixed data member initialization in
.cdg
files (prmPositionCartesianSet
,prmVelocityCartesianSet
,prmCartesianImpedanceGains
,prmPositionJointSet
,prmStateJoint
...)
- Fixed data member initialization in
- cisstMesh:
- Added missing CISST_EXPORT
1.1.0
1.1.0 (2021-04-04)
- API changes:
- Names of some commands and events in cisstMultiTask changed to match CRTK convention. See directory "utils/crtk-port"
- Deprecated features:
- None
- New features:
- General:
- Added cisstMesh library (see README.md in cisstMesh directory)
- OS/compiler support: Mac OS Clang 12, Ubuntu 20.04 gcc 9, Visual Studio 2019
- Github CI with workflows for Ubuntu 16.04, 18.04 and 20.04, Windows and macOS
- Using Numpy 1.7 for SWIG wrappers
- Qt: support for "dark mode" for non Qt window managers
- Support build against OS installed JsonCpp vs CMake external project
- cisstNetlib DOWNLOAD_NOW uses new URL (https://dvrk.lcsr.jhu.edu)
- cisstVector:
- Added more Euler rotations: ZXZ, YZX, ZYX... and unit tests
- Added vctPose3DQtWidget
- vctPlot2D Qt widget displays range in window
- cisstMultiTask:
- Added callback to interval statistics
- Added suggestions for missing interfaces/commands/events when trying to connect non-existing interfaces/command/event
- Added mtsDelayedConnections class
- Added virtual method mtsComponent::ConfigureJSON to adjust log level per component
- cisstRobot:
- Added support for gravity compensation for robManipulator with under actuated robot (e.g. dVRK ECM)
- Added methods to set/get maximum force/torque, names, type using vectors for robManipulator
- Added method to remove tool and truncate kinematic chain (robManipulator)
- Added robManipulator::LastError to get human readable message
- cisstParameterTypes:
- Added prmConfigurationJoint, prmPositionCartesianArrayGet{QtWidget}
- Added prmPositionJointSetQtWidget, prmPositionCartesianGetQtWidgetFactory
- Added prmInputDataConverter
- General:
- Bug fixes:
- CMake:
- Added some missing files for "clean" target
- Added .so version, can now generate debian packages
- cisstCommon:
- Fixed CMake dependency for data generator, would occasionally fail to build in parallel
- Fixed data generator to avoid multiple #include for cisstMultiTask proxies
- cisstOSAbstraction:
- cisstNumerical:
- Fixed slack implementation in nmrConstraintOptimizer
- Added missing CISST_EXPORT for nmrSymmetricEigenProblem
- cisstMultiTask:
- Limit number of commands processed in mailbox for one call to avoid dequeing as long as other component queues
- Fixed race condition in mtsEventReceiverWrite::EventHandler
- Fixed old bug that prevented to use std::string or size_t in state table with accessors
- Fixed support for MTS_OPTIONAL when adding event observer for required interfaces
- Fixed mtsManagerLocal::WaitForStateAll to not wait for tasks with ExecIn
- cisstParameterTypes:
- Fixed cisstParameterTypes.i
- cisstRobot:
- Fixed name of field "ftmax" in Json loading
- Marked more methods as virtual
- Fixed bug applying tool transform even if only part of forward kinematic was evaluated
- CMake:
1.0.11
1.0.11 (2019-04-09)
- API changes:
- None
- Deprecated features:
- None
- New features:
- General:
- Updated jsoncpp version when using external project
- By default, look for jsoncpp installed with OS on Linux
- Added Ubuntu 16.04 for travis
- cisstCommon:
- cisstConfig: added CISST_EXECUTABLE_SUFFIX
- cmnPath::Executable to create OS dependent executable name
- cmnPath: added DeleteFile static method
- cmnLogger: added method to set/get default log file name
- cisstVector:
- vctMatrixRotation3: constructor from BaseType is now implicit
- Rotation and vector widgets: added key press to reset orientation
- Dynamic vector and matrices: exception message for size mismatch now includes expected and received sizes
- cisstMultiTask:
- mtsManagerLocal: added RemoveAllUserComponents
- mtsManagerLocal: added ConfigureJSON(filename)
- mtsManagerLocal: better error messages if dynamic creation fails
- mtsTask: State tables now advance once in Startup method (if automatic)
- cisstRobot:
- robManipulator: added methods Set/GetJointLimits using vectors
- cisstParameterTypes:
- prmForceCartesianGet: added MovingFrame string member
- prmOperatingState: added type and widget for crtk compatibility
- prmInputDataQtWidget: new widget
- General:
- Bug fixes:
- cisstCommon:
- Tests: fixed CMake dependency on JSON libraries
- Tests: fixed strings for newer Windows compilers and OSs
- cisstDataGenerator: fixed human readable output
- cisstOSAbstraction:
- Tests: use PATH variable to locate osaPipeExec test program
- osaPipeExec: new Windows implementation for noWindow case
- osaPipeExec: fixed resource leak
- osaSocketServer: fix for Windows (based on feedback from dlrdave)
- cisstMultiTask:
- mtsCommand: fixed infinite recursion in Execute methods
- mtsIntervalStatistics: set as valid
- Tests: multiple fixes to better control creation of component manager and clear component manager
- cisstParameterTypes:
- prmEventTypeQtWidget: use switch statement to handle all possible event types
- cisstCommon:
1.0.10
1.0.10 (2018-05-16)
- API changes:
- cisstCommon:
- cmnPrintf: removed downcast to boolean for cmnPrintfParser, this was not used and required different implementations for different compilers
- cmnAssert: from now on, CMN_ASSERT is not defined when NDEBUG is defined. This behavior mimics assert().
- cisstMultiTask: mtsIntervalStatistics, renamed accessors and added statistics for computing time
- cisstCommon:
- Deprecated features:
- None
- New features:
- cisstCommon:
- cmnPortability: added CISST_THROW to dynamically specify exception or skip since this is being deprecated in newer C++ standards. Added unit test for python wrappers to make sure CISST_THROW specify exception for swig.
- cmnPortability: use std::isnan and std::isfinite when available (see also cisstConfig.h)
- cmnPrintf: added unit test, removed downcast to boolean for cmnPrintfParser
- cmnAssert: CMN_ASSERT not defined when NDEBUG is defined, fixed usage accross cisst libraries
- cmnQt::QApplicationExistOnCtrlC helper function to quit QApplication on ctrl+c
- cisstVector:
- vctVector3DQtWidget: widget to display a single 3D vector (used for 3D force/torque)
- vctForceTorqueQtWidget: widget to display 3D force/torque as text, 2D graph or 3D vector
- Fixed Qt widgets to display frame/3D vector to display reference frame, user can change orientation using mouse. Added
SetPrismaticRevoluteFactors
to display in mm/degrees
- cisstDataGenerator:
- Added "deprecated" keyword for data members
- cisstOSAbstraction
- osaPipeExec: added
noWindow
parameter toOpen
method. The default setting isfalse
, which is backward-compatible. On Microsoft Windows, setting it totrue
prevents the display of a console window. This parameter is ignored on other operating systems
- osaPipeExec: added
- cisstMultiTask:
- mtsIntervalStatistics: added statistics re. average computation time and overruns wrt previous time window, updated Qt widget and added conversion method to ROS messages (cisst-ros)
- Fixed SWIG code for Python 3
- cisstRobot:
- cisstParameterTypes:
- prmPositionJointSet: use data generator
- prmVelocityCartesianGet: use data generator, added moving/reference frame
- Added prmJointType, prismatic or revolute
- prmStateJoint: added vector of joint types. In Qt widget, added
SetPrismaticRevoluteFactors
used to display in mm/degrees - prmPositionCartesianGetQtWidget: displays frame using cisstVector frame widget, timestamp, valid flag and moving/reference frame names. Added
SetPrismaticRevoluteFactors
to display in mm/degrees.
- cisstCommon:
- Bug fixes:
- Re-ordered function declaration in CMN_IMPLEMENT_SERVICES_TEMPLATED_INTERNAL for clang 9.0/MacOS
- Fixed some variable initialization based on valgrind warnings
1.0.9
1.0.9 (2017-11-07)
- API changes:
- cisstMultiTask: mtsQtWidgetIntervalStatistics renamed mtsIntervalStatisticsQtWidget
- cisstParameterTypes:
- prmFixtureGainCartesianSet renamed prmCartesianImpedanceGains
- changed reference/moving frame from pointer to strings for cartesian set/get payloads
- CMake defaults:
- cisstStereoVision off by default
- cisstMultiTask ICE off by default
- cisstJSON on by default
- Deprecated features:
- None
- New features:
- CMake: can now bypass the FindCisstNetlib provided with cisst. Used to find local cisstNetlib config file.
- cisstCommon:
- cmnPath: added method SharedLibrary to generate dynamic library name based on OS
- cmnStrings: added cmnStringsReplaceAll
- XML: added method Exists(path) and fix for compilation with Qt5/Windows
- cisstVector:
- added SetSize method with default value for all elements
- cisstDataGenerator:
- added support to serialize/de-serialize from JSON
- changed internal variable names to avoid possible conflicts with user provided names
- cisstNumerical: CMake option to force using a local install with config.cmake file
- cisstMultiTask:
- added methods to configure component manager using JSON values
- use cisstDataGenerator for component constructor arguments (allows JSON)
- fixed incorrect error messages when optional interface/command was not found
- added mtsMessage type and methods to emit status/warning/error events from provided interface
- added mtsMessage, mtsIntervalStatistics and mtsSystem Qt Widget/Component
- updated Qt widget to save space
- cisstRobot: added wrapper for Reflexxes RML, builds Reflexxes as CMake External project
- cisstParameterTypes:
- added type prmInputData for DAQ
- added Qt widget for prmStateJoint
- actuator coupling message now only requires the actuator to joint position matrix
- External projects: created https://github.com/jhu-cisst-external to host clones of Reflexxes, jsoncpp and cppunit
- Bug fixes:
- cisstCommon: cmnRandomSequence, fixed ExtractRandomPermutation
- Qt: updated OpenGL base widget when using Qt5 (now using QOpenGLWidget)
- CMake: fixed search for QtXml when using Qt5
1.0.8
1.0.8 (2016-08-30)
- API changes:
- cisstDataGenerator: use std::vector instead of std::list for possible enum values/strings
- Deprecated features:
- None
- New features:
- cisstNumerical: nmrRegistrationRigid Python wrapper
- Bug fixes:
- cisstVector: fixed bug in RowPointers methods for dynamic matrices
- cisstOSAbstraction: fix serial port name on Windows when number greater than 9
- CMake: fixed configure_file @only
- CMake: set messages as STATUS for informational messages
- CMake: cisstStereoVision looks explicitly for OpenCV 2
1.0.7
1.0.7 (2016-05-16)
- API changes:
- None
- Deprecated features:
- None
- New features:
- CMake: added -fPIC for external projects, now compiles with clang on Ubuntu 12.04 and 14.04
- CMake: modifications to use find_package instead of cisst_find_saw_components
- cisstDataGenerator:
- Added methods to generate lists of enum values/strings
- Destructor can now be virtual to avoid warnings if user adds virtual methods
- cisstNumerical: added nmrLinearRegression
- cisstRobot:
- Added accessor to modify position offsets in robJoint
- Now partially wrapped using SWIG
- Bug fixes:
- cisstCommon: fix major bug in CMN_LOG macros (#45)
- cisstCommon: cmnTypeTraits, added some missing specializations for unsigned long
1.0.6
1.0.6 (2016-01-08)
- API changes:
- None
- Deprecated features:
- None
- New features:
- Added prmActuatorJointCoupling
- mtsComponent: added GetIndexReader for default state table
- Bug fixes:
- robManipulator: initialize data members Jn and Js
- cmnAccessorMacros: added missing const on Get method