0.26.3 (2026-06-16): - Fixes issues with C# SWIG and exports in kernel 0.26.2 (2026-06-10): - Adds proper export/import macros in kernel, core and urdfplugin - Renames SpotLight to Spotlight in sensor bundle - Retroactively fixes migration from 0.22.4 to 0.23.0 - Adds new inter process communication API in control module 0.26.1 (2026-06-09): - Adds new depth camera sensor - Refactors ambient occlusion model - Adds import of mesh vertex colors in visuals import plugin - Improved excavator model - Fixes issues in SNAP - Adds ubuntu 26 support - Ignores ASSIMP DefaultMaterial - Adds displacement output for FlexibleGear 0.26.0 (2026-05-25): - Renamed SurfaceFeatures.Normals to SurfaceFeatures.Normal 0.25.7 (2026-05-21): - Fixes missing marshalling metadata for sensors - Fixes in bulldozer bundle 0.25.6 (2026-05-18): - Fixes bugs in Formatter and LayoutEngine - Adds new UDP server/client prototype - Fixes marshalling for mate connector outputs - Fixes bug when static methods was used with traits 0.25.5 (2026-05-18): - Fix for imports in LayoutEngine - Adds option to sort output of Object queries - Includes visual import plugin in WASM build 0.25.4 (2026-05-11): - Updates documentation for surface viscosity - Updates Vehicle bundle documentation - Integrates the URDF plugin and Visual Import plugins - Adds README.md for the control module - Adds throttle output to drive train engines. - Adds ramp_shared_state to Control.Keyboard.Actions.Set 0.25.3 (2026-04-30): - Adds support for detaching Marshalling instances copies that maintain ownership of the buffer - Reworks the Control.Keyboard.Actions.Ramp action and adds a new Offset action. - Implements support for optional references to the model itself. 0.25.2 (2026-04-28): - Adds support for support geometries for tracks - Suppresses reexport of ASSIMP symbols when linking statically 0.25.1 (2026-04-24): - Workaround for link issues with ASSIMP for Mac 0.25.0 (2026-04-21): - Adds new visualimport plugin and proper support for visual materials. - Adds migration for removed Visuals.Materials.TextureMaterial - Adds error logs to ControlInterface and DispatchControl 0.24.2 (2026-04-20): - Camera sensor support - Fixes unreachable code warning in Marshalling.h - Error code support in Marshalling.h 0.24.1 (2026-04-17): - Fixes bug with generic input/outputs in ControlDispatch - Reworks Control.Keyboard.Actions.Ramp replacing ramp_value and frequency with rate - Adds runtime context parameters to enable/disable snap history - Improvements to snap history 0.24.0 (2026-04-16): - Subfolders in Vehicles bundle in singular - Adds migrationscript 0.23.4 to 0.24.0 - Updates Vehicles.Bulldozer structure - Adds Control.Keyboard models for modeling keyboard controllers - Fixes damping_constant in Vehicles.Suspensions.SingleMate.Interactions.LinearSpringDamper - Adds Snap history feature 0.23.4 (2026-04-09): - Improves JsonControlInterface API - Adds highlight API to WASM module - Improves documentation generator 0.23.3 (2026-04-02): - Fixes integer support in Marshalling::read - Reworks the HeapControlInterface API to make it more convenient 0.23.2 (2026-03-31): - Prototype migration tool - Add missing marshalling field for GearBox, TorqueConverterTurbineTorqueOutput and TorqueConverterPumpTorqueOutput 0.23.1 (2026-03-20): - Improves json serialization of runtime objects - Packages bundle .tar files with wasm package 0.23.0 (2026-03-13): - Vehicle bundle: - Refactor of Track models - Physics3D - Universal and constant velocity joint - Fixes issues in SNAP algorithm 0.22.9 (2026-03-10): - Fixes bug where traits would not propagate from parent properly - Fixes bug where or types were not assignable - Report error when trying to call non-static method on this - Better API for tests in Control interfaces 0.22.8 (2026-03-04): - Bug fix in parser that could cause crash when loading .openplx file with errors 0.22.7 (2026-03-04): - Fixes for C# SWIG bindings for traits 0.22.6 (2026-03-03): - Fix SEGFAULT issue when loading OpenPLX file with errors - Utility write method in Marshalling for writing to single field controls - Major updates to Vehicle bundle with new DumpTruck model 0.22.5 (2026-02-27): - Fixes bug in ControlInterface for Control.Virtual.GroupOutput 0.22.4 (2026-02-19): - Adds suspension direction to Vehicle bundle - Fix python SWIG include order 0.22.3 (2026-02-19): - Minor fixes for wasm - Support for virtual controls in signal interface - Fixes for arrays with references - Restructure of Vehicles bundle 0.22.2 (2026-02-17): - Fixed several reference related bugs in the parser - Updates for virtual controls to the control module - New experimental wasm deliverable - Refactors to MachineModeling bundle 0.22.1 (2026-02-04): - Workaround for issue when indexing array of references 0.22.0 (2026-02-04): - Fix for erroneously reported cyclic errors - Control module: - Support for virtual controls in JsonControlInterface - int and bool controls support - Fix double precision in JsonControlInterface 0.21.5 (2026-01-26): - New MachineModeling bundle - New Control bundle - Support for virtual controls in control module - Fixes for nested marshalling in control module 0.21.4 (2026-01-20): - Updates in control module for raw memoryview access and window marshalling - New IMU sensor model - Restore bundle path setup for consumers via conan 0.21.3 (2026-01-16): - Workaround for reference and becomes issue - Fix in JsonControlInterface for controls with multiple fields 0.21.2 (2026-01-15): - Fix bug in semantic analysis causing corrupt values - Adds VS2026 support - Adds missing include in Marshalling.h 0.21.1 (2026-01-14): - New experimental control API for updating/inspecting the runtime 0.21.0 (2025-12-16): - Refactored OpenPLX to be built as a single CMake project - Artifacts are renamed - Conan packages are also merged into a single conan openplx package - Hash-library files sha1.h and sha1.cpp are now built in statically so hash-library dependency is gone - Removes usage of spdlog by introducing a new openplx::Logger that can be set in OpenPLX context - Workaround for inertia issue in Robotics.Joints.CoupledJointDriveTrain - New DistanceMotor and DistanceRange interactions in Physics3D bundle 0.20.2: - Sensor bundle: - New Magnetometer model - Vehicle bundle: - Fix issue with creating wheels for bodies with set position - Restructure of openplx.core 0.20.1: - Sensor bundle - New Gyroscope model - Upgrades spdlog to 1.16.0 for linux and windows and fixes some dependencies issues 0.20.0: - Sensor bundle: - New Accelerometer model - Core: - New marshalling framework for serializing output/input data - Restructure of openplx.core modules: - Several shared libraries has been replaced with kernel and core - Restructure of the Vehicles bundle - A Steering folder with interactions - A suspension is now a system - All interactions are in a Interactions folder 0.19.0: - Removes the Charges concept. MateConnectors now inherit from Physics.Interactions.Connector. - Adds Sensors.Library.LIDARs with off the shelf lidar models - Fixes bug in validation causing incorrect TypeMismatch errors 0.18.10: - Fixes memory leaks in SNAP - LayoutEngine replace path API support for at strings - URDF plugin: Fix for multiple geometries in a link and geometries without names 0.18.9: - New enableAllOutputs method on SignalInterface - Reworks the URDF plugin to use Physics3D primitives - Better support for baking in LayoutEngine - Fix for bitwise operator with boolean operands compiler error 0.18.8: - Reverts: "Default tooth length for Shovelset to zero" - Minor fixes for memory leaks 0.18.7: - Fixes memory leaks for traits with parents - Adds formatTokens in Formatter 0.18.6: - Default tooth length for Shovelset to zero 0.18.5: - Adds Vehicles.Wheels.Actuator 0.18.4: - Adds Distance mate - Fix reference inheritance bug - Fixed memory leaks 0.18.3: - Fix bug with dollar strings - Updated structure for suspension 0.18.2: - More memory leak fixes - Updated shovel model - New string syntax for environment variable interpolation 0.18.1: - Fixes minor memory leak in symbol tree - Fixes bug when applying trait child when parent was already applied - More mustache template support - Prototype struct syntax 0.18.0: - Introduce viscosity trait for surface contacts - Rename and move move oriented friction traits to Traits foilder - Fix for optional C# bindings - Support for document separator syntax - Formatter improvments - Suspension and steering models in Vehicle bundle - Regenerate outdated OpenPlxBundles.cmake - Fixes bug with duplicate symbols 0.17.33: - New material override trait - Fixes issue in evaluator throwing errors - Improves performance of semantic analysis - Fixes issues with traits in root model - Fixes bug in Object::getAny 0.17.32: - Adds lidar output signalling utilities - Fixes bug with or type - Removes duplicate Torque3DOutput and move Force3DOutput to Physics3D bundle 0.17.31: - ClangTidy issue: reserve before copying vector in bundle.cpp 0.17.30: - Fixes crash when using Ints as Reals in Unary - Updates Physics3D documentation 0.17.29: - Fix issue with symlinks causing broken namespaces 0.17.28: - Fix C# bindings for optionals 0.17.27: - New lidar model and reworked sensor bundle - Fix issue where evaluator throws runtime exception - relative_to in 3D Force and Torque outputs - Updates to the shovel model 0.17.26: - Fix some minor bugs in the layout and formatter 0.17.25: - Changes min effort of ranges to 0 (from -inf) - Prototype code formatter 0.17.24: - Fix optional reference bug 0.17.23: - Rename None to NoneType to avoid naming collisions - Adds flag to exclude neutral gear in gearbox 0.17.22: - New optional syntax - Removes Position1DOutputTrait from LinearRange - Adds Torque1DOutput to RotationalRange - SWIG workaround for TreeNode - Makes reference_body in System a optional reference 0.17.21: - Adds elastic wheel for vehicles 0.17.20: - .uuid annotation can be used to set OpenPLX object uuids - New gear ration output in DriveTrain.GearBox - Fix memory leak when using or and nested with syntax - Add runtime API to filter out reference attributes 0.17.19: - Fix several bugs with or types and traits 0.17.18: - Fix bug with unary expressions 0.17.17: - New Blob primitive data type for native data - Support for 'or' types: foo is Bar or Baz - Adds angle and position outputs to cylindrical - Better support for traits - Adds quaternion to euler angle conversions - Fixes some segfault errors - Fixes rpm output in empirical engine 0.17.16: - Adds angle and position outputs to Cylindrical mate - Support becomes for types with inline trait - Adds conversions from quaternion to euler angles - Adds rpm output to empirical engine 0.17.15: - Refactor error reporting - Reworked combustion engine and added empirical engine 0.17.14: - Fix symbol visibility on linux - Fix initializer syntax bug 0.17.13: - Fix issues with python and dotnet bindings - Ignore .doc and .enable_public annotations in runtime evaluation 0.17.12: - Update conan recepies to use revision_mode='scm' and use --build=* instead of --build=missing - Add virtual destructor to all bundle classes 0.17.11: - Caching feature in OpenPLXContext to avoid reload in language server - Redesign of semantic pipeline to properly support traits - Proper symbol visibility macros for bundles 0.17.10: - Fixes semantics bug when using traits with model attribute 0.17.9: - Move trait virtual destructor to bundle.cpp - Fix toolchain args to build script - Adds Simulation.Environment for modeling gravity 0.17.8: - Fix conan1 build for mac 0.17.7: - Adds openplx prefix to all bundle header includes - Adds trait constructor to bundle.cpp - New is_vec2, is_vec3, is_int, is_bool methods in ValueOutputSignal - conan2 support - Tables example bundle 0.17.6: - DriveTrain: - Remove duplicate signals 0.17.5: - DriveTrain: - New Brake model - Improve type mismatch errors - Improved build scripts for Windows - URDF - Support rotation of fixed joints - Added API for reading .openplx file with virtual content for language servers - Added option in ErrorFormatter to not add line number, column, source id 0.17.4: - Better error reporting for missing assignments and missing ':' - Fix crashes and improved inheritance loops handling - Math: Added rad_to_deg and deg_to_rad functions - Experimental mustache template generation - Fix broken documentation package 0.17.3: - Fix RPATH for openplx-gen 0.17.2: - Fix duplicate requirements in conanfile.py - Fixes for .pyi generation 0.17.1: - Fix broken links in the documentation - Resnap feature prototype - Physics.Signals.SignalInterface prototype - Include openplx-gen in package - Fixes for .pyi generation 0.17.0: - First release without AGX, Python package and nuget package - New syntax: references - New signals for differential and velocity motors - Sensors bundle with force torque sensor 0.16.10: - Add OpenPlxBundles.cmake to bundles conan package 0.16.9: - Rework python swig interface generation to use flexible macros 0.16.8: - C# bindings: Rename % from macro name - openplx_dev.py: Added --shared flag - Change windows install path to bin/x64 and lib/x64 - Fix --addBundlePath flag bug in OpenPlxApplication 0.16.7: - Fix SWIG warnings for C# operator overloading - Fix SWIG C# module generation - Support common install prefix 0.16.6: - Use AGX 2.39.1.2 0.16.5: - Bugfix: Snap would SIGSEGV when using Physics3D.Charges.World as MateConnector 0.16.4: - Properly enable spdlog traces when building shared 0.16.3: - Docs: Fix header styling 0.16.2: - URDF - Support import of branching urdf models - Core API: Added getOpenPlxCoreVersion API methods - Docs: Fix highlighting for newer syntax 0.16.1: - DriveTrain - Update the AutomaticClutch with an disengage duration, and signals for that. - Rename engagement_time to engagement_duration for the AutomaticClutch. 0.16.0: Bundles - Non-backward compatible changes in Python API, all classes now has bundle name as part of class name, e.g. Physics.Signals_AngularVelocity1DInput is now Physics.Physics_Signals_AngularVelocity1DInput. The change is needed in preparation for providing OpenPLX python API in AGX Dynamics. - URDF - Bug fix for package path for visuals 0.15.22: - Add title to documentation pages - Use Click 0.5.6 - Add documentation to Object.h - Physics Bundle: - Bug fix for SNAP with multiple ranges for one DOF. 0.15.21: - Split C# swig interfaces into module and non-module parts 0.15.20: - Adapt documentation hyperlinks for openplx.org 0.15.19 - Fix several memory leaks 0.15.18 - Use weak_ptr for runtime object owner attribute to avoid memory leaks 0.15.17 - Fix null pointer dereference bug in OpenPlxContext::release 0.15.16 - Change Token::None to Token::Empty 0.15.15 - Change TokenType::None to TokenType::NoneType to avoid preprocessor collisions 0.15.14 - URDF - Generate visuals for imported .urdf files. - Suffix TokenType::True and False with Keyword to avoid preprocessor collisions 0.15.13: - Backward compatibility with Big Sur OS and onward for bundles and urdf-plugin. 0.15.12: - Fix workaround for custom spdlog logger - Using Click 0.5.1 0.15.11: - Add SPDLOG_FMT_EXTERNAL flag to all builds - Install and package .pdb files for windows builds 0.15.10: - Using Click 0.5.0 - Support Python 3.12 and Ubuntu 24.04 0.15.9: - Change hash-library to a proper transitive dependency 0.15.8: - Use AGX 2.39.1.0 0.15.7: - Physics Bundle: - Introduced - EnabledInput - EnabledOutput - ActivateInput - ActivatedOutput - EngageInput - EngagedOutput - Interactions implements the EnabledInput and EnabledOutput traits - Robotics Bundle: - VacuumGripper uses ActivateInput, ActivatedOutput - DriveTrain Bundle: - Introduced - TorqueConverterLockUpInput - TorqueConverterLockedUpOutput - EmpiricalTorqueConverter uses TorqueConverterLockUpInput, TorqueConverterLockedUpOutput - AutomaticClutch uses EngageInput, EngagedOutput - Backward compatibility apple-clang compiler 13.0 and Big Sur OS and onward. - New bulldozer tutorial showing how to add shovels, tracks and a drivetrain to an agx model. 0.15.6: - Fix memory leaks in openplx.core - Add shared libraries to conan artifacts 0.15.5: - Use $ORIGIN RPATH in deliverables - Bugfix for openplx_view --debug-render-frames - Support older OSX, from Big Sur (11) and onward. 0.15.4: - Add debug binaries to release artifacts 0.15.3: - Added hash-library dependency to deliverables - Physics3D - Bug fixes for SNAP regarding edge cases where SNAP would either do wrong or nothing. - agx api: Fixed std::move issue in signal queues 0.15.2 - Physics3D Signals removed - RigidBodyRPYOutput & RigidBodyPositionOutput replaced by RPYOutput & Position3DOutput - HingeAngularVelocityOutput replaced by AngularVelocity1DOutput - TorqueMotorInput replaced by Torque1DInput - TorsionSpringAngleInput replaced by AngleInput - LinearSpringPositionInput replaced by Position1DOutput - Both AngularVelocityDriveTrain and TorqueDriveTrain replaced by FlexibleJointDriveTrain - LinearVelocityMotorVelocityInput replaced by LinearVelocity1DInput - RotationalVelocityMotorVelocityInput replaced by AngularVelocity1DInput - Physics1D Signals removed - RotationalVelocityMotor1DVelocityInput replaced by AngularVelocity1DInput - RotationalBodyAngularVelocityOutput replaced by AngularVelocity1DOutput - RotationalBodyAngleOutput replaced by AngleOutput - Physics1D.Interactions.VelocityMotor.desired_speed -> VelocityMotor.target_speed - Physics3D.Interactions.VelocityMotor.desired_speed -> VelocityMotor.target_speed - Refactored signal handling to use non-singleton signal queues 0.15.1 - Add migration for 0.14.0 to 0.15.0 that renames .brick files to .openplx. Use openplx_migrate. 0.15.0 - Brick has been renamed to OpenPLX - File extension is now .openplx - All command line commands changed to openplx, e.g. brickview is now openplx_view etc - Python module rebrick renamed to openplx - Python package brickagx renamed to agx-openplx - Python package brickbundles renamed to openplx-bundles and module to openplxbundles - C# brick package Algoryx.Brick renamed to Algoryx.OpenPLX - C++ namespace Brick renamed to openplx - C++ namespace BrickAgx renamed to agxopenplx - Physics - ForceMotorForceInput replaced by Force1DInputTrait in ForceMotor - Fixed bug when having duplicate model declarations 0.14.0 - Runtime tree now has UUIDv5 support - BrickAgxApi changed, load_brick_string and load_brick_file now take OptParams with optional parameters. - Brick Core API modified to suit Unreal better, returns references etc. 0.13.6 - BrickApplication added to help building Brick Applications in Python. 0.13.5 - Fix visuals when loading only RigidBody - Added agx_debug_render_frame to MateConnector for viewing mateconnectors 0.13.4 - TerrainMaterials can be merged. - Prototype visual material: TextureMaterial for textures for .obj files - Fix bug when loading a RigidBody model - Fix bug when using references in initializers 0.13.3 - DriveTrain - Add missing Gear -> FlexibleGear migration - Materials - Physics.Charges.Material now has unique_name attribute in order to uniquely identify Materials. - Materials from different sources can now be merged when they share the same unique_name and properties - Terrain - TerrainMaterial and TerrainMaterialLibrary are introduced. - A Terrain can specify a TerrainMaterial 0.13.2 - Click: If no RobotOutput is present, then all signals will be sent with `--enable-click` argument. - Include urdf_plugin dependencies in windows binary release package - DriveTrain - Introducing FlexibleGear and ViscousGear, the DriveTrain.Gear is now considered ideal. 0.13.1 - Core: - Fix references semantics (fixes invalid cycle found error bug) - Include conan dependencies in windows binary release package - Click: Fall back to angle for unhandled Real and Int values, so that values with unsupported (by click) units are sent. 0.13.0 - Robotics - CoupledJointDriveTrain, interconnection between one actuated joint and one mimic. - DriveTrain - Bug fix for AutomaticClutch - Bug fix for PrismaticActuator - ManualClutch has renamed attributes. Migration provided. - AutomaticClutch has input and output so that it can be engaged and inspected - Gear has ratio input and output - BrickAgx: Fix AutomaticClutch so that it can be engaged. - Physics - Interaction.Dissipation.Friction types moved from Physics3D - Introduced simple DryConstantNormalForceFriction and DryDepthScaledConstantNormalForceFriction - Physics3D - Replaced Oriented Friction Models with OrientedFrictionTraits 0.12.1 - Bundles - Remove error-log "There is no origin in the system" 0.12.0 - Bundles - Motion control possible to specify in RigidBody with is_dynamic. Replacing kinematically_controlled in Physics3D.System. - Initial velocities for rigid bodies are now specified in the parent system frame. - RigidBodyVelocityOutput is replaced with LinearVelocity3DOutput. Migration provided. - Introducing a reference_body for Physics3D.System - SNAP will use the reference_body as a starting point to assemble using mates. - Fix bug in Python bindings when nullptr Brick::Core::Object was returned 0.11.0 - Bundle dependency handling - Dependencies are now transitive --> transitive dependency listings are no longer needed - Dependencies can be versioned so that the dependency system can warn when outdated dependencies are used. - Bundles - FlexibleHingeJoint removed, replaced by FlexibleJointTrait. - Update ontology for Robotics - FlexibleVelocityJoint -> FlexibleAngularVelocityJoint, breaking backward compatibility. Migration provided. - DriveTrain bundle: GearBox added - Removed Physics3D.Transform, replaced with Math.AffineTransform - Added euler angle factory methods for Math::Quat - Adds default true enabled flag to Signals.Output - Physics3D.Signals.MateConnector.Velocity3DOutput changed name to LinearVelocity3DOutput. Migration provided. - Adds initializer syntax for simple initializers: v is Math.Vec3: { 1.0, 2.0, 3.0 } - ObserverFrames imported from AGX (as MateConnector) are created again by BrickAgx even if they are not used by Brick. - brickview cmd arg renamed to --debug-render-frames without requiring an .obj file. - --debug-render-frames using agxOSG::createAxis for mate connectors and rigid body model center. - Fixed bug when referencing nested objects in externally created objects 0.10.3 - Adds include_in_mass_properties flag to Physics3D.Charges.ContactGeometry. - Converts C++ exceptions to Python exceptions so they can be caught in Python code. 0.10.2 - brickmigrate bugfix, SWIG destructor warnings fixed. 0.10.1 - brickserialize python script for converting a brick file to json 0.10.0 - Function names refactored to conform to snake case in (use migrate tool to update!): - Math.Vec2 - Math.Vec3 - Math.AffineTransform - Math.Matrix3x3 - Math.Matrix4x4 - Physics.Signal.ValueOutputSignal - Robotics.Signals.RobotInputSignal - onInit refactored to conform to snake case on_init - Added migrate command for migrating Brick files from one Bundle version to another. - Torque1DOutput using Torque1DOutputTrait for all types with torque output. 0.9.3 - Use AGX 2.38.0.2 0.9.2 - New language feature: traits - Fix bug where assignments in same model would take precedence over each other 0.9.1 - Use AGX 2.38.0.0 0.9.0 - Improved stability of AgxToBrickMapper - support numbers as first characters - support {}[]() in model names - support colliding model names, for different types. - Update ontology for Physics3D.Interaction - Damping -> Dissipation - Breakableness-> Toughness - Deformation -> Flexibility - Slack -> Clearance - Friction is now part of the Dissipation namespace - Update ontology for Robotics - EndEffectors - Deformation and elasticity has become flexibility. - Damping has become dissipation. - Joints - Specific Elastic and DampedElastic Joints removed in favor of nested becomes. - Physics3D.Interactions.Ball mapped from and to AGX - Fix C# garbage collect issue when using InputSignalListener 0.8.10 - Bugfix: Error is now reported when MateConnector not in RigidBody or System (caused SIGSEGV before) - Use Click 0.4.1 using protobuf 5.27.0 - Errors that now report name causing error: MethodNotFound, MemberNotFound, TypeNotFound 0.8.9 - Support geometries in systems, mapping both for AgxToBrick and BrickToAgx - Fix bug with member accesses in nested declarations - Improved Brick::Core::Object api with utility methods: - getObject - finds a nested object by a '.' segmented path - getNumber - finds a nested real/int by a '.' segmented path - getBool - finds a nested bool by a '.' segmented path - getString - find a nested string by a '.' segmented path - toJson - serializes the object to json - Allow pretty printing of Brick::Core::Object in python with `str(object)` 0.8.8 - Ignore error message for missing material when it is not required 0.8.7 - Use Click 0.4.0 - Fix protocol bug -> jointsensors list invalid - Sends output as jointSensorsInOrder name - Allows Force1D as Click Input - RobotInputSignal now has only values: Value[] instead of angles, angleVelocities, torques - Support nested annotations - C# bindings - Always copy .dlls in nuget config - Expose AgxBrickErrorFormatter 0.8.6 - Return bool from ClickAdapter::manualPreFrame to allow busy wait for click input 0.8.5 - Map friction models from imported agx files - Support for import of aagx files - Support agx constraint solve types as .agx_solve_type annotation in Mates - Support for nested declarations - Bug fix for using debug-render-tnc - Removes Vec3OutputSignal and RealOutputSignal which are not used anymore in favor of ValueOutputSignal - ErrorHandling - Name reported for VariableNotFound, SymbolAlreadyDefined, and ImportedFileNotFound errors. 0.8.4: - Supports relative MateConnector.RPYOutput. - SNAP - Assembling looped linked systems of crane arms with hydraulic cylinders and links. - Implements ForceMotor and ForceMotorForceInput 0.8.3: - Use AGX 2.37.3.4 0.8.2: - Visuals: - Fixes bug where visuals would collide - Implements ConvexMesh visual 0.8.1: - Math bundle: - Move Utils to Functions - Add square root - C# bindings - Bind InputSignalListener and OutputSignalListener - Bind ClickAdapter 0.8.0: - SNAP: - Handles cylinder systems to be rotated and translated into place. - agxtobrick: - Maps agx material to brick - Does not add AGX materials to visual geometries anymore - RelativeTransform is no longer created (use the created MateConnector instead). Breaking change! - Physics3D: - MateConnector Outputs are renamed: - DirectionalAccelerationOutput -> Acceleration3DOutput - DirectionalAngularAccelerationOutput -> AngularAcceleration3DOutput - DirectionalVelocityOutput -> Velocity3DOutput - DirectionalAngularVelocityOutput -> AngularVelocity3DOutput - Physics: - InputOutputType.AngularVelocity -> InputOutputType.AngularVelocity1D - InputOutputType.Torque -> InputOutputType.Torque1D - InputOutputType.AngularVelocity -> InputOutputType.AngularVelocity1D 0.7.5: - Brick syntax: - Allow linebreak in expressions (inside parenthesis or brackets) - Physics3D: - Remove RelativeTransform - use MateConnector instead. - Add MateConnector Outputs for position, rotation, acceleration, velocity, angular velocity and angular acceleration. - Use Click 0.3.2 0.7.4: - BRICK -> AGX mapping: - No longer create extra constraints for locks 0.7.3: - c# bindings - Use /p:Platform=x64 when building nuget to ensure x64 dlls 0.7.2: - No changes 0.7.1 - Fix for RedirectedMateConnectors, they affect track and suction cup modeling - BRICK -> AGX mapping: - No longer creates extra hinges for Prismatic and Cylindrical motors - No longer create extra constraints for ranges 0.7.0: - Removed unhelpful INFO log - C# api: - Makes it possible to use AGXPlugin by exposing AGXCache - BRICK -> AGX mapping: - No longer creates extra hinges for Hinge motors, appends new TargetSpeedControllers as secondary constraints instead. - NOTE: This means resulting AGX tree is different than before. - Use AGX 2.37.3.3 0.6.3: - .agx import: - Preserve locked at zero speed settings in motor 1d - Preserve motion control - Fix constraint direction 0.6.2: - Allow var declaration with same name as owning model declaration - .agx import: - MateConnector created from AGX ObserverFrames with a RigidBody 0.6.1: - Add extended import syntax: import @"file.agx" as MyNS.MyModel: .discard_rigid_body_positions: true .regenerate_shape_uuids: true - import ... as will put the imported model in the specified namespace to avoid name collisions between AGX models. - .discard_rigid_body_positions: true will discard the rigid body positions enabling SNAP on AGX bodies. - .regenerate_shape_uuids: true will regenerate the shape uuids to avoid collisions between shapes from different AGX models. - Negative annotations values support - DriveTrain bundle: CombustionEngine added - Tracks bundle: Add support for TrackProperties as annotations - Physics3D bundle: LinearSpringPositionInput added - Check and empty InputSignals and warn if not empty when adding InputSignalListener - .agx import: - Preserve damping parameters for Range1D and Lock1D 0.6.0: - C# api: - Add bindings for operator overloads - .agx import: - Preserve damping and compliance parameters for Hinge, Prismatic, Lock and Cylindrical - Use AGX 2.37.3.2 - DriveTrain bundle: TorqueConverter added - Vehicles bundle: Render track nodes when using visuals - Physics3D bundle: Fix SNAP issue with redirected mate connector 0.5.0: - All Outputs now have a type indicating what type of Signal they emit. - Robotics breaking change: - RobotOutput angle_sources, angular_velocity_sources and torque_sources are replaced by joint_sources - This means joint_sources can be any Output, since resolution depends on Output.type rather that the type of the Output itself. - .agx import - Preserve collision groups - Preserve secondary constraints into Brick interactions 0.4.6: - .agx import - Preserve enable collisions for imported geometries - Fix bug with visual geometry transforms when importing .agx file in brickview. 0.4.5: - Support for exponential syntax: 0.02e04, 242.1E-3, etc. - Fix bug with visual geometry transforms when importing .agx file - Minimal visuals bundle added in order to solve the bug. - Boolean attributes for disabling physics and snap for mate's - Boolean attribute for disabling collision for ContactGeometry - VacuumGripper model with vacuum system and one or more deformable suction cups. - Suction cups model with both collapsed and relaxed state. - Friction models for free degrees of freedom for mates. - Click: - Support controlevents for suction cup 0.4.4: - Remove OSG dependency from C# API 0.4.3: - Use Click 0.3.1 - Renamed max/min_force to max/min_effort in Physics.Interactions.Interaction1DOF - Support limits in URDF files - Use AGX 2.37.3.0 0.4.2: - Report error if the filename given to Brick does not exist - URDF: - Urdf.PackagePath can be used to define URDF packagepaths. See panda.brick for example. - Physics3D.Charges.ObjGeometry is renamed to ExternalTriMeshGeometry - Robotics.Links.RigidObjLink is renamed to RigidTriMeshLink 0.4.1: - Add support for prismatic motors in AGX to brick mapper - Reverted AGX renderdata bugfix because of unintended behaviour, i.e. AGX Shape groups again might lead to badly transformed graphics. - Detect duplicate symbols across bundle when importing. 0.4.0: - Import: - Support import of URDF files. - Greatly improved load time for big models, e.g. when importing AGX or URDF files. - C# API - Add Brick:: namespace prefix to all generated bundle classes - This helps to avoid namespace collisions with Math in the C# bindings - Click: - Optional naming of Sensors and Inputs using attribute reference_id, allowing for short names in Click messages - Breaking changes in Robotics bundle: - RobotOutput.sensor_sources removed, use RobotOutput.sensors instead. - Added RobotOutput.object_sources (Only Position and RPY supported in Click) and torques to be Click backward compatible - Infers input ControlType if all inputs have same type, to be Click backward compatible. - Importing agx files: - Fixed bug for AGX renderdata, was not transformed correctly when AGX Geometry contained Shape groups. 0.3.11 - Introduce Tracks in the Vehicles bundle. - Introduce RedirectedMateConnector, PlanarStructuralConnector and AdaptiveMateConnector. - Introduce StructuralPlane, for modeling in a plane. 0.3.10 - Change default value for the inertia of the 1D rotational shaft that AGX creates for HingeActuators to 1E-4. - still possible to override using .agx_actuator_internal_inertia 0.3.9 - LockLimitStressBreakablenessBreakableness renamed to LockLimitStressBreakableness - Importing agx files: - Added support for multiple instances of same name, by renaming to _ - Fix bug preventing use of uuid in arrays and constants, e.g. unnamed objects in charges array. - Signals and Click: - Fix bug in RobotInput targets, is now respecting order of Inputs wrt Click. - Performance of brick.core: - Caching namespace lookup - Two models can have the same name in two different namespaces 0.3.8 - Mapping DriveTrain to AGX - HingeActuator and PrismaticActuator gets internal inertia 1e-7, overridable using .agx_actuator_internal_inertia 0.3.7 - Add Physics3D.RelativeTransform - Add Terrain.Shovel and Terrain.Terrain - Fix multplication order bug in Snap - Breaking backward compatibility: - RobotInput now takes one targets array instead of multiple, each entry can be any type of input. 0.3.6 - Added TorqueMotor and TorqueHingeJoint 0.3.5 - Added KinematicLock that allows users to merge RigidBodies kinematically - Use AGX 2.37.2.0 - Added AffineMatrix and fixes rowmajor/colmajor bug in Matrix4x4, AffineMatrix and Snap. 0.3.4 - Removes the 0.1.0 version solution for referencing AGX files. - Adds AGX Plugin that enables referencing and extending AGX files from Brick files using `import @"agxfile.agx"`, see AGXBrick/examples directory for more. - Snap: - Added support for closing loops, see examples/triple_rod_loop.brick - Bug fixes for hierarchal systems in systems 0.3.3 - Upload nuget package to nuget.org 0.3.2 - Publish nuget package for AgxBrick 0.3.1 - Fix bug where errors was not reported to command line (e.g. in AGXBrick, brickview) 0.3.0 - Refactor namespaces and update documentation for the Physics bundle. - Joint and contact slack. - Different types of friction. - Mechanical damping, deformation and breakableness definitions for interactions. - Use AGX 2.37.1.0 - DriveTrain Actuators now has a Mate attribute, instead of being Mates. - Flexible Robotics Joints have a DriveTrain attribute 0.2.1 - Support Click Handshake, ResetMessage, ErrorMessage and SensorRequest. - Implement Rigidbody RPY output signal - Support Click Position and RPY outputs 0.2.0 - Use AGX 2.37.0.1 0.1.0 - Using ValueOutputSignals and support for multiple values per Sensor - Click: supports multiple values per Sensor. - Python API is more Pythonic, e.g. Python types returned and downcasts properly performed from C++ - Reference and extend AGX files from Brick files. - AGXBrick and brickview infers mass inertia tensor and local center of mass transform. 0.0.27 - Click sends ResetMessage to client on scene reload - Fixes Click stopping when reloading scene - Bugfix: min_force and max_force in RotationalVelocityMotor were not applied 0.0.26 - Uses click 0.2.0 and requires click clients to use click 0.2.0 for Sensor Outputs - Adds SensorValues to RobotOutput and RobotOutputSignals - Adds Physics3D.Interactions.Lock - Support for Lock and more primitive contact geometries in agxtobrick - Adds signals for Physics1D signal outputs: - RotationalBodyAngleOutput - RotationalBodyAngularVelocityOutput - RotationalVelocityMotor1DTorqueOutput - GearTorqueOutput 0.0.25 - Update brick physics docs to show namespaces - Implement sphere contact geometry - Trimesh support in agxtobrick - external inheritance prototype 0.0.24 - Refactor brick physics namespaces - agxtobrick prototype 0.0.23 - RobotInput uses 1D Velocity input. 0.0.22 - Bugfix: Will not propagate corrupt evaluated tree to SNAP to prevent crashes 0.0.21 - Support Python 3.10 on Ubuntu 22.04 0.0.20 - Added Material documentation 0.0.19 - Fix bug in snap where frames would not be positioned - Fix bug in arithmetic handling with mixed Int and Real - Implement FlexibleVelocityJoint - Fixed AGXBrick/examples, some did not work - Better VSCode TestMate support 0.0.18 - Report error if trying to create a cyclic type - Fix bug with empty models - Updated developer documentation - Update oriented coulomb friction 0.0.17 - Support Materials - Bugfix DriveTrain 0.0.16 - Towards AGX 2.36.1.5 - --enable-click runs graphics in 60 Hz by default. - ctrl-break works for brickview - C# API 0.0.15 - Faster and more stable Automatic Continuous Integration - brickview - allows agx cmdline parameters - fix --enable-click failing - Fixes e keyboard press and -p cmdline flag with --enable-click - Add --update-on-reload, --loglevel, --debug-render-tnc, --modelname - AGXBrick - Fixes e keyboard press and -p cmdline flag with --enable-click 0.0.14 - Add --version to brick, AGXBrick, brickview - Windows: Fix python dll issue when using brickagx. - brickagx depend on which AGX is installed. 0.0.13 - Add brickview cmd 0.0.12 - Autogenerated documentation for bundles 0.0.7 - brick.core - Operator overloading - @string-support - MultiLine strings and DocStrings - SWIG c# Bindings - bundles - Robotics - Simulation - Signals and filters - DriveTrain - Physics1D - AGXBrick - Signals and filters - OBJ support - Click support 0.0.3 - Basic Python API BrickAgx - Basic geometries implemented - Basic Simulation bundle including Signals - Basic SNAP for hinge, prismatic, cylindrical - MateFrame instead of local transform 0.0.2 - Last codebase with both AST and modeltree 0.0.1 - First release