Repository navigation
DSFE GUI Multi-object and workspace handling (Partial fixes, more push to main) - #105
Merged
Merged
Conversation
… telemetry handling
… SimulationManager
…gging free-body data
…ion object handling
…m for free body logging
… managing free body log buffers
…body log entry for a specific body index
…added static `toTelemetry` method for conversion of freebody log entries to their telemetry counterpart
…BodyLogEntry` for updated logging capabilities
…gging of free body metrics
…int and free body logs
…tepping, and logging metrics in RigidBodySystem
…telemetry logging
…sh functionality in ControlPanelWidget
…e selector tree updates
…g for clarity, removed unused reference outputs
…d ISimulationCore
…er from ISimulationCore
…ies and their joints * This is a work in progress, and currently has a weird overlap bug with pulling from the single active body relative to the multiple bodies.
…and world transforms
…gid bodies and their joints
…methods for resolving rigid bodies and extracting member names
* Deleted RotateJointByCmd.h and RotateJointByCmd.cpp, along with associated command logic. * Removed RotateJointToCmd.h and RotateJointToCmd.cpp, cleaning up unused functionality. * Eliminated RotateToCmd.h and RotateToCmd.cpp to streamline command handling. * Removed SetOmegaCmd.h and SetOmegaCmd.cpp, as they are no longer needed. * Deleted SpinCmd.h and SpinCmd.cpp, simplifying the command structure. * Cleaned up related command creation functions to reflect the removal of these classes.
… body access logic
…locityCmd and TrajSetCmd
…//github.com/SaltyJoss/Dynamic-System-Framework-Engine into dsfe_gui_multi_object_and_workspace_handling
* See README for original repo location.
…//github.com/SaltyJoss/Dynamic-System-Framework-Engine into dsfe_gui_multi_object_and_workspace_handling
…city for the coriolis term of linear velocity in a freebody before returning the ABA acceleration * This has taken two days to figure out, and I had to use AI to help. It has really shown me the current state is moving out of my understanding again (much like with Auto Diff Integration) I may take a step back and implement some lower-difficulty things whislt improiving the base-code. * At the same time I think I will take some smaller lessons on collision mechanics, multibody collisions, vulkan API, Hamiltonian Mechanics, and Particle Dynamics (For whats next)/
…ploying Qt libraries
…struct with additional properties
…ypes and origin attributes
…s in CollisionResolver
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several important improvements and new features to the codebase, primarily focused on enhancing logging and telemetry for free-body dynamics, improving CMake source management, and extending the command context utilities. The most significant changes are the addition of a comprehensive
FreeBodyLogBufferfor logging 6-DOF body states, integration of free-body telemetry into the diagnostics layer, and improved maintainability and clarity in source file handling.Key changes:
Logging and Telemetry Enhancements
FreeBodyLogBufferstruct toAnalysis/MetricLogger.hfor detailed logging of free-body (6-DOF) simulation data, including positions, velocities, accelerations, forces, torques, energies, momenta, mass, inertia, and body metadata, with support for validation, clearing, reserving, and swapping buffers.TelemetrySampleand introducedFreeBodyTelemetryinAnalysis/Telemetry.hto support telemetry collection for free bodies, enabling richer diagnostics and analysis for floating-base systems.JointLogBufferinAnalysis/MetricLogger.hto log joint names alongside indices, and updated all relevant methods (clear,reserve,push_entry,validate,swap) to ensure consistency and correctness. [1] [2] [3] [4] [5] [6] [7]CMake and Build System Improvements
DSFE_Core/CMakeLists.txtto consistently quote all source file paths and addedsrc/Physics/CollisionResolver.cppto the build, improving cross-platform compatibility and maintainability.pxmlibdependency in the rootCMakeLists.txtto track theDevbranch instead of the fixedv1.0.2tag, allowing for integration with the latest development updates.Command Context and Utilities
CommandContext.hfor resolving body systems and member names, and for checking if a body owns a target, supporting more flexible and robust DSL command implementations. [1] [2]RotateByCmd.hcommand implementation from the codebase, cleaning up deprecated or obsolete code.These changes collectively improve the simulation's logging capabilities, diagnostics, and maintainability, laying the groundwork for more advanced analysis and development of free-body and multi-body dynamics features.