Skip to content

broccoli belstar v2.1.0

Philipp Seiwald requested to merge dev-v2 into belstar

Release of Broccoli belstar v2.1.0

New Features

  • [io]:
    • Added class Console for thread-safe and convenient console output with different logging levels
    • encoding: Added convenience methods for std::string with encodeToString() and decodeFromString()
    • Added methods to parse file paths (extract file name and directory)
    • Added method to copy files
    • LogFile: now supports to specify data object instances for writing header and footer (through setHeaderData() and setFooterData). This gives more flexibility especially for log data with dynamic-size vectors/matrices (correct column count)
  • [analysis]:
    • New module for analysis methods. Contains now a parallelized task-space evaluator.
  • [geometry]:
    • DHParameters: a new class to assist in converting DH parameters (according to Craig) to/from homogeneous transforms.
    • CGMeshFactory: a new class providing various helpers to create geometric primitives (boxes, spheres, ...) in the CGMesh format
  • [memory]:
    • MultiVector: a new class to represent multi-dimensional arrays (3D voxel grids, etc.)
    • MultiLevelGrid: a new class for multi-dimensional grid data structures with automatic data propagation (e.g. dense binary trees/quadtrees/octrees)
  • [parallel]:
    • ThreadSafeContainer: a new class for protecting member data with a mutex (internal or external) for thread-safety

Bug Fixes

  • [cmake]:
    • Instrumentation for coverage was always on, even in release builds. This slows down a lot of things.
  • [core/io/parallel]:
    • Instances of core::PlatformHelper are not static anymore in core::Time, parallel::BackgroundWorker and io::serialization (fixes issue of wrong destruction order for static objects). This seems to have no negative influence on the performance of core::Time::currentTime() (measured on Linux).
  • [io]:
    • fixed bug in LogFileBase (tried to create an empty target directory)

Non-Breaking Changes

  • [io]:
    • LogFileBase now inherits from ThreadSafeContainer
    • Console now uses base functionality of ThreadSafeContainer
  • [parallel]:
    • BackgroundWorker now inherits from ThreadSafeContainer
  • [memory]:
    • CircularBuffer now inherits from ThreadSafeContainer

Merge request reports