Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature replace cmarkup with tinyxml2 #109

Merged
merged 88 commits into from
Feb 17, 2025

Conversation

qjgn
Copy link
Contributor

@qjgn qjgn commented Feb 11, 2025

Merges feature branch which replaces CMarkup with tinyxml2.

This PR:

  • Removes CMarkup related files
  • Adds tinyxml2 as dependency for all of the projects (Used to only be required by the test project)

In order to separate the specific library from the serialization boiler plate, this PR:

  • Adds Serializer and Deserializer as thin wrappers around tinyxml2
  • Splits up and moves serialization boiler plate into SettingsSerializer and SettingsDeserializer files

In order to fix issues that impeded testing during development, this PR:

  • Fixes build issues on master for gcc and mingw (string handling and unsupported pragma)
  • Adds force plate calibration XML test data
  • Fixes inconsistent boolean string literals in the serializer output True/true
  • Removes support for customizing the number of decimal points for double and float
  • Includes tinyxml2 dependency as a git submodule instead of using cmakes Fetch content feature

Completed feature branch PRs:
#70, #71, #72, #73, #74, #75, #76, #77, #78, #79, #80,
#81, #82, #83, #84, #85, #86, #87, #88, #89, #90, #91,
#92, #93, #94, #95, #96, #97, #100, #101, #102, #103,
#104, #105, #106, #107, #108

qjgn and others added 30 commits January 28, 2025 13:26
* Changed to tinyxml2 in 'SetSkeletonSettings', as well as dependant function.

* Add else-statement to include 'LowerBound' and 'UpperBound' when 'Constraint' is missing.

* Remove unnecessary explicit string-construction.

* Removed pointers from functions, replaced with references.
* Changed 'Set6DOFBodySettings' to use tinyxml2.

* Output is slightly different still. Saving progress.

* Test now passes. Removed a newline at the start of the test data set for 6DOF. Not sure if it needs to be there or not.

* Revert the data since the newline doesn't seem to matter.

* Removed unnecessary explicit string-construction, renamed from 'doc' to 'oXML'.
* Updated 'SetForceSettings' function for Tinyxml2 serializer.

* Change pointers to references where applicable in new code.

* Change pointers to references where applicable in new code.

* Fix merge issues.
* Saving progress.

* Added 'SetForceSettings' function.

* Remove unnecessary explicit string-construction.

---------

Co-authored-by: johannes.gotlen <johannes.gotlen@qualisys.se>
* Added 'SetGeneralSettings' function.

* Reverted 'AddXMLElementBool' functions to contain default-specified texts for 'True' and 'False' alternatives, since there are commented out functions that need to specify these texts.

---------

Co-authored-by: johannes.gotlen <johannes.gotlen@qualisys.se>
…gs() (#74)

* Implemented CTinyxml2Deserializer::DeserializeEyeTrackerSettings, CTinyxml2Deserializer::ReadXmlBool

* formatted else

* removed extra include

* use static_cast

---------

Co-authored-by: Oliver Glandberger <oliver.glandberger@qualisys.se>
…gs() (#76)

* Implemented CTinyxml2Deserializer::DeserializeEyeTrackerSettings, CTinyxml2Deserializer::ReadXmlBool

* formatted else

* removed extra include

* use static_cast

* Tests passing
)

* Implemented CTinyxml2Deserializer::DeserializeEyeTrackerSettings, CTinyxml2Deserializer::ReadXmlBool

* formatted else

* removed extra include

* use static_cast

* Tests passing

* Tests passing
* Implemented CTinyxml2Deserializer::DeserializeEyeTrackerSettings, CTinyxml2Deserializer::ReadXmlBool

* formatted else

* removed extra include

* use static_cast

* Tests passing

* Tests passing

* Test passes
@qjgn qjgn marked this pull request as ready for review February 14, 2025 10:54
@OliverGlandberger
Copy link
Contributor

OliverGlandberger commented Feb 14, 2025

Tests performed:

  • Built using Linux / Ubuntu terminal on Windows:

image

  • Built using mingw32 compiler on Windows:

image

  • Built using CMake / Visual Studio, as well as ran the tests:

image

@OliverGlandberger OliverGlandberger merged commit 37473aa into master Feb 17, 2025
@qjgn qjgn mentioned this pull request Feb 17, 2025
@qjgn qjgn deleted the feature_replace_cmarkup_with_tinyxml2 branch February 20, 2025 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants