Skip to content

Decks#1298

Open
MarAlder wants to merge 47 commits into
mainfrom
decks
Open

Decks#1298
MarAlder wants to merge 47 commits into
mainfrom
decks

Conversation

@MarAlder

@MarAlder MarAlder commented Mar 25, 2026

Copy link
Copy Markdown
Collaborator

Description

This extension (partly) covers the CPACS decks definition from CPACSv3.4, which is aligned with the systems definition in CPACSv3.5.1.

This PR builds on #1283. It is in draft until #1283 is merged.

Information on the decisions relating to the underlying CPACS data schema can be found at DLR-SL/CPACS#859.

Additional Remarks

In DLR-SL/CPACS#859, it was requested that scaling should be possible at the instantiation on deck level, for example, to enable the extrusion of ceiling panels. This requires a strategy for handling mass, CoG, and inertia. In my implementation, mass is scaled in GetMass() (the determinant of the transformation matrix is calculated for this purpose), CoG is automatically transformed via GetCenterOfGravityGlobal(), and inertias are passed through only as local values from the CPACS dataset. This is documented in detail in the docstrings.

How Has This Been Tested?

C++
In decksSystems.cpp, both valid and invalid datasets (simpletest-decks.cpacs.xml and simpletest-invalid-decks.cpacs.xml, respectively) are tested to cover all new methods and exceptions.

Python
The file test_decks.py was created to test the accessibility of the wrapped C++ classes, as well as some basic features.


Visualization and testing
image

Open ToDos:

  • Clearify if instantiated deck components should provide scaling. If so, consider in mass and CoG computation. (result: we need scaling)
  • Consider effect of scaling in mass, CoG, and some kind of warning for intertias

Checklist:

Task Finished Reviewer Approved
At least one test for the new functionality was added.
  • yes
  • OK
New classes have been added to the Python interface.
  • yes
  • OK
The code is properly documented with doxygen docstrings
  • yes
  • OK
Changes are documented at the top of ChangeLog.md
  • yes
  • OK
Code is according to TiGL style guide
  • yes
  • OK

@MarAlder MarAlder linked an issue Mar 25, 2026 that may be closed by this pull request
@codecov

codecov Bot commented Mar 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.46193% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.15%. Comparing base (60489af) to head (93eeb03).

Files with missing lines Patch % Lines
src/decks/CCPACSDeckComponentBase.cpp 96.69% 4 Missing ⚠️
src/decks/CCPACSDeck.cpp 98.07% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1298      +/-   ##
==========================================
+ Coverage   72.96%   73.15%   +0.18%     
==========================================
  Files         322      324       +2     
  Lines       28290    28475     +185     
==========================================
+ Hits        20643    20832     +189     
+ Misses       7647     7643       -4     
Flag Coverage Δ
unittests 73.15% <97.46%> (+0.18%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/CCPACSPoint.cpp 81.13% <ø> (+5.69%) ⬆️
src/configuration/CCPACSConfiguration.cpp 67.17% <100.00%> (+0.21%) ⬆️
src/geometry/CCPACSTransformation.cpp 92.85% <100.00%> (+1.49%) ⬆️
...rc/geometry/CTiglRelativelyPositionedComponent.cpp 77.87% <100.00%> (+3.56%) ⬆️
src/geometry/CTiglTransformation.cpp 88.70% <100.00%> (+0.21%) ⬆️
src/decks/CCPACSDeck.cpp 98.07% <98.07%> (ø)
src/decks/CCPACSDeckComponentBase.cpp 96.69% <96.69%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@MarAlder MarAlder self-assigned this Apr 22, 2026
@MarAlder MarAlder marked this pull request as ready for review June 11, 2026 13:22
@MarAlder MarAlder requested a review from joergbrech June 12, 2026 06:24
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.

Implement decks

1 participant