Sparse ten_J and ten_J_colind

PiperOrigin-RevId: 869712136
Change-Id: Id2979684aa0c39552cb8453852483cbac55f0ea3
This commit is contained in:
Taylor Howell
2026-02-13 06:55:42 -08:00
committed by Copybara-Service
parent 277f469239
commit 5903d4826f
21 changed files with 118 additions and 43 deletions
+7 -2
View File
@@ -1242,6 +1242,11 @@ STRUCTS: Mapping[str, StructDecl] = dict([
type=ValueType(name='mjtSize'),
doc='number of non-zeros in sparse actuator_moment matrix',
),
StructFieldDecl(
name='nJten',
type=ValueType(name='mjtSize'),
doc='number of non-zeros in sparse ten_J matrix',
),
StructFieldDecl(
name='ngravcomp',
type=ValueType(name='mjtSize'),
@@ -5829,7 +5834,7 @@ STRUCTS: Mapping[str, StructDecl] = dict([
inner_type=ValueType(name='int'),
),
doc='column indices in sparse Jacobian',
array_extent=('ntendon', 'nv'),
array_extent=('nJten',),
),
StructFieldDecl(
name='ten_J',
@@ -5837,7 +5842,7 @@ STRUCTS: Mapping[str, StructDecl] = dict([
inner_type=ValueType(name='mjtNum'),
),
doc='tendon Jacobian',
array_extent=('ntendon', 'nv'),
array_extent=('nJten',),
),
StructFieldDecl(
name='ten_length',
-2
View File
@@ -747,7 +747,6 @@ void MjDataWrapper::Serialize(std::ostream& output) const {
// Write buffer and arena contents
{
MJDATA_POINTERS_PREAMBLE((this->model_->get()))
#define X(type, name, nr, nc) \
WriteBytes(output, ptr_->name, \
@@ -827,7 +826,6 @@ MjDataWrapper MjDataWrapper::Deserialize(std::istream& input) {
// Read buffer and arena contents
{
MJDATA_POINTERS_PREAMBLE((&m))
#define X(type, name, nr, nc) \
ReadBytes(input, d->name, sizeof(type) * (m.nr) * (nc));