Enable interior nodes for interpolated flex shell mode.
Previously shell mode required cellcount=1 along at least one axis. This CL adds support for cellcount > 1 in all three axes by pinning interior grid nodes to the parent body and reconstructing their positions from boundary nodes via Transfinite Interpolation (TFI). PiperOrigin-RevId: 924314800 Change-Id: I8c2438f4866dd4133feed65f535a1ab69f0c9188
This commit is contained in:
committed by
Copybara-Service
parent
4548e81e4d
commit
91c92279d2
@@ -147,6 +147,14 @@ static inline mjtNum mju_flexDphi(mjtNum s, int i, int order) {
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
// reconstruct interior node positions from boundary nodes via Transfinite Interpolation
|
||||
MJAPI void mju_shellTrackInterior(mjtNum* nodexpos, int nx, int ny, int nz);
|
||||
|
||||
// compute TFI weights for an interior node (i,j,k) and distribute to boundary nodes
|
||||
MJAPI void mju_shellTFIWeights(int nx, int ny, int nz, int i, int j, int k,
|
||||
mjtNum w, int* nb, int* body, mjtNum* bweight,
|
||||
const int* nodebodyid, int nstart);
|
||||
|
||||
|
||||
// ----------------------------- Base64 ------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user