Files
Mujoco_WASM/python/mujoco/introspect/structs.py
T
Yuval Tassa 79c74d7eae Add mjData.M, not yet used.
PiperOrigin-RevId: 758351796
Change-Id: I0786966b2f2c2e699db845cda6940a8821b23f49
2025-05-13 13:28:03 -07:00

13144 lines
467 KiB
Python

# Copyright 2023 DeepMind Technologies Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Provides information about MuJoCo API structs.
DO NOT EDIT. THIS FILE IS AUTOMATICALLY GENERATED.
"""
from typing import Mapping
from .ast_nodes import AnonymousStructDecl
from .ast_nodes import AnonymousUnionDecl
from .ast_nodes import ArrayType
from .ast_nodes import PointerType
from .ast_nodes import StructDecl
from .ast_nodes import StructFieldDecl
from .ast_nodes import ValueType
STRUCTS: Mapping[str, StructDecl] = dict([
('mjLROpt',
StructDecl(
name='mjLROpt',
declname='struct mjLROpt_',
fields=(
StructFieldDecl(
name='mode',
type=ValueType(name='int'),
doc='which actuators to process (mjtLRMode)',
),
StructFieldDecl(
name='useexisting',
type=ValueType(name='int'),
doc='use existing length range if available',
),
StructFieldDecl(
name='uselimit',
type=ValueType(name='int'),
doc='use joint and tendon limits if available',
),
StructFieldDecl(
name='accel',
type=ValueType(name='mjtNum'),
doc='target acceleration used to compute force',
),
StructFieldDecl(
name='maxforce',
type=ValueType(name='mjtNum'),
doc='maximum force; 0: no limit',
),
StructFieldDecl(
name='timeconst',
type=ValueType(name='mjtNum'),
doc='time constant for velocity reduction; min 0.01',
),
StructFieldDecl(
name='timestep',
type=ValueType(name='mjtNum'),
doc='simulation timestep; 0: use mjOption.timestep',
),
StructFieldDecl(
name='inttotal',
type=ValueType(name='mjtNum'),
doc='total simulation time interval',
),
StructFieldDecl(
name='interval',
type=ValueType(name='mjtNum'),
doc='evaluation time interval (at the end)',
),
StructFieldDecl(
name='tolrange',
type=ValueType(name='mjtNum'),
doc='convergence tolerance (relative to range)',
),
),
)),
('mjVFS',
StructDecl(
name='mjVFS',
declname='struct mjVFS_',
fields=(
StructFieldDecl(
name='impl_',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='internal pointer to VFS memory',
),
),
)),
('mjOption',
StructDecl(
name='mjOption',
declname='struct mjOption_',
fields=(
StructFieldDecl(
name='timestep',
type=ValueType(name='mjtNum'),
doc='timestep',
),
StructFieldDecl(
name='apirate',
type=ValueType(name='mjtNum'),
doc='update rate for remote API (Hz)',
),
StructFieldDecl(
name='impratio',
type=ValueType(name='mjtNum'),
doc='ratio of friction-to-normal contact impedance',
),
StructFieldDecl(
name='tolerance',
type=ValueType(name='mjtNum'),
doc='main solver tolerance',
),
StructFieldDecl(
name='ls_tolerance',
type=ValueType(name='mjtNum'),
doc='CG/Newton linesearch tolerance',
),
StructFieldDecl(
name='noslip_tolerance',
type=ValueType(name='mjtNum'),
doc='noslip solver tolerance',
),
StructFieldDecl(
name='ccd_tolerance',
type=ValueType(name='mjtNum'),
doc='convex collision solver tolerance',
),
StructFieldDecl(
name='gravity',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='gravitational acceleration',
),
StructFieldDecl(
name='wind',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='wind (for lift, drag and viscosity)',
),
StructFieldDecl(
name='magnetic',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='global magnetic flux',
),
StructFieldDecl(
name='density',
type=ValueType(name='mjtNum'),
doc='density of medium',
),
StructFieldDecl(
name='viscosity',
type=ValueType(name='mjtNum'),
doc='viscosity of medium',
),
StructFieldDecl(
name='o_margin',
type=ValueType(name='mjtNum'),
doc='margin',
),
StructFieldDecl(
name='o_solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solref',
),
StructFieldDecl(
name='o_solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solimp',
),
StructFieldDecl(
name='o_friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='friction',
),
StructFieldDecl(
name='integrator',
type=ValueType(name='int'),
doc='integration mode (mjtIntegrator)',
),
StructFieldDecl(
name='cone',
type=ValueType(name='int'),
doc='type of friction cone (mjtCone)',
),
StructFieldDecl(
name='jacobian',
type=ValueType(name='int'),
doc='type of Jacobian (mjtJacobian)',
),
StructFieldDecl(
name='solver',
type=ValueType(name='int'),
doc='solver algorithm (mjtSolver)',
),
StructFieldDecl(
name='iterations',
type=ValueType(name='int'),
doc='maximum number of main solver iterations',
),
StructFieldDecl(
name='ls_iterations',
type=ValueType(name='int'),
doc='maximum number of CG/Newton linesearch iterations',
),
StructFieldDecl(
name='noslip_iterations',
type=ValueType(name='int'),
doc='maximum number of noslip solver iterations',
),
StructFieldDecl(
name='ccd_iterations',
type=ValueType(name='int'),
doc='maximum number of convex collision solver iterations',
),
StructFieldDecl(
name='disableflags',
type=ValueType(name='int'),
doc='bit flags for disabling standard features',
),
StructFieldDecl(
name='enableflags',
type=ValueType(name='int'),
doc='bit flags for enabling optional features',
),
StructFieldDecl(
name='disableactuator',
type=ValueType(name='int'),
doc='bit flags for disabling actuators by group id',
),
StructFieldDecl(
name='sdf_initpoints',
type=ValueType(name='int'),
doc='number of starting points for gradient descent',
),
StructFieldDecl(
name='sdf_iterations',
type=ValueType(name='int'),
doc='max number of iterations for gradient descent',
),
),
)),
('mjVisual',
StructDecl(
name='mjVisual',
declname='struct mjVisual_',
fields=(
StructFieldDecl(
name='global',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='orthographic',
type=ValueType(name='int'),
doc='is the free camera orthographic (0: no, 1: yes)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='fovy',
type=ValueType(name='float'),
doc='y field-of-view of free camera (orthographic ? length : degree)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='ipd',
type=ValueType(name='float'),
doc='inter-pupilary distance for free camera',
),
StructFieldDecl(
name='azimuth',
type=ValueType(name='float'),
doc='initial azimuth of free camera (degrees)',
),
StructFieldDecl(
name='elevation',
type=ValueType(name='float'),
doc='initial elevation of free camera (degrees)',
),
StructFieldDecl(
name='linewidth',
type=ValueType(name='float'),
doc='line width for wireframe and ray rendering',
),
StructFieldDecl(
name='glow',
type=ValueType(name='float'),
doc='glow coefficient for selected body',
),
StructFieldDecl(
name='realtime',
type=ValueType(name='float'),
doc='initial real-time factor (1: real time)',
),
StructFieldDecl(
name='offwidth',
type=ValueType(name='int'),
doc='width of offscreen buffer',
),
StructFieldDecl(
name='offheight',
type=ValueType(name='int'),
doc='height of offscreen buffer',
),
StructFieldDecl(
name='ellipsoidinertia',
type=ValueType(name='int'),
doc='geom for inertia visualization (0: box, 1: ellipsoid)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='bvactive',
type=ValueType(name='int'),
doc='visualize active bounding volumes (0: no, 1: yes)', # pylint: disable=line-too-long
),
),
),
doc='',
),
StructFieldDecl(
name='quality',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='shadowsize',
type=ValueType(name='int'),
doc='size of shadowmap texture',
),
StructFieldDecl(
name='offsamples',
type=ValueType(name='int'),
doc='number of multisamples for offscreen rendering', # pylint: disable=line-too-long
),
StructFieldDecl(
name='numslices',
type=ValueType(name='int'),
doc='number of slices for builtin geom drawing',
),
StructFieldDecl(
name='numstacks',
type=ValueType(name='int'),
doc='number of stacks for builtin geom drawing',
),
StructFieldDecl(
name='numquads',
type=ValueType(name='int'),
doc='number of quads for box rendering',
),
),
),
doc='',
),
StructFieldDecl(
name='headlight',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='ambient',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='ambient rgb (alpha=1)',
),
StructFieldDecl(
name='diffuse',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='diffuse rgb (alpha=1)',
),
StructFieldDecl(
name='specular',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='specular rgb (alpha=1)',
),
StructFieldDecl(
name='active',
type=ValueType(name='int'),
doc='is headlight active',
),
),
),
doc='',
),
StructFieldDecl(
name='map',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='stiffness',
type=ValueType(name='float'),
doc='mouse perturbation stiffness (space->force)',
),
StructFieldDecl(
name='stiffnessrot',
type=ValueType(name='float'),
doc='mouse perturbation stiffness (space->torque)',
),
StructFieldDecl(
name='force',
type=ValueType(name='float'),
doc='from force units to space units',
),
StructFieldDecl(
name='torque',
type=ValueType(name='float'),
doc='from torque units to space units',
),
StructFieldDecl(
name='alpha',
type=ValueType(name='float'),
doc='scale geom alphas when transparency is enabled', # pylint: disable=line-too-long
),
StructFieldDecl(
name='fogstart',
type=ValueType(name='float'),
doc='OpenGL fog starts at fogstart * mjModel.stat.extent', # pylint: disable=line-too-long
),
StructFieldDecl(
name='fogend',
type=ValueType(name='float'),
doc='OpenGL fog ends at fogend * mjModel.stat.extent', # pylint: disable=line-too-long
),
StructFieldDecl(
name='znear',
type=ValueType(name='float'),
doc='near clipping plane = znear * mjModel.stat.extent', # pylint: disable=line-too-long
),
StructFieldDecl(
name='zfar',
type=ValueType(name='float'),
doc='far clipping plane = zfar * mjModel.stat.extent', # pylint: disable=line-too-long
),
StructFieldDecl(
name='haze',
type=ValueType(name='float'),
doc='haze ratio',
),
StructFieldDecl(
name='shadowclip',
type=ValueType(name='float'),
doc='directional light: shadowclip * mjModel.stat.extent', # pylint: disable=line-too-long
),
StructFieldDecl(
name='shadowscale',
type=ValueType(name='float'),
doc='spot light: shadowscale * light.cutoff',
),
StructFieldDecl(
name='actuatortendon',
type=ValueType(name='float'),
doc='scale tendon width',
),
),
),
doc='',
),
StructFieldDecl(
name='scale',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='forcewidth',
type=ValueType(name='float'),
doc='width of force arrow',
),
StructFieldDecl(
name='contactwidth',
type=ValueType(name='float'),
doc='contact width',
),
StructFieldDecl(
name='contactheight',
type=ValueType(name='float'),
doc='contact height',
),
StructFieldDecl(
name='connect',
type=ValueType(name='float'),
doc='autoconnect capsule width',
),
StructFieldDecl(
name='com',
type=ValueType(name='float'),
doc='com radius',
),
StructFieldDecl(
name='camera',
type=ValueType(name='float'),
doc='camera object',
),
StructFieldDecl(
name='light',
type=ValueType(name='float'),
doc='light object',
),
StructFieldDecl(
name='selectpoint',
type=ValueType(name='float'),
doc='selection point',
),
StructFieldDecl(
name='jointlength',
type=ValueType(name='float'),
doc='joint length',
),
StructFieldDecl(
name='jointwidth',
type=ValueType(name='float'),
doc='joint width',
),
StructFieldDecl(
name='actuatorlength',
type=ValueType(name='float'),
doc='actuator length',
),
StructFieldDecl(
name='actuatorwidth',
type=ValueType(name='float'),
doc='actuator width',
),
StructFieldDecl(
name='framelength',
type=ValueType(name='float'),
doc='bodyframe axis length',
),
StructFieldDecl(
name='framewidth',
type=ValueType(name='float'),
doc='bodyframe axis width',
),
StructFieldDecl(
name='constraint',
type=ValueType(name='float'),
doc='constraint width',
),
StructFieldDecl(
name='slidercrank',
type=ValueType(name='float'),
doc='slidercrank width',
),
StructFieldDecl(
name='frustum',
type=ValueType(name='float'),
doc='frustum zfar plane',
),
),
),
doc='',
),
StructFieldDecl(
name='rgba',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='fog',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='fog',
),
StructFieldDecl(
name='haze',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='haze',
),
StructFieldDecl(
name='force',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='external force',
),
StructFieldDecl(
name='inertia',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='inertia box',
),
StructFieldDecl(
name='joint',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='joint',
),
StructFieldDecl(
name='actuator',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='actuator, neutral',
),
StructFieldDecl(
name='actuatornegative',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='actuator, negative limit',
),
StructFieldDecl(
name='actuatorpositive',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='actuator, positive limit',
),
StructFieldDecl(
name='com',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='center of mass',
),
StructFieldDecl(
name='camera',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='camera object',
),
StructFieldDecl(
name='light',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='light object',
),
StructFieldDecl(
name='selectpoint',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='selection point',
),
StructFieldDecl(
name='connect',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='auto connect',
),
StructFieldDecl(
name='contactpoint',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='contact point',
),
StructFieldDecl(
name='contactforce',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='contact force',
),
StructFieldDecl(
name='contactfriction',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='contact friction force',
),
StructFieldDecl(
name='contacttorque',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='contact torque',
),
StructFieldDecl(
name='contactgap',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='contact point in gap',
),
StructFieldDecl(
name='rangefinder',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rangefinder ray',
),
StructFieldDecl(
name='constraint',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='constraint',
),
StructFieldDecl(
name='slidercrank',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='slidercrank',
),
StructFieldDecl(
name='crankbroken',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='used when crank must be stretched/broken',
),
StructFieldDecl(
name='frustum',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='camera frustum',
),
StructFieldDecl(
name='bv',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='bounding volume',
),
StructFieldDecl(
name='bvactive',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='active bounding volume',
),
),
),
doc='',
),
),
)),
('mjStatistic',
StructDecl(
name='mjStatistic',
declname='struct mjStatistic_',
fields=(
StructFieldDecl(
name='meaninertia',
type=ValueType(name='mjtNum'),
doc='mean diagonal inertia',
),
StructFieldDecl(
name='meanmass',
type=ValueType(name='mjtNum'),
doc='mean body mass',
),
StructFieldDecl(
name='meansize',
type=ValueType(name='mjtNum'),
doc='mean body size',
),
StructFieldDecl(
name='extent',
type=ValueType(name='mjtNum'),
doc='spatial extent',
),
StructFieldDecl(
name='center',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='center of model',
),
),
)),
('mjModel',
StructDecl(
name='mjModel',
declname='struct mjModel_',
fields=(
StructFieldDecl(
name='nq',
type=ValueType(name='int'),
doc='number of generalized coordinates = dim(qpos)',
),
StructFieldDecl(
name='nv',
type=ValueType(name='int'),
doc='number of degrees of freedom = dim(qvel)',
),
StructFieldDecl(
name='nu',
type=ValueType(name='int'),
doc='number of actuators/controls = dim(ctrl)',
),
StructFieldDecl(
name='na',
type=ValueType(name='int'),
doc='number of activation states = dim(act)',
),
StructFieldDecl(
name='nbody',
type=ValueType(name='int'),
doc='number of bodies',
),
StructFieldDecl(
name='nbvh',
type=ValueType(name='int'),
doc='number of total bounding volumes in all bodies',
),
StructFieldDecl(
name='nbvhstatic',
type=ValueType(name='int'),
doc='number of static bounding volumes (aabb stored in mjModel)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='nbvhdynamic',
type=ValueType(name='int'),
doc='number of dynamic bounding volumes (aabb stored in mjData)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='njnt',
type=ValueType(name='int'),
doc='number of joints',
),
StructFieldDecl(
name='ngeom',
type=ValueType(name='int'),
doc='number of geoms',
),
StructFieldDecl(
name='nsite',
type=ValueType(name='int'),
doc='number of sites',
),
StructFieldDecl(
name='ncam',
type=ValueType(name='int'),
doc='number of cameras',
),
StructFieldDecl(
name='nlight',
type=ValueType(name='int'),
doc='number of lights',
),
StructFieldDecl(
name='nflex',
type=ValueType(name='int'),
doc='number of flexes',
),
StructFieldDecl(
name='nflexnode',
type=ValueType(name='int'),
doc='number of dofs in all flexes',
),
StructFieldDecl(
name='nflexvert',
type=ValueType(name='int'),
doc='number of vertices in all flexes',
),
StructFieldDecl(
name='nflexedge',
type=ValueType(name='int'),
doc='number of edges in all flexes',
),
StructFieldDecl(
name='nflexelem',
type=ValueType(name='int'),
doc='number of elements in all flexes',
),
StructFieldDecl(
name='nflexelemdata',
type=ValueType(name='int'),
doc='number of element vertex ids in all flexes',
),
StructFieldDecl(
name='nflexelemedge',
type=ValueType(name='int'),
doc='number of element edge ids in all flexes',
),
StructFieldDecl(
name='nflexshelldata',
type=ValueType(name='int'),
doc='number of shell fragment vertex ids in all flexes',
),
StructFieldDecl(
name='nflexevpair',
type=ValueType(name='int'),
doc='number of element-vertex pairs in all flexes',
),
StructFieldDecl(
name='nflextexcoord',
type=ValueType(name='int'),
doc='number of vertices with texture coordinates',
),
StructFieldDecl(
name='nmesh',
type=ValueType(name='int'),
doc='number of meshes',
),
StructFieldDecl(
name='nmeshvert',
type=ValueType(name='int'),
doc='number of vertices in all meshes',
),
StructFieldDecl(
name='nmeshnormal',
type=ValueType(name='int'),
doc='number of normals in all meshes',
),
StructFieldDecl(
name='nmeshtexcoord',
type=ValueType(name='int'),
doc='number of texcoords in all meshes',
),
StructFieldDecl(
name='nmeshface',
type=ValueType(name='int'),
doc='number of triangular faces in all meshes',
),
StructFieldDecl(
name='nmeshgraph',
type=ValueType(name='int'),
doc='number of ints in mesh auxiliary data',
),
StructFieldDecl(
name='nmeshpoly',
type=ValueType(name='int'),
doc='number of polygons in all meshes',
),
StructFieldDecl(
name='nmeshpolyvert',
type=ValueType(name='int'),
doc='number of vertices in all polygons',
),
StructFieldDecl(
name='nmeshpolymap',
type=ValueType(name='int'),
doc='number of polygons in vertex map',
),
StructFieldDecl(
name='nskin',
type=ValueType(name='int'),
doc='number of skins',
),
StructFieldDecl(
name='nskinvert',
type=ValueType(name='int'),
doc='number of vertices in all skins',
),
StructFieldDecl(
name='nskintexvert',
type=ValueType(name='int'),
doc='number of vertiex with texcoords in all skins',
),
StructFieldDecl(
name='nskinface',
type=ValueType(name='int'),
doc='number of triangular faces in all skins',
),
StructFieldDecl(
name='nskinbone',
type=ValueType(name='int'),
doc='number of bones in all skins',
),
StructFieldDecl(
name='nskinbonevert',
type=ValueType(name='int'),
doc='number of vertices in all skin bones',
),
StructFieldDecl(
name='nhfield',
type=ValueType(name='int'),
doc='number of heightfields',
),
StructFieldDecl(
name='nhfielddata',
type=ValueType(name='int'),
doc='number of data points in all heightfields',
),
StructFieldDecl(
name='ntex',
type=ValueType(name='int'),
doc='number of textures',
),
StructFieldDecl(
name='ntexdata',
type=ValueType(name='int'),
doc='number of bytes in texture rgb data',
),
StructFieldDecl(
name='nmat',
type=ValueType(name='int'),
doc='number of materials',
),
StructFieldDecl(
name='npair',
type=ValueType(name='int'),
doc='number of predefined geom pairs',
),
StructFieldDecl(
name='nexclude',
type=ValueType(name='int'),
doc='number of excluded geom pairs',
),
StructFieldDecl(
name='neq',
type=ValueType(name='int'),
doc='number of equality constraints',
),
StructFieldDecl(
name='ntendon',
type=ValueType(name='int'),
doc='number of tendons',
),
StructFieldDecl(
name='nwrap',
type=ValueType(name='int'),
doc='number of wrap objects in all tendon paths',
),
StructFieldDecl(
name='nsensor',
type=ValueType(name='int'),
doc='number of sensors',
),
StructFieldDecl(
name='nnumeric',
type=ValueType(name='int'),
doc='number of numeric custom fields',
),
StructFieldDecl(
name='nnumericdata',
type=ValueType(name='int'),
doc='number of mjtNums in all numeric fields',
),
StructFieldDecl(
name='ntext',
type=ValueType(name='int'),
doc='number of text custom fields',
),
StructFieldDecl(
name='ntextdata',
type=ValueType(name='int'),
doc='number of mjtBytes in all text fields',
),
StructFieldDecl(
name='ntuple',
type=ValueType(name='int'),
doc='number of tuple custom fields',
),
StructFieldDecl(
name='ntupledata',
type=ValueType(name='int'),
doc='number of objects in all tuple fields',
),
StructFieldDecl(
name='nkey',
type=ValueType(name='int'),
doc='number of keyframes',
),
StructFieldDecl(
name='nmocap',
type=ValueType(name='int'),
doc='number of mocap bodies',
),
StructFieldDecl(
name='nplugin',
type=ValueType(name='int'),
doc='number of plugin instances',
),
StructFieldDecl(
name='npluginattr',
type=ValueType(name='int'),
doc='number of chars in all plugin config attributes',
),
StructFieldDecl(
name='nuser_body',
type=ValueType(name='int'),
doc='number of mjtNums in body_user',
),
StructFieldDecl(
name='nuser_jnt',
type=ValueType(name='int'),
doc='number of mjtNums in jnt_user',
),
StructFieldDecl(
name='nuser_geom',
type=ValueType(name='int'),
doc='number of mjtNums in geom_user',
),
StructFieldDecl(
name='nuser_site',
type=ValueType(name='int'),
doc='number of mjtNums in site_user',
),
StructFieldDecl(
name='nuser_cam',
type=ValueType(name='int'),
doc='number of mjtNums in cam_user',
),
StructFieldDecl(
name='nuser_tendon',
type=ValueType(name='int'),
doc='number of mjtNums in tendon_user',
),
StructFieldDecl(
name='nuser_actuator',
type=ValueType(name='int'),
doc='number of mjtNums in actuator_user',
),
StructFieldDecl(
name='nuser_sensor',
type=ValueType(name='int'),
doc='number of mjtNums in sensor_user',
),
StructFieldDecl(
name='nnames',
type=ValueType(name='int'),
doc='number of chars in all names',
),
StructFieldDecl(
name='npaths',
type=ValueType(name='int'),
doc='number of chars in all paths',
),
StructFieldDecl(
name='nnames_map',
type=ValueType(name='int'),
doc='number of slots in the names hash map',
),
StructFieldDecl(
name='nM',
type=ValueType(name='int'),
doc='number of non-zeros in sparse inertia matrix',
),
StructFieldDecl(
name='nB',
type=ValueType(name='int'),
doc='number of non-zeros in sparse body-dof matrix',
),
StructFieldDecl(
name='nC',
type=ValueType(name='int'),
doc='number of non-zeros in sparse reduced dof-dof matrix',
),
StructFieldDecl(
name='nD',
type=ValueType(name='int'),
doc='number of non-zeros in sparse dof-dof matrix',
),
StructFieldDecl(
name='nJmom',
type=ValueType(name='int'),
doc='number of non-zeros in sparse actuator_moment matrix',
),
StructFieldDecl(
name='ntree',
type=ValueType(name='int'),
doc='number of kinematic trees under world body',
),
StructFieldDecl(
name='ngravcomp',
type=ValueType(name='int'),
doc='number of bodies with nonzero gravcomp',
),
StructFieldDecl(
name='nemax',
type=ValueType(name='int'),
doc='number of potential equality-constraint rows',
),
StructFieldDecl(
name='njmax',
type=ValueType(name='int'),
doc='number of available rows in constraint Jacobian (legacy)',
),
StructFieldDecl(
name='nconmax',
type=ValueType(name='int'),
doc='number of potential contacts in contact list (legacy)',
),
StructFieldDecl(
name='nuserdata',
type=ValueType(name='int'),
doc='number of mjtNums reserved for the user',
),
StructFieldDecl(
name='nsensordata',
type=ValueType(name='int'),
doc='number of mjtNums in sensor data vector',
),
StructFieldDecl(
name='npluginstate',
type=ValueType(name='int'),
doc='number of mjtNums in plugin state vector',
),
StructFieldDecl(
name='narena',
type=ValueType(name='size_t'),
doc='number of bytes in the mjData arena (inclusive of stack)',
),
StructFieldDecl(
name='nbuffer',
type=ValueType(name='size_t'),
doc='number of bytes in buffer',
),
StructFieldDecl(
name='opt',
type=ValueType(name='mjOption'),
doc='physics options',
),
StructFieldDecl(
name='vis',
type=ValueType(name='mjVisual'),
doc='visualization options',
),
StructFieldDecl(
name='stat',
type=ValueType(name='mjStatistic'),
doc='model statistics',
),
StructFieldDecl(
name='buffer',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='main buffer; all pointers point in it (nbuffer)',
),
StructFieldDecl(
name='qpos0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='qpos values at default pose',
array_extent=('nq',),
),
StructFieldDecl(
name='qpos_spring',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='reference pose for springs',
array_extent=('nq',),
),
StructFieldDecl(
name='body_parentid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of body's parent",
array_extent=('nbody',),
),
StructFieldDecl(
name='body_rootid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of root above body',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_weldid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of body that this body is welded to',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_mocapid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of mocap data; -1: none',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_jntnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of joints for this body',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_jntadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='start addr of joints; -1: no joints',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_dofnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of motion degrees of freedom',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_dofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='start addr of dofs; -1: no dofs',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_treeid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of body's kinematic tree; -1: static",
array_extent=('nbody',),
),
StructFieldDecl(
name='body_geomnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of geoms',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_geomadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='start addr of geoms; -1: no geoms',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_simple',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='1: diag M; 2: diag M, sliders only',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_sameframe',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='same frame as inertia (mjtSameframe)',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='position offset rel. to parent body',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='body_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='orientation offset rel. to parent body',
array_extent=('nbody', 4),
),
StructFieldDecl(
name='body_ipos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local position of center of mass',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='body_iquat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local orientation of inertia ellipsoid',
array_extent=('nbody', 4),
),
StructFieldDecl(
name='body_mass',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='mass',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_subtreemass',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='mass of subtree starting at this body',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_inertia',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='diagonal inertia in ipos/iquat frame',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='body_invweight0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='mean inv inert in qpos0 (trn, rot)',
array_extent=('nbody', 2),
),
StructFieldDecl(
name='body_gravcomp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='antigravity force, units of body weight',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='MAX over all geom margins',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('nbody', 'nuser_body'),
),
StructFieldDecl(
name='body_plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='plugin instance id; -1: not in use',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_contype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='OR over all geom contypes',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_conaffinity',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='OR over all geom conaffinities',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of bvh root',
array_extent=('nbody',),
),
StructFieldDecl(
name='body_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of bounding volumes',
array_extent=('nbody',),
),
StructFieldDecl(
name='bvh_depth',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='depth in the bounding volume hierarchy',
array_extent=('nbvh',),
),
StructFieldDecl(
name='bvh_child',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='left and right children in tree',
array_extent=('nbvh', 2),
),
StructFieldDecl(
name='bvh_nodeid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom or elem id of node; -1: non-leaf',
array_extent=('nbvh',),
),
StructFieldDecl(
name='bvh_aabb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local bounding box (center, size)',
array_extent=('nbvhstatic', 6),
),
StructFieldDecl(
name='jnt_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='type of joint (mjtJoint)',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_qposadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="start addr in 'qpos' for joint's data",
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_dofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="start addr in 'qvel' for joint's data",
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of joint's body",
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_limited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='does joint have limits',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_actfrclimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='does joint have actuator force limits',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_actgravcomp',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is gravcomp force applied via actuators',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference: limit',
array_extent=('njnt', 'mjNREF'),
),
StructFieldDecl(
name='jnt_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance: limit',
array_extent=('njnt', 'mjNIMP'),
),
StructFieldDecl(
name='jnt_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local anchor position',
array_extent=('njnt', 3),
),
StructFieldDecl(
name='jnt_axis',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local joint axis',
array_extent=('njnt', 3),
),
StructFieldDecl(
name='jnt_stiffness',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='stiffness coefficient',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_range',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='joint limits',
array_extent=('njnt', 2),
),
StructFieldDecl(
name='jnt_actfrcrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='range of total actuator force',
array_extent=('njnt', 2),
),
StructFieldDecl(
name='jnt_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='min distance for limit detection',
array_extent=('njnt',),
),
StructFieldDecl(
name='jnt_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('njnt', 'nuser_jnt'),
),
StructFieldDecl(
name='dof_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of dof's body",
array_extent=('nv',),
),
StructFieldDecl(
name='dof_jntid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of dof's joint",
array_extent=('nv',),
),
StructFieldDecl(
name='dof_parentid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of dof's parent; -1: none",
array_extent=('nv',),
),
StructFieldDecl(
name='dof_treeid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of dof's kinematic tree",
array_extent=('nv',),
),
StructFieldDecl(
name='dof_Madr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dof address in M-diagonal',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_simplenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of consecutive simple dofs',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference:frictionloss',
array_extent=('nv', 'mjNREF'),
),
StructFieldDecl(
name='dof_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance:frictionloss',
array_extent=('nv', 'mjNIMP'),
),
StructFieldDecl(
name='dof_frictionloss',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='dof friction loss',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_armature',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='dof armature inertia/mass',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_damping',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='damping coefficient',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_invweight0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='diag. inverse inertia in qpos0',
array_extent=('nv',),
),
StructFieldDecl(
name='dof_M0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='diag. inertia in qpos0',
array_extent=('nv',),
),
StructFieldDecl(
name='geom_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geometric type (mjtGeom)',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_contype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom contact type',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_conaffinity',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom contact affinity',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_condim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='contact dimensionality (1, 3, 4, 6)',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of geom's body",
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_dataid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of geom's mesh/hfield; -1: none",
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='material id for rendering; -1: none',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_priority',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom contact priority',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='plugin instance id; -1: not in use',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_sameframe',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='same frame as body (mjtSameframe)',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_solmix',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='mixing coef for solref/imp in geom pair',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference: contact',
array_extent=('ngeom', 'mjNREF'),
),
StructFieldDecl(
name='geom_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance: contact',
array_extent=('ngeom', 'mjNIMP'),
),
StructFieldDecl(
name='geom_size',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='geom-specific size parameters',
array_extent=('ngeom', 3),
),
StructFieldDecl(
name='geom_aabb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='bounding box, (center, size)',
array_extent=('ngeom', 6),
),
StructFieldDecl(
name='geom_rbound',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='radius of bounding sphere',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local position offset rel. to body',
array_extent=('ngeom', 3),
),
StructFieldDecl(
name='geom_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local orientation offset rel. to body',
array_extent=('ngeom', 4),
),
StructFieldDecl(
name='geom_friction',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='friction for (slide, spin, roll)',
array_extent=('ngeom', 3),
),
StructFieldDecl(
name='geom_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='detect contact if dist<margin',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_gap',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='include in solver if dist<margin-gap',
array_extent=('ngeom',),
),
StructFieldDecl(
name='geom_fluid',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='fluid interaction parameters',
array_extent=('ngeom', 'mjNFLUID'),
),
StructFieldDecl(
name='geom_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('ngeom', 'nuser_geom'),
),
StructFieldDecl(
name='geom_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='rgba when material is omitted',
array_extent=('ngeom', 4),
),
StructFieldDecl(
name='site_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom type for rendering (mjtGeom)',
array_extent=('nsite',),
),
StructFieldDecl(
name='site_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of site's body",
array_extent=('nsite',),
),
StructFieldDecl(
name='site_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='material id for rendering; -1: none',
array_extent=('nsite',),
),
StructFieldDecl(
name='site_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('nsite',),
),
StructFieldDecl(
name='site_sameframe',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='same frame as body (mjtSameframe)',
array_extent=('nsite',),
),
StructFieldDecl(
name='site_size',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='geom size for rendering',
array_extent=('nsite', 3),
),
StructFieldDecl(
name='site_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local position offset rel. to body',
array_extent=('nsite', 3),
),
StructFieldDecl(
name='site_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='local orientation offset rel. to body',
array_extent=('nsite', 4),
),
StructFieldDecl(
name='site_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('nsite', 'nuser_site'),
),
StructFieldDecl(
name='site_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='rgba when material is omitted',
array_extent=('nsite', 4),
),
StructFieldDecl(
name='cam_mode',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='camera tracking mode (mjtCamLight)',
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of camera's body",
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_targetbodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of targeted body; -1: none',
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='position rel. to body frame',
array_extent=('ncam', 3),
),
StructFieldDecl(
name='cam_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='orientation rel. to body frame',
array_extent=('ncam', 4),
),
StructFieldDecl(
name='cam_poscom0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global position rel. to sub-com in qpos0',
array_extent=('ncam', 3),
),
StructFieldDecl(
name='cam_pos0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global position rel. to body in qpos0',
array_extent=('ncam', 3),
),
StructFieldDecl(
name='cam_mat0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global orientation in qpos0',
array_extent=('ncam', 9),
),
StructFieldDecl(
name='cam_orthographic',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='orthographic camera; 0: no, 1: yes',
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_fovy',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='y field-of-view (ortho ? len : deg)',
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_ipd',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inter-pupilary distance',
array_extent=('ncam',),
),
StructFieldDecl(
name='cam_resolution',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='resolution: pixels [width, height]',
array_extent=('ncam', 2),
),
StructFieldDecl(
name='cam_sensorsize',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='sensor size: length [width, height]',
array_extent=('ncam', 2),
),
StructFieldDecl(
name='cam_intrinsic',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='[focal length; principal point]',
array_extent=('ncam', 4),
),
StructFieldDecl(
name='cam_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('ncam', 'nuser_cam'),
),
StructFieldDecl(
name='light_mode',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='light tracking mode (mjtCamLight)',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="id of light's body",
array_extent=('nlight',),
),
StructFieldDecl(
name='light_targetbodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of targeted body; -1: none',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_directional',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='directional light',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_castshadow',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='does light cast shadows',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_bulbradius',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='light radius for soft shadows',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is light on',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='position rel. to body frame',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_dir',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='direction rel. to body frame',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_poscom0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global position rel. to sub-com in qpos0',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_pos0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global position rel. to body in qpos0',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_dir0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global direction in qpos0',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_attenuation',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='OpenGL attenuation (quadratic model)',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_cutoff',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='OpenGL cutoff',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_exponent',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='OpenGL exponent',
array_extent=('nlight',),
),
StructFieldDecl(
name='light_ambient',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='ambient rgb (alpha=1)',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_diffuse',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='diffuse rgb (alpha=1)',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_specular',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='specular rgb (alpha=1)',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='flex_contype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='flex contact type',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_conaffinity',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='flex contact affinity',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_condim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='contact dimensionality (1, 3, 4, 6)',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_priority',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='flex contact priority',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_solmix',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='mix coef for solref/imp in contact pair',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference: contact',
array_extent=('nflex', 'mjNREF'),
),
StructFieldDecl(
name='flex_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance: contact',
array_extent=('nflex', 'mjNIMP'),
),
StructFieldDecl(
name='flex_friction',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='friction for (slide, spin, roll)',
array_extent=('nflex', 3),
),
StructFieldDecl(
name='flex_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='detect contact if dist<margin',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_gap',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='include in solver if dist<margin-gap',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_internal',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='internal flex collision enabled',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_selfcollide',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='self collision mode (mjtFlexSelf)',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_activelayers',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of active element layers, 3D only',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_dim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='1: lines, 2: triangles, 3: tetrahedra',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='material id for rendering',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_interp',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='interpolation (0: vertex, 1: nodes)',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_nodeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first node address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_nodenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of nodes',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_vertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first vertex address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_vertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_edgeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first edge address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_edgenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of edges',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_elemadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first element address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_elemnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of elements',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_elemdataadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first element vertex id address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_elemedgeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first element edge id address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_shellnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of shells',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_shelldataadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first shell data address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_evpairadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first evpair address',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_evpairnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of evpairs',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address in flex_texcoord; -1: none',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_nodebodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='node body ids',
array_extent=('nflexnode',),
),
StructFieldDecl(
name='flex_vertbodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='vertex body ids',
array_extent=('nflexvert',),
),
StructFieldDecl(
name='flex_edge',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='edge vertex ids (2 per edge)',
array_extent=('nflexedge', 2),
),
StructFieldDecl(
name='flex_elem',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='element vertex ids (dim+1 per elem)',
array_extent=('nflexelemdata',),
),
StructFieldDecl(
name='flex_elemtexcoord',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='element texture coordinates (dim+1)',
array_extent=('nflexelemdata',),
),
StructFieldDecl(
name='flex_elemedge',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='element edge ids',
array_extent=('nflexelemedge',),
),
StructFieldDecl(
name='flex_elemlayer',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='element distance from surface, 3D only',
array_extent=('nflexelem',),
),
StructFieldDecl(
name='flex_shell',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='shell fragment vertex ids (dim per frag)',
array_extent=('nflexshelldata',),
),
StructFieldDecl(
name='flex_evpair',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='(element, vertex) collision pairs',
array_extent=('nflexevpair', 2),
),
StructFieldDecl(
name='flex_vert',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='vertex positions in local body frames',
array_extent=('nflexvert', 3),
),
StructFieldDecl(
name='flex_vert0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='vertex positions in qpos0 on [0, 1]^d',
array_extent=('nflexvert', 3),
),
StructFieldDecl(
name='flex_node',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='node positions in local body frames',
array_extent=('nflexnode', 3),
),
StructFieldDecl(
name='flex_node0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian node positions in qpos0',
array_extent=('nflexnode', 3),
),
StructFieldDecl(
name='flexedge_length0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='edge lengths in qpos0',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='flexedge_invweight0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='edge inv. weight in qpos0',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='flex_radius',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='radius around primitive element',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_stiffness',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='finite element stiffness matrix',
array_extent=('nflexelem', 21),
),
StructFieldDecl(
name='flex_damping',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="Rayleigh's damping coefficient",
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_edgestiffness',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='edge stiffness',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_edgedamping',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='edge damping',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_edgeequality',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is edge equality constraint defined',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_rigid',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='are all verices in the same body',
array_extent=('nflex',),
),
StructFieldDecl(
name='flexedge_rigid',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='are both edge vertices in same body',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='flex_centered',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='are all vertex coordinates (0,0,0)',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_flatskin',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='render flex skin with flat shading',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of bvh root; -1: no bvh',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of bounding volumes',
array_extent=('nflex',),
),
StructFieldDecl(
name='flex_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='rgba when material is omitted',
array_extent=('nflex', 4),
),
StructFieldDecl(
name='flex_texcoord',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='vertex texture coordinates',
array_extent=('nflextexcoord', 2),
),
StructFieldDecl(
name='mesh_vertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first vertex address',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_vertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_faceadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first face address',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_facenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of faces',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of bvh root',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of bvh',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_normaladr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first normal address',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_normalnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of normals',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='texcoord data address; -1: no texcoord',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_texcoordnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of texcoord',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_graphadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='graph data address; -1: no graph',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_vert',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='vertex positions for all meshes',
array_extent=('nmeshvert', 3),
),
StructFieldDecl(
name='mesh_normal',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='normals for all meshes',
array_extent=('nmeshnormal', 3),
),
StructFieldDecl(
name='mesh_texcoord',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='vertex texcoords for all meshes',
array_extent=('nmeshtexcoord', 2),
),
StructFieldDecl(
name='mesh_face',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='vertex face data',
array_extent=('nmeshface', 3),
),
StructFieldDecl(
name='mesh_facenormal',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='normal face data',
array_extent=('nmeshface', 3),
),
StructFieldDecl(
name='mesh_facetexcoord',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='texture face data',
array_extent=('nmeshface', 3),
),
StructFieldDecl(
name='mesh_graph',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='convex graph data',
array_extent=('nmeshgraph',),
),
StructFieldDecl(
name='mesh_scale',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='scaling applied to asset vertices',
array_extent=('nmesh', 3),
),
StructFieldDecl(
name='mesh_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='translation applied to asset vertices',
array_extent=('nmesh', 3),
),
StructFieldDecl(
name='mesh_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='rotation applied to asset vertices',
array_extent=('nmesh', 4),
),
StructFieldDecl(
name='mesh_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of asset path for mesh; -1: none',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_polynum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of polygons per mesh',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_polyadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first polygon address per mesh',
array_extent=('nmesh',),
),
StructFieldDecl(
name='mesh_polynormal',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='all polygon normals',
array_extent=('nmeshpoly', 3),
),
StructFieldDecl(
name='mesh_polyvertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='polygon vertex start address',
array_extent=('nmeshpoly',),
),
StructFieldDecl(
name='mesh_polyvertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices per polygon',
array_extent=('nmeshpoly',),
),
StructFieldDecl(
name='mesh_polyvert',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='all polygon vertices',
array_extent=('nmeshpolyvert',),
),
StructFieldDecl(
name='mesh_polymapadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first polygon address per vertex',
array_extent=('nmeshvert',),
),
StructFieldDecl(
name='mesh_polymapnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of polygons per vertex',
array_extent=('nmeshvert',),
),
StructFieldDecl(
name='mesh_polymap',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='vertex to polygon map',
array_extent=('nmeshpolymap',),
),
StructFieldDecl(
name='skin_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='skin material id; -1: none',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='skin rgba',
array_extent=('nskin', 4),
),
StructFieldDecl(
name='skin_inflate',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='inflate skin in normal direction',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_vertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first vertex address',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_vertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='texcoord data address; -1: no texcoord',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_faceadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first face address',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_facenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of faces',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_boneadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first bone in skin',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_bonenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of bones in skin',
array_extent=('nskin',),
),
StructFieldDecl(
name='skin_vert',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='vertex positions for all skin meshes',
array_extent=('nskinvert', 3),
),
StructFieldDecl(
name='skin_texcoord',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='vertex texcoords for all skin meshes',
array_extent=('nskintexvert', 2),
),
StructFieldDecl(
name='skin_face',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='triangle faces for all skin meshes',
array_extent=('nskinface', 3),
),
StructFieldDecl(
name='skin_bonevertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first vertex in each bone',
array_extent=('nskinbone',),
),
StructFieldDecl(
name='skin_bonevertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices in each bone',
array_extent=('nskinbone',),
),
StructFieldDecl(
name='skin_bonebindpos',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='bind pos of each bone',
array_extent=('nskinbone', 3),
),
StructFieldDecl(
name='skin_bonebindquat',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='bind quat of each bone',
array_extent=('nskinbone', 4),
),
StructFieldDecl(
name='skin_bonebodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body id of each bone',
array_extent=('nskinbone',),
),
StructFieldDecl(
name='skin_bonevertid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='mesh ids of vertices in each bone',
array_extent=('nskinbonevert',),
),
StructFieldDecl(
name='skin_bonevertweight',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='weights of vertices in each bone',
array_extent=('nskinbonevert',),
),
StructFieldDecl(
name='skin_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of asset path for skin; -1: none',
array_extent=('nskin',),
),
StructFieldDecl(
name='hfield_size',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='(x, y, z_top, z_bottom)',
array_extent=('nhfield', 4),
),
StructFieldDecl(
name='hfield_nrow',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of rows in grid',
array_extent=('nhfield',),
),
StructFieldDecl(
name='hfield_ncol',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of columns in grid',
array_extent=('nhfield',),
),
StructFieldDecl(
name='hfield_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address in hfield_data',
array_extent=('nhfield',),
),
StructFieldDecl(
name='hfield_data',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='elevation data',
array_extent=('nhfielddata',),
),
StructFieldDecl(
name='hfield_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of hfield asset path; -1: none',
array_extent=('nhfield',),
),
StructFieldDecl(
name='tex_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='texture type (mjtTexture)',
array_extent=('ntex',),
),
StructFieldDecl(
name='tex_height',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of rows in texture image',
array_extent=('ntex',),
),
StructFieldDecl(
name='tex_width',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of columns in texture image',
array_extent=('ntex',),
),
StructFieldDecl(
name='tex_nchannel',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of channels in texture image',
array_extent=('ntex',),
),
StructFieldDecl(
name='tex_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='start address in tex_data',
array_extent=('ntex',),
),
StructFieldDecl(
name='tex_data',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='pixel values',
array_extent=('ntexdata',),
),
StructFieldDecl(
name='tex_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of texture asset path; -1: none',
array_extent=('ntex',),
),
StructFieldDecl(
name='mat_texid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='indices of textures; -1: none',
array_extent=('nmat', 'mjNTEXROLE'),
),
StructFieldDecl(
name='mat_texuniform',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='make texture cube uniform',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_texrepeat',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='texture repetition for 2d mapping',
array_extent=('nmat', 2),
),
StructFieldDecl(
name='mat_emission',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='emission (x rgb)',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_specular',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='specular (x white)',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_shininess',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='shininess coef',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_reflectance',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='reflectance (0: disable)',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_metallic',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='metallic coef',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_roughness',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='roughness coef',
array_extent=('nmat',),
),
StructFieldDecl(
name='mat_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='rgba',
array_extent=('nmat', 4),
),
StructFieldDecl(
name='pair_dim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='contact dimensionality',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_geom1',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of geom1',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_geom2',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of geom2',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_signature',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body1 << 16 + body2',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='solver reference: contact normal',
array_extent=('npair', 'mjNREF'),
),
StructFieldDecl(
name='pair_solreffriction',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='solver reference: contact friction',
array_extent=('npair', 'mjNREF'),
),
StructFieldDecl(
name='pair_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='solver impedance: contact',
array_extent=('npair', 'mjNIMP'),
),
StructFieldDecl(
name='pair_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='detect contact if dist<margin',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_gap',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='include in solver if dist<margin-gap',
array_extent=('npair',),
),
StructFieldDecl(
name='pair_friction',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tangent1, 2, spin, roll1, 2',
array_extent=('npair', 5),
),
StructFieldDecl(
name='exclude_signature',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body1 << 16 + body2',
array_extent=('nexclude',),
),
StructFieldDecl(
name='eq_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='constraint type (mjtEq)',
array_extent=('neq',),
),
StructFieldDecl(
name='eq_obj1id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of object 1',
array_extent=('neq',),
),
StructFieldDecl(
name='eq_obj2id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of object 2',
array_extent=('neq',),
),
StructFieldDecl(
name='eq_objtype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='type of both objects (mjtObj)',
array_extent=('neq',),
),
StructFieldDecl(
name='eq_active0',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='initial enable/disable constraint state',
array_extent=('neq',),
),
StructFieldDecl(
name='eq_solref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference',
array_extent=('neq', 'mjNREF'),
),
StructFieldDecl(
name='eq_solimp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance',
array_extent=('neq', 'mjNIMP'),
),
StructFieldDecl(
name='eq_data',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='numeric data for constraint',
array_extent=('neq', 'mjNEQDATA'),
),
StructFieldDecl(
name='tendon_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="address of first object in tendon's path",
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_num',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="number of objects in tendon's path",
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='material id for rendering',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_limited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='does tendon have length limits',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_actfrclimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='does tendon have actuator force limits',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_width',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='width for rendering',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_solref_lim',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference: limit',
array_extent=('ntendon', 'mjNREF'),
),
StructFieldDecl(
name='tendon_solimp_lim',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance: limit',
array_extent=('ntendon', 'mjNIMP'),
),
StructFieldDecl(
name='tendon_solref_fri',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver reference: friction',
array_extent=('ntendon', 'mjNREF'),
),
StructFieldDecl(
name='tendon_solimp_fri',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint solver impedance: friction',
array_extent=('ntendon', 'mjNIMP'),
),
StructFieldDecl(
name='tendon_range',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tendon length limits',
array_extent=('ntendon', 2),
),
StructFieldDecl(
name='tendon_actfrcrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='range of total actuator force',
array_extent=('ntendon', 2),
),
StructFieldDecl(
name='tendon_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='min distance for limit detection',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_stiffness',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='stiffness coefficient',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_damping',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='damping coefficient',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_armature',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inertia associated with tendon velocity',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_frictionloss',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='loss due to friction',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_lengthspring',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='spring resting length range',
array_extent=('ntendon', 2),
),
StructFieldDecl(
name='tendon_length0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tendon length in qpos0',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_invweight0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inv. weight in qpos0',
array_extent=('ntendon',),
),
StructFieldDecl(
name='tendon_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('ntendon', 'nuser_tendon'),
),
StructFieldDecl(
name='tendon_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='rgba when material is omitted',
array_extent=('ntendon', 4),
),
StructFieldDecl(
name='wrap_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='wrap object type (mjtWrap)',
array_extent=('nwrap',),
),
StructFieldDecl(
name='wrap_objid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='object id: geom, site, joint',
array_extent=('nwrap',),
),
StructFieldDecl(
name='wrap_prm',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='divisor, joint coef, or site id',
array_extent=('nwrap',),
),
StructFieldDecl(
name='actuator_trntype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='transmission type (mjtTrn)',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_dyntype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dynamics type (mjtDyn)',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_gaintype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='gain type (mjtGain)',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_biastype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='bias type (mjtBias)',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_trnid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='transmission id: joint, tendon, site',
array_extent=('nu', 2),
),
StructFieldDecl(
name='actuator_actadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first activation address; -1: stateless',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_actnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of activation variables',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='group for visibility',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_ctrllimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is control limited',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_forcelimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is force limited',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_actlimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='is activation limited',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_dynprm',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='dynamics parameters',
array_extent=('nu', 'mjNDYN'),
),
StructFieldDecl(
name='actuator_gainprm',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='gain parameters',
array_extent=('nu', 'mjNGAIN'),
),
StructFieldDecl(
name='actuator_biasprm',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='bias parameters',
array_extent=('nu', 'mjNBIAS'),
),
StructFieldDecl(
name='actuator_actearly',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='step activation before force',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_ctrlrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='range of controls',
array_extent=('nu', 2),
),
StructFieldDecl(
name='actuator_forcerange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='range of forces',
array_extent=('nu', 2),
),
StructFieldDecl(
name='actuator_actrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='range of activations',
array_extent=('nu', 2),
),
StructFieldDecl(
name='actuator_gear',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='scale length and transmitted force',
array_extent=('nu', 6),
),
StructFieldDecl(
name='actuator_cranklength',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='crank length for slider-crank',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_acc0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='acceleration from unit force in qpos0',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_length0',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator length in qpos0',
array_extent=('nu',),
),
StructFieldDecl(
name='actuator_lengthrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='feasible actuator length range',
array_extent=('nu', 2),
),
StructFieldDecl(
name='actuator_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('nu', 'nuser_actuator'),
),
StructFieldDecl(
name='actuator_plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='plugin instance id; -1: not a plugin',
array_extent=('nu',),
),
StructFieldDecl(
name='sensor_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='sensor type (mjtSensor)',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_datatype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='numeric data type (mjtDataType)',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_needstage',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='required compute stage (mjtStage)',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_objtype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='type of sensorized object (mjtObj)',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_objid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of sensorized object',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_reftype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='type of reference frame (mjtObj)',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_refid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of reference frame; -1: global frame',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_dim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of scalar outputs',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address in sensor array',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_cutoff',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='cutoff for real and positive; 0: ignore',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_noise',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='noise standard deviation',
array_extent=('nsensor',),
),
StructFieldDecl(
name='sensor_user',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data',
array_extent=('nsensor', 'nuser_sensor'),
),
StructFieldDecl(
name='sensor_plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='plugin instance id; -1: not a plugin',
array_extent=('nsensor',),
),
StructFieldDecl(
name='plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='globally registered plugin slot number',
array_extent=('nplugin',),
),
StructFieldDecl(
name='plugin_stateadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address in the plugin state array',
array_extent=('nplugin',),
),
StructFieldDecl(
name='plugin_statenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of states in the plugin instance',
array_extent=('nplugin',),
),
StructFieldDecl(
name='plugin_attr',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='config attributes of plugin instances',
array_extent=('npluginattr',),
),
StructFieldDecl(
name='plugin_attradr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="address to each instance's config attrib",
array_extent=('nplugin',),
),
StructFieldDecl(
name='numeric_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of field in numeric_data',
array_extent=('nnumeric',),
),
StructFieldDecl(
name='numeric_size',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='size of numeric field',
array_extent=('nnumeric',),
),
StructFieldDecl(
name='numeric_data',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='array of all numeric fields',
array_extent=('nnumericdata',),
),
StructFieldDecl(
name='text_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of text in text_data',
array_extent=('ntext',),
),
StructFieldDecl(
name='text_size',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='size of text field (strlen+1)',
array_extent=('ntext',),
),
StructFieldDecl(
name='text_data',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='array of all text fields (0-terminated)',
array_extent=('ntextdata',),
),
StructFieldDecl(
name='tuple_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of text in text_data',
array_extent=('ntuple',),
),
StructFieldDecl(
name='tuple_size',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of objects in tuple',
array_extent=('ntuple',),
),
StructFieldDecl(
name='tuple_objtype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='array of object types in all tuples',
array_extent=('ntupledata',),
),
StructFieldDecl(
name='tuple_objid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='array of object ids in all tuples',
array_extent=('ntupledata',),
),
StructFieldDecl(
name='tuple_objprm',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='array of object params in all tuples',
array_extent=('ntupledata',),
),
StructFieldDecl(
name='key_time',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key time',
array_extent=('nkey',),
),
StructFieldDecl(
name='key_qpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key position',
array_extent=('nkey', 'nq'),
),
StructFieldDecl(
name='key_qvel',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key velocity',
array_extent=('nkey', 'nv'),
),
StructFieldDecl(
name='key_act',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key activation',
array_extent=('nkey', 'na'),
),
StructFieldDecl(
name='key_mpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key mocap position',
array_extent=('nkey', 'nmocap*3'),
),
StructFieldDecl(
name='key_mquat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key mocap quaternion',
array_extent=('nkey', 'nmocap*4'),
),
StructFieldDecl(
name='key_ctrl',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='key control',
array_extent=('nkey', 'nu'),
),
StructFieldDecl(
name='name_bodyadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body name pointers',
array_extent=('nbody',),
),
StructFieldDecl(
name='name_jntadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='joint name pointers',
array_extent=('njnt',),
),
StructFieldDecl(
name='name_geomadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom name pointers',
array_extent=('ngeom',),
),
StructFieldDecl(
name='name_siteadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='site name pointers',
array_extent=('nsite',),
),
StructFieldDecl(
name='name_camadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='camera name pointers',
array_extent=('ncam',),
),
StructFieldDecl(
name='name_lightadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='light name pointers',
array_extent=('nlight',),
),
StructFieldDecl(
name='name_flexadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='flex name pointers',
array_extent=('nflex',),
),
StructFieldDecl(
name='name_meshadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='mesh name pointers',
array_extent=('nmesh',),
),
StructFieldDecl(
name='name_skinadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='skin name pointers',
array_extent=('nskin',),
),
StructFieldDecl(
name='name_hfieldadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='hfield name pointers',
array_extent=('nhfield',),
),
StructFieldDecl(
name='name_texadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='texture name pointers',
array_extent=('ntex',),
),
StructFieldDecl(
name='name_matadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='material name pointers',
array_extent=('nmat',),
),
StructFieldDecl(
name='name_pairadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom pair name pointers',
array_extent=('npair',),
),
StructFieldDecl(
name='name_excludeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='exclude name pointers',
array_extent=('nexclude',),
),
StructFieldDecl(
name='name_eqadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='equality constraint name pointers',
array_extent=('neq',),
),
StructFieldDecl(
name='name_tendonadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='tendon name pointers',
array_extent=('ntendon',),
),
StructFieldDecl(
name='name_actuatoradr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='actuator name pointers',
array_extent=('nu',),
),
StructFieldDecl(
name='name_sensoradr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='sensor name pointers',
array_extent=('nsensor',),
),
StructFieldDecl(
name='name_numericadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='numeric name pointers',
array_extent=('nnumeric',),
),
StructFieldDecl(
name='name_textadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='text name pointers',
array_extent=('ntext',),
),
StructFieldDecl(
name='name_tupleadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='tuple name pointers',
array_extent=('ntuple',),
),
StructFieldDecl(
name='name_keyadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='keyframe name pointers',
array_extent=('nkey',),
),
StructFieldDecl(
name='name_pluginadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='plugin instance name pointers',
array_extent=('nplugin',),
),
StructFieldDecl(
name='names',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='names of all objects, 0-terminated',
array_extent=('nnames',),
),
StructFieldDecl(
name='names_map',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='internal hash map of names',
array_extent=('nnames_map',),
),
StructFieldDecl(
name='paths',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='paths to assets, 0-terminated',
array_extent=('npaths',),
),
StructFieldDecl(
name='signature',
type=ValueType(name='uint64_t'),
doc='also held by the mjSpec that compiled this model',
),
),
)),
('mjThreadPool',
StructDecl(
name='mjThreadPool',
declname='struct mjThreadPool_',
fields=(
StructFieldDecl(
name='nworker',
type=ValueType(name='int'),
doc='number of workers in the pool',
),
),
)),
('mjTask',
StructDecl(
name='mjTask',
declname='struct mjTask_',
fields=(
StructFieldDecl(
name='func',
type=ValueType(name='mjfTask'),
doc='pointer to the function that implements the task',
),
StructFieldDecl(
name='args',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='arguments to func',
),
StructFieldDecl(
name='status',
type=ValueType(name='int', is_volatile=True),
doc='status of the task',
),
),
)),
('mjContact',
StructDecl(
name='mjContact',
declname='struct mjContact_',
fields=(
StructFieldDecl(
name='dist',
type=ValueType(name='mjtNum'),
doc='distance between nearest points; neg: penetration',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='position of contact point: midpoint between geoms',
),
StructFieldDecl(
name='frame',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(9,),
),
doc='normal is in [0-2], points from geom[0] to geom[1]',
),
StructFieldDecl(
name='includemargin',
type=ValueType(name='mjtNum'),
doc='include if dist<includemargin=margin-gap',
),
StructFieldDecl(
name='friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='tangent1, 2, spin, roll1, 2',
),
StructFieldDecl(
name='solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='constraint solver reference, normal direction',
),
StructFieldDecl(
name='solreffriction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='constraint solver reference, friction directions',
),
StructFieldDecl(
name='solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='constraint solver impedance',
),
StructFieldDecl(
name='mu',
type=ValueType(name='mjtNum'),
doc='friction of regularized cone, set by mj_makeConstraint',
),
StructFieldDecl(
name='H',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(36,),
),
doc='cone Hessian, set by mj_constraintUpdate',
),
StructFieldDecl(
name='dim',
type=ValueType(name='int'),
doc='contact space dimensionality: 1, 3, 4 or 6',
),
StructFieldDecl(
name='geom1',
type=ValueType(name='int'),
doc='id of geom 1; deprecated, use geom[0]',
),
StructFieldDecl(
name='geom2',
type=ValueType(name='int'),
doc='id of geom 2; deprecated, use geom[1]',
),
StructFieldDecl(
name='geom',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='geom ids; -1 for flex',
),
StructFieldDecl(
name='flex',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='flex ids; -1 for geom',
),
StructFieldDecl(
name='elem',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='element ids; -1 for geom or flex vertex',
),
StructFieldDecl(
name='vert',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='vertex ids; -1 for geom or flex element',
),
StructFieldDecl(
name='exclude',
type=ValueType(name='int'),
doc='0: include, 1: in gap, 2: fused, 3: no dofs',
),
StructFieldDecl(
name='efc_address',
type=ValueType(name='int'),
doc='address in efc; -1: not included',
),
),
)),
('mjWarningStat',
StructDecl(
name='mjWarningStat',
declname='struct mjWarningStat_',
fields=(
StructFieldDecl(
name='lastinfo',
type=ValueType(name='int'),
doc='info from last warning',
),
StructFieldDecl(
name='number',
type=ValueType(name='int'),
doc='how many times was warning raised',
),
),
)),
('mjTimerStat',
StructDecl(
name='mjTimerStat',
declname='struct mjTimerStat_',
fields=(
StructFieldDecl(
name='duration',
type=ValueType(name='mjtNum'),
doc='cumulative duration',
),
StructFieldDecl(
name='number',
type=ValueType(name='int'),
doc='how many times was timer called',
),
),
)),
('mjSolverStat',
StructDecl(
name='mjSolverStat',
declname='struct mjSolverStat_',
fields=(
StructFieldDecl(
name='improvement',
type=ValueType(name='mjtNum'),
doc='cost reduction, scaled by 1/trace(M(qpos0))',
),
StructFieldDecl(
name='gradient',
type=ValueType(name='mjtNum'),
doc='gradient norm (primal only, scaled)',
),
StructFieldDecl(
name='lineslope',
type=ValueType(name='mjtNum'),
doc='slope in linesearch',
),
StructFieldDecl(
name='nactive',
type=ValueType(name='int'),
doc='number of active constraints',
),
StructFieldDecl(
name='nchange',
type=ValueType(name='int'),
doc='number of constraint state changes',
),
StructFieldDecl(
name='neval',
type=ValueType(name='int'),
doc='number of cost evaluations in line search',
),
StructFieldDecl(
name='nupdate',
type=ValueType(name='int'),
doc='number of Cholesky updates in line search',
),
),
)),
('mjData',
StructDecl(
name='mjData',
declname='struct mjData_',
fields=(
StructFieldDecl(
name='narena',
type=ValueType(name='size_t'),
doc='size of the arena in bytes (inclusive of the stack)',
),
StructFieldDecl(
name='nbuffer',
type=ValueType(name='size_t'),
doc='size of main buffer in bytes',
),
StructFieldDecl(
name='nplugin',
type=ValueType(name='int'),
doc='number of plugin instances',
),
StructFieldDecl(
name='pstack',
type=ValueType(name='size_t'),
doc='first available byte in stack',
),
StructFieldDecl(
name='pbase',
type=ValueType(name='size_t'),
doc='value of pstack when mj_markStack was last called',
),
StructFieldDecl(
name='parena',
type=ValueType(name='size_t'),
doc='first available byte in arena',
),
StructFieldDecl(
name='maxuse_stack',
type=ValueType(name='size_t'),
doc='maximum stack allocation in bytes',
),
StructFieldDecl(
name='maxuse_threadstack',
type=ArrayType(
inner_type=ValueType(name='size_t'),
extents=(128,),
),
doc='maximum stack allocation per thread in bytes',
),
StructFieldDecl(
name='maxuse_arena',
type=ValueType(name='size_t'),
doc='maximum arena allocation in bytes',
),
StructFieldDecl(
name='maxuse_con',
type=ValueType(name='int'),
doc='maximum number of contacts',
),
StructFieldDecl(
name='maxuse_efc',
type=ValueType(name='int'),
doc='maximum number of scalar constraints',
),
StructFieldDecl(
name='solver',
type=ArrayType(
inner_type=ValueType(name='mjSolverStat'),
extents=(4000,),
),
doc='solver statistics per island, per iteration',
),
StructFieldDecl(
name='solver_niter',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(20,),
),
doc='number of solver iterations, per island',
),
StructFieldDecl(
name='solver_nnz',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(20,),
),
doc='number of nonzeros in Hessian or efc_AR, per island',
),
StructFieldDecl(
name='solver_fwdinv',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='forward-inverse comparison: qfrc, efc',
),
StructFieldDecl(
name='warning',
type=ArrayType(
inner_type=ValueType(name='mjWarningStat'),
extents=(8,),
),
doc='warning statistics',
),
StructFieldDecl(
name='timer',
type=ArrayType(
inner_type=ValueType(name='mjTimerStat'),
extents=(15,),
),
doc='timer statistics',
),
StructFieldDecl(
name='ncon',
type=ValueType(name='int'),
doc='number of detected contacts',
),
StructFieldDecl(
name='ne',
type=ValueType(name='int'),
doc='number of equality constraints',
),
StructFieldDecl(
name='nf',
type=ValueType(name='int'),
doc='number of friction constraints',
),
StructFieldDecl(
name='nl',
type=ValueType(name='int'),
doc='number of limit constraints',
),
StructFieldDecl(
name='nefc',
type=ValueType(name='int'),
doc='number of constraints',
),
StructFieldDecl(
name='nJ',
type=ValueType(name='int'),
doc='number of non-zeros in constraint Jacobian',
),
StructFieldDecl(
name='nA',
type=ValueType(name='int'),
doc='number of non-zeros in constraint inverse inertia matrix',
),
StructFieldDecl(
name='nisland',
type=ValueType(name='int'),
doc='number of detected constraint islands',
),
StructFieldDecl(
name='nidof',
type=ValueType(name='int'),
doc='number of dofs in all islands',
),
StructFieldDecl(
name='time',
type=ValueType(name='mjtNum'),
doc='simulation time',
),
StructFieldDecl(
name='energy',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='potential, kinetic energy',
),
StructFieldDecl(
name='buffer',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='main buffer; all pointers point in it (nbuffer bytes)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='arena',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='arena+stack buffer (narena bytes)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='qpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='position',
array_extent=('nq',),
),
StructFieldDecl(
name='qvel',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='velocity',
array_extent=('nv',),
),
StructFieldDecl(
name='act',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator activation',
array_extent=('na',),
),
StructFieldDecl(
name='qacc_warmstart',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='acceleration used for warmstart',
array_extent=('nv',),
),
StructFieldDecl(
name='plugin_state',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='plugin state',
array_extent=('npluginstate',),
),
StructFieldDecl(
name='ctrl',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='control',
array_extent=('nu',),
),
StructFieldDecl(
name='qfrc_applied',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='applied generalized force',
array_extent=('nv',),
),
StructFieldDecl(
name='xfrc_applied',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='applied Cartesian force/torque',
array_extent=('nbody', 6),
),
StructFieldDecl(
name='eq_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='enable/disable constraints',
array_extent=('neq',),
),
StructFieldDecl(
name='mocap_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='positions of mocap bodies',
array_extent=('nmocap', 3),
),
StructFieldDecl(
name='mocap_quat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='orientations of mocap bodies',
array_extent=('nmocap', 4),
),
StructFieldDecl(
name='qacc',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='acceleration',
array_extent=('nv',),
),
StructFieldDecl(
name='act_dot',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='time-derivative of actuator activation',
array_extent=('na',),
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='user data, not touched by engine',
array_extent=('nuserdata',),
),
StructFieldDecl(
name='sensordata',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='sensor data array',
array_extent=('nsensordata',),
),
StructFieldDecl(
name='plugin',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='copy of m->plugin, required for deletion',
array_extent=('nplugin',),
),
StructFieldDecl(
name='plugin_data',
type=PointerType(
inner_type=ValueType(name='uintptr_t'),
),
doc='pointer to plugin-managed data structure',
array_extent=('nplugin',),
),
StructFieldDecl(
name='xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian position of body frame',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='xquat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian orientation of body frame',
array_extent=('nbody', 4),
),
StructFieldDecl(
name='xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian orientation of body frame',
array_extent=('nbody', 9),
),
StructFieldDecl(
name='xipos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian position of body com',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='ximat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian orientation of body inertia',
array_extent=('nbody', 9),
),
StructFieldDecl(
name='xanchor',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian position of joint anchor',
array_extent=('njnt', 3),
),
StructFieldDecl(
name='xaxis',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian joint axis',
array_extent=('njnt', 3),
),
StructFieldDecl(
name='geom_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian geom position',
array_extent=('ngeom', 3),
),
StructFieldDecl(
name='geom_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian geom orientation',
array_extent=('ngeom', 9),
),
StructFieldDecl(
name='site_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian site position',
array_extent=('nsite', 3),
),
StructFieldDecl(
name='site_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian site orientation',
array_extent=('nsite', 9),
),
StructFieldDecl(
name='cam_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian camera position',
array_extent=('ncam', 3),
),
StructFieldDecl(
name='cam_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian camera orientation',
array_extent=('ncam', 9),
),
StructFieldDecl(
name='light_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian light position',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='light_xdir',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian light direction',
array_extent=('nlight', 3),
),
StructFieldDecl(
name='subtree_com',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='center of mass of each subtree',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='cdof',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based motion axis of each dof (rot:lin)',
array_extent=('nv', 6),
),
StructFieldDecl(
name='cinert',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based body inertia and mass',
array_extent=('nbody', 10),
),
StructFieldDecl(
name='flexvert_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian flex vertex positions',
array_extent=('nflexvert', 3),
),
StructFieldDecl(
name='flexelem_aabb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='flex element bounding boxes (center, size)',
array_extent=('nflexelem', 6),
),
StructFieldDecl(
name='flexedge_J_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in Jacobian row',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='flexedge_J_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='flexedge_J_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in sparse Jacobian',
array_extent=('nflexedge', 'nv'),
),
StructFieldDecl(
name='flexedge_J',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='flex edge Jacobian',
array_extent=('nflexedge', 'nv'),
),
StructFieldDecl(
name='flexedge_length',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='flex edge lengths',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='ten_wrapadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc="start address of tendon's path",
array_extent=('ntendon',),
),
StructFieldDecl(
name='ten_wrapnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of wrap points in path',
array_extent=('ntendon',),
),
StructFieldDecl(
name='ten_J_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in Jacobian row',
array_extent=('ntendon',),
),
StructFieldDecl(
name='ten_J_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('ntendon',),
),
StructFieldDecl(
name='ten_J_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in sparse Jacobian',
array_extent=('ntendon', 'nv'),
),
StructFieldDecl(
name='ten_J',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tendon Jacobian',
array_extent=('ntendon', 'nv'),
),
StructFieldDecl(
name='ten_length',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tendon lengths',
array_extent=('ntendon',),
),
StructFieldDecl(
name='wrap_obj',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='geom id; -1: site; -2: pulley',
array_extent=('nwrap', 2),
),
StructFieldDecl(
name='wrap_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cartesian 3D points in all paths',
array_extent=('nwrap', 6),
),
StructFieldDecl(
name='actuator_length',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator lengths',
array_extent=('nu',),
),
StructFieldDecl(
name='moment_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in actuator_moment row',
array_extent=('nu',),
),
StructFieldDecl(
name='moment_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('nu',),
),
StructFieldDecl(
name='moment_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in sparse Jacobian',
array_extent=('nJmom',),
),
StructFieldDecl(
name='actuator_moment',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator moments',
array_extent=('nJmom',),
),
StructFieldDecl(
name='crb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based composite inertia and mass',
array_extent=('nbody', 10),
),
StructFieldDecl(
name='qM',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='total inertia (sparse)',
array_extent=('nM',),
),
StructFieldDecl(
name='M',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='total inertia (compressed sparse row)',
array_extent=('nC',),
),
StructFieldDecl(
name='qLD',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="L'*D*L factorization of M (sparse)",
array_extent=('nC',),
),
StructFieldDecl(
name='qLDiagInv',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='1/diag(D)',
array_extent=('nv',),
),
StructFieldDecl(
name='bvh_aabb_dyn',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='global bounding box (center, size)',
array_extent=('nbvhdynamic', 6),
),
StructFieldDecl(
name='bvh_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='was bounding volume checked for collision',
array_extent=('nbvh',),
),
StructFieldDecl(
name='flexedge_velocity',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='flex edge velocities',
array_extent=('nflexedge',),
),
StructFieldDecl(
name='ten_velocity',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='tendon velocities',
array_extent=('ntendon',),
),
StructFieldDecl(
name='actuator_velocity',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator velocities',
array_extent=('nu',),
),
StructFieldDecl(
name='cvel',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based velocity (rot:lin)',
array_extent=('nbody', 6),
),
StructFieldDecl(
name='cdof_dot',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='time-derivative of cdof (rot:lin)',
array_extent=('nv', 6),
),
StructFieldDecl(
name='qfrc_bias',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='C(qpos,qvel)',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_spring',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='passive spring force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_damper',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='passive damper force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_gravcomp',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='passive gravity compensation force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_fluid',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='passive fluid force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_passive',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='total passive force',
array_extent=('nv',),
),
StructFieldDecl(
name='subtree_linvel',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='linear velocity of subtree com',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='subtree_angmom',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='angular momentum about subtree com',
array_extent=('nbody', 3),
),
StructFieldDecl(
name='qH',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="L'*D*L factorization of modified M",
array_extent=('nC',),
),
StructFieldDecl(
name='qHDiagInv',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='1/diag(D) of modified M',
array_extent=('nv',),
),
StructFieldDecl(
name='B_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body-dof: non-zeros in each row',
array_extent=('nbody',),
),
StructFieldDecl(
name='B_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body-dof: address of each row in B_colind',
array_extent=('nbody',),
),
StructFieldDecl(
name='B_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='body-dof: column indices of non-zeros',
array_extent=('nB',),
),
StructFieldDecl(
name='C_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='reduced dof-dof: non-zeros in each row',
array_extent=('nv',),
),
StructFieldDecl(
name='C_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='reduced dof-dof: address of each row in C_colind',
array_extent=('nv',),
),
StructFieldDecl(
name='C_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='reduced dof-dof: column indices of non-zeros',
array_extent=('nC',),
),
StructFieldDecl(
name='mapM2C',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='index mapping from M to C',
array_extent=('nC',),
),
StructFieldDecl(
name='D_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dof-dof: non-zeros in each row',
array_extent=('nv',),
),
StructFieldDecl(
name='D_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dof-dof: address of each row in D_colind',
array_extent=('nv',),
),
StructFieldDecl(
name='D_diag',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dof-dof: index of diagonal element',
array_extent=('nv',),
),
StructFieldDecl(
name='D_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='dof-dof: column indices of non-zeros',
array_extent=('nD',),
),
StructFieldDecl(
name='mapM2D',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='index mapping from M to D',
array_extent=('nD',),
),
StructFieldDecl(
name='mapD2M',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='index mapping from D to M',
array_extent=('nM',),
),
StructFieldDecl(
name='qDeriv',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='d (passive + actuator - bias) / d qvel',
array_extent=('nD',),
),
StructFieldDecl(
name='qLU',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='sparse LU of (qM - dt*qDeriv)',
array_extent=('nD',),
),
StructFieldDecl(
name='actuator_force',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator force in actuation space',
array_extent=('nu',),
),
StructFieldDecl(
name='qfrc_actuator',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='actuator force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_smooth',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='net unconstrained force',
array_extent=('nv',),
),
StructFieldDecl(
name='qacc_smooth',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='unconstrained acceleration',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_constraint',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint force',
array_extent=('nv',),
),
StructFieldDecl(
name='qfrc_inverse',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="net external force; should equal: qfrc_applied + J'*xfrc_applied + qfrc_actuator", # pylint: disable=line-too-long
array_extent=('nv',),
),
StructFieldDecl(
name='cacc',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based acceleration',
array_extent=('nbody', 6),
),
StructFieldDecl(
name='cfrc_int',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based interaction force with parent',
array_extent=('nbody', 6),
),
StructFieldDecl(
name='cfrc_ext',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='com-based external force on body',
array_extent=('nbody', 6),
),
StructFieldDecl(
name='contact',
type=PointerType(
inner_type=ValueType(name='mjContact'),
),
doc='array of all detected contacts',
array_extent=('ncon',),
),
StructFieldDecl(
name='efc_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='constraint type (mjtConstraint)',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of object of specified type',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_J_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in constraint Jacobian row',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_J_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_J_rowsuper',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of subsequent rows in supernode',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_J_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in constraint Jacobian',
array_extent=('nJ',),
),
StructFieldDecl(
name='efc_JT_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in constraint Jacobian row T',
array_extent=('nv',),
),
StructFieldDecl(
name='efc_JT_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array T',
array_extent=('nv',),
),
StructFieldDecl(
name='efc_JT_rowsuper',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of subsequent rows in supernode T',
array_extent=('nv',),
),
StructFieldDecl(
name='efc_JT_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in constraint Jacobian T',
array_extent=('nJ',),
),
StructFieldDecl(
name='efc_J',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint Jacobian',
array_extent=('nJ',),
),
StructFieldDecl(
name='efc_JT',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint Jacobian transposed',
array_extent=('nJ',),
),
StructFieldDecl(
name='efc_pos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint position (equality, contact)',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_margin',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inclusion margin (contact)',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_frictionloss',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='frictionloss (friction)',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_diagApprox',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='approximation to diagonal of A',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_KBIP',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="stiffness, damping, impedance, imp'",
array_extent=('nefc', 4),
),
StructFieldDecl(
name='efc_D',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint mass',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_R',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inverse constraint mass',
array_extent=('nefc',),
),
StructFieldDecl(
name='tendon_efcadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='first efc address involving tendon; -1: none',
array_extent=('ntendon',),
),
StructFieldDecl(
name='dof_island',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='island id of this dof; -1: none',
array_extent=('nv',),
),
StructFieldDecl(
name='island_nv',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of dofs in this island',
array_extent=('nisland',),
),
StructFieldDecl(
name='island_idofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='island start address in idof vector',
array_extent=('nisland',),
),
StructFieldDecl(
name='island_dofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='island start address in dof vector',
array_extent=('nisland',),
),
StructFieldDecl(
name='map_dof2idof',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='map from dof to idof',
array_extent=('nv',),
),
StructFieldDecl(
name='map_idof2dof',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='map from idof to dof; >= nidof: unconstrained',
array_extent=('nv',),
),
StructFieldDecl(
name='ifrc_smooth',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='net unconstrained force',
array_extent=('nidof',),
),
StructFieldDecl(
name='iacc_smooth',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='unconstrained acceleration',
array_extent=('nidof',),
),
StructFieldDecl(
name='iM_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='inertia: non-zeros in each row',
array_extent=('nidof',),
),
StructFieldDecl(
name='iM_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='inertia: address of each row in iM_colind',
array_extent=('nidof',),
),
StructFieldDecl(
name='iM_diagnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='inertia: num of consecutive diagonal elements',
array_extent=('nidof',),
),
StructFieldDecl(
name='iM_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='inertia: column indices of non-zeros',
array_extent=('nC',),
),
StructFieldDecl(
name='iM',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='total inertia (sparse)',
array_extent=('nC',),
),
StructFieldDecl(
name='iLD',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="L'*D*L factorization of M (sparse)",
array_extent=('nC',),
),
StructFieldDecl(
name='iLDiagInv',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='1/diag(D)',
array_extent=('nidof',),
),
StructFieldDecl(
name='iacc',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='acceleration',
array_extent=('nidof',),
),
StructFieldDecl(
name='efc_island',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='island id of this constraint',
array_extent=('nefc',),
),
StructFieldDecl(
name='island_ne',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of equality constraints in island',
array_extent=('nisland',),
),
StructFieldDecl(
name='island_nf',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of friction constraints in island',
array_extent=('nisland',),
),
StructFieldDecl(
name='island_nefc',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of constraints in island',
array_extent=('nisland',),
),
StructFieldDecl(
name='island_iefcadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='start address in iefc vector',
array_extent=('nisland',),
),
StructFieldDecl(
name='map_efc2iefc',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='map from efc to iefc',
array_extent=('nefc',),
),
StructFieldDecl(
name='map_iefc2efc',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='map from iefc to efc',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='constraint type (mjtConstraint)',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='id of object of specified type',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_J_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in constraint Jacobian row',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_J_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_J_rowsuper',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of subsequent rows in supernode',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_J_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in constraint Jacobian',
array_extent=('nJ',),
),
StructFieldDecl(
name='iefc_JT_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in constraint Jacobian row T',
array_extent=('nidof',),
),
StructFieldDecl(
name='iefc_JT_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array T',
array_extent=('nidof',),
),
StructFieldDecl(
name='iefc_JT_rowsuper',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of subsequent rows in supernode T',
array_extent=('nidof',),
),
StructFieldDecl(
name='iefc_JT_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in constraint Jacobian T',
array_extent=('nJ',),
),
StructFieldDecl(
name='iefc_J',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint Jacobian',
array_extent=('nJ',),
),
StructFieldDecl(
name='iefc_JT',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint Jacobian transposed',
array_extent=('nJ',),
),
StructFieldDecl(
name='iefc_frictionloss',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='frictionloss (friction)',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_D',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint mass',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_R',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='inverse constraint mass',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_AR_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of non-zeros in AR',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_AR_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='row start address in colind array',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_AR_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='column indices in sparse AR',
array_extent=('nA',),
),
StructFieldDecl(
name='efc_AR',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc="J*inv(M)*J' + R",
array_extent=('nA',),
),
StructFieldDecl(
name='efc_vel',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='velocity in constraint space: J*qvel',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_aref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='reference pseudo-acceleration',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_b',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='linear cost term: J*qacc_smooth - aref',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_aref',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='reference pseudo-acceleration',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_state',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='constraint state (mjtConstraintState)',
array_extent=('nefc',),
),
StructFieldDecl(
name='iefc_force',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint force in constraint space',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_state',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='constraint state (mjtConstraintState)',
array_extent=('nefc',),
),
StructFieldDecl(
name='efc_force',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint force in constraint space',
array_extent=('nefc',),
),
StructFieldDecl(
name='ifrc_constraint',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='constraint force',
array_extent=('nidof',),
),
StructFieldDecl(
name='threadpool',
type=ValueType(name='uintptr_t'),
doc='thread pool pointer',
),
StructFieldDecl(
name='signature',
type=ValueType(name='uint64_t'),
doc='also held by the mjSpec that compiled the model',
),
),
)),
('mjvPerturb',
StructDecl(
name='mjvPerturb',
declname='struct mjvPerturb_',
fields=(
StructFieldDecl(
name='select',
type=ValueType(name='int'),
doc='selected body id; non-positive: none',
),
StructFieldDecl(
name='flexselect',
type=ValueType(name='int'),
doc='selected flex id; negative: none',
),
StructFieldDecl(
name='skinselect',
type=ValueType(name='int'),
doc='selected skin id; negative: none',
),
StructFieldDecl(
name='active',
type=ValueType(name='int'),
doc='perturbation bitmask (mjtPertBit)',
),
StructFieldDecl(
name='active2',
type=ValueType(name='int'),
doc='secondary perturbation bitmask (mjtPertBit)',
),
StructFieldDecl(
name='refpos',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='reference position for selected object',
),
StructFieldDecl(
name='refquat',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(4,),
),
doc='reference orientation for selected object',
),
StructFieldDecl(
name='refselpos',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='reference position for selection point',
),
StructFieldDecl(
name='localpos',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='selection point in object coordinates',
),
StructFieldDecl(
name='localmass',
type=ValueType(name='mjtNum'),
doc='spatial inertia at selection point',
),
StructFieldDecl(
name='scale',
type=ValueType(name='mjtNum'),
doc='relative mouse motion-to-space scaling (set by initPerturb)', # pylint: disable=line-too-long
),
),
)),
('mjvCamera',
StructDecl(
name='mjvCamera',
declname='struct mjvCamera_',
fields=(
StructFieldDecl(
name='type',
type=ValueType(name='int'),
doc='camera type (mjtCamera)',
),
StructFieldDecl(
name='fixedcamid',
type=ValueType(name='int'),
doc='fixed camera id',
),
StructFieldDecl(
name='trackbodyid',
type=ValueType(name='int'),
doc='body id to track',
),
StructFieldDecl(
name='lookat',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(3,),
),
doc='lookat point',
),
StructFieldDecl(
name='distance',
type=ValueType(name='mjtNum'),
doc='distance to lookat point or tracked body',
),
StructFieldDecl(
name='azimuth',
type=ValueType(name='mjtNum'),
doc='camera azimuth (deg)',
),
StructFieldDecl(
name='elevation',
type=ValueType(name='mjtNum'),
doc='camera elevation (deg)',
),
StructFieldDecl(
name='orthographic',
type=ValueType(name='int'),
doc='0: perspective; 1: orthographic',
),
),
)),
('mjvGLCamera',
StructDecl(
name='mjvGLCamera',
declname='struct mjvGLCamera_',
fields=(
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='forward',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='forward direction',
),
StructFieldDecl(
name='up',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='up direction',
),
StructFieldDecl(
name='frustum_center',
type=ValueType(name='float'),
doc='hor. center (left,right set to match aspect)',
),
StructFieldDecl(
name='frustum_width',
type=ValueType(name='float'),
doc='width (not used for rendering)',
),
StructFieldDecl(
name='frustum_bottom',
type=ValueType(name='float'),
doc='bottom',
),
StructFieldDecl(
name='frustum_top',
type=ValueType(name='float'),
doc='top',
),
StructFieldDecl(
name='frustum_near',
type=ValueType(name='float'),
doc='near',
),
StructFieldDecl(
name='frustum_far',
type=ValueType(name='float'),
doc='far',
),
StructFieldDecl(
name='orthographic',
type=ValueType(name='int'),
doc='0: perspective; 1: orthographic',
),
),
)),
('mjvGeom',
StructDecl(
name='mjvGeom',
declname='struct mjvGeom_',
fields=(
StructFieldDecl(
name='type',
type=ValueType(name='int'),
doc='geom type (mjtGeom)',
),
StructFieldDecl(
name='dataid',
type=ValueType(name='int'),
doc='mesh, hfield or plane id; -1: none',
),
StructFieldDecl(
name='objtype',
type=ValueType(name='int'),
doc='mujoco object type; mjOBJ_UNKNOWN for decor',
),
StructFieldDecl(
name='objid',
type=ValueType(name='int'),
doc='mujoco object id; -1 for decor',
),
StructFieldDecl(
name='category',
type=ValueType(name='int'),
doc='visual category',
),
StructFieldDecl(
name='matid',
type=ValueType(name='int'),
doc='material id; -1: no textured material',
),
StructFieldDecl(
name='texcoord',
type=ValueType(name='int'),
doc='mesh or flex geom has texture coordinates',
),
StructFieldDecl(
name='segid',
type=ValueType(name='int'),
doc='segmentation id; -1: not shown',
),
StructFieldDecl(
name='size',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='size parameters',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='Cartesian position',
),
StructFieldDecl(
name='mat',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(9,),
),
doc='Cartesian orientation',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='color and transparency',
),
StructFieldDecl(
name='emission',
type=ValueType(name='float'),
doc='emission coef',
),
StructFieldDecl(
name='specular',
type=ValueType(name='float'),
doc='specular coef',
),
StructFieldDecl(
name='shininess',
type=ValueType(name='float'),
doc='shininess coef',
),
StructFieldDecl(
name='reflectance',
type=ValueType(name='float'),
doc='reflectance coef',
),
StructFieldDecl(
name='label',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(100,),
),
doc='text label',
),
StructFieldDecl(
name='camdist',
type=ValueType(name='float'),
doc='distance to camera (used by sorter)',
),
StructFieldDecl(
name='modelrbound',
type=ValueType(name='float'),
doc='geom rbound from model, 0 if not model geom',
),
StructFieldDecl(
name='transparent',
type=ValueType(name='mjtByte'),
doc='treat geom as transparent',
),
),
)),
('mjvLight',
StructDecl(
name='mjvLight',
declname='struct mjvLight_',
fields=(
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='position rel. to body frame',
),
StructFieldDecl(
name='dir',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='direction rel. to body frame',
),
StructFieldDecl(
name='attenuation',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='OpenGL attenuation (quadratic model)',
),
StructFieldDecl(
name='cutoff',
type=ValueType(name='float'),
doc='OpenGL cutoff',
),
StructFieldDecl(
name='exponent',
type=ValueType(name='float'),
doc='OpenGL exponent',
),
StructFieldDecl(
name='ambient',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='ambient rgb (alpha=1)',
),
StructFieldDecl(
name='diffuse',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='diffuse rgb (alpha=1)',
),
StructFieldDecl(
name='specular',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='specular rgb (alpha=1)',
),
StructFieldDecl(
name='headlight',
type=ValueType(name='mjtByte'),
doc='headlight',
),
StructFieldDecl(
name='directional',
type=ValueType(name='mjtByte'),
doc='directional light',
),
StructFieldDecl(
name='castshadow',
type=ValueType(name='mjtByte'),
doc='does light cast shadows',
),
StructFieldDecl(
name='bulbradius',
type=ValueType(name='float'),
doc='bulb radius for soft shadows',
),
),
)),
('mjvOption',
StructDecl(
name='mjvOption',
declname='struct mjvOption_',
fields=(
StructFieldDecl(
name='label',
type=ValueType(name='int'),
doc='what objects to label (mjtLabel)',
),
StructFieldDecl(
name='frame',
type=ValueType(name='int'),
doc='which frame to show (mjtFrame)',
),
StructFieldDecl(
name='geomgroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='geom visualization by group',
),
StructFieldDecl(
name='sitegroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='site visualization by group',
),
StructFieldDecl(
name='jointgroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='joint visualization by group',
),
StructFieldDecl(
name='tendongroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='tendon visualization by group',
),
StructFieldDecl(
name='actuatorgroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='actuator visualization by group',
),
StructFieldDecl(
name='flexgroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='flex visualization by group',
),
StructFieldDecl(
name='skingroup',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(6,),
),
doc='skin visualization by group',
),
StructFieldDecl(
name='flags',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(32,),
),
doc='visualization flags (indexed by mjtVisFlag)',
),
StructFieldDecl(
name='bvh_depth',
type=ValueType(name='int'),
doc='depth of the bounding volume hierarchy to be visualized',
),
StructFieldDecl(
name='flex_layer',
type=ValueType(name='int'),
doc='element layer to be visualized for 3D flex',
),
),
)),
('mjvScene',
StructDecl(
name='mjvScene',
declname='struct mjvScene_',
fields=(
StructFieldDecl(
name='maxgeom',
type=ValueType(name='int'),
doc='size of allocated geom buffer',
),
StructFieldDecl(
name='ngeom',
type=ValueType(name='int'),
doc='number of geoms currently in buffer',
),
StructFieldDecl(
name='geoms',
type=PointerType(
inner_type=ValueType(name='mjvGeom'),
),
doc='buffer for geoms (ngeom)',
),
StructFieldDecl(
name='geomorder',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='buffer for ordering geoms by distance to camera (ngeom)',
),
StructFieldDecl(
name='nflex',
type=ValueType(name='int'),
doc='number of flexes',
),
StructFieldDecl(
name='flexedgeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of flex edges (nflex)',
),
StructFieldDecl(
name='flexedgenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of edges in flex (nflex)',
),
StructFieldDecl(
name='flexvertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of flex vertices (nflex)',
),
StructFieldDecl(
name='flexvertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices in flex (nflex)',
),
StructFieldDecl(
name='flexfaceadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of flex faces (nflex)',
),
StructFieldDecl(
name='flexfacenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of flex faces allocated (nflex)',
),
StructFieldDecl(
name='flexfaceused',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of flex faces currently in use (nflex)',
),
StructFieldDecl(
name='flexedge',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='flex edge data (2*nflexedge)',
),
StructFieldDecl(
name='flexvert',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='flex vertices (3*nflexvert)',
),
StructFieldDecl(
name='flexface',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='flex faces vertices (9*sum(flexfacenum))',
),
StructFieldDecl(
name='flexnormal',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='flex face normals (9*sum(flexfacenum))',
),
StructFieldDecl(
name='flextexcoord',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='flex face texture coordinates (6*sum(flexfacenum))',
),
StructFieldDecl(
name='flexvertopt',
type=ValueType(name='mjtByte'),
doc='copy of mjVIS_FLEXVERT mjvOption flag',
),
StructFieldDecl(
name='flexedgeopt',
type=ValueType(name='mjtByte'),
doc='copy of mjVIS_FLEXEDGE mjvOption flag',
),
StructFieldDecl(
name='flexfaceopt',
type=ValueType(name='mjtByte'),
doc='copy of mjVIS_FLEXFACE mjvOption flag',
),
StructFieldDecl(
name='flexskinopt',
type=ValueType(name='mjtByte'),
doc='copy of mjVIS_FLEXSKIN mjvOption flag',
),
StructFieldDecl(
name='nskin',
type=ValueType(name='int'),
doc='number of skins',
),
StructFieldDecl(
name='skinfacenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of faces in skin (nskin)',
),
StructFieldDecl(
name='skinvertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='address of skin vertices (nskin)',
),
StructFieldDecl(
name='skinvertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='number of vertices in skin (nskin)',
),
StructFieldDecl(
name='skinvert',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='skin vertex data (3*nskinvert)',
),
StructFieldDecl(
name='skinnormal',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='skin normal data (3*nskinvert)',
),
StructFieldDecl(
name='nlight',
type=ValueType(name='int'),
doc='number of lights currently in buffer',
),
StructFieldDecl(
name='lights',
type=ArrayType(
inner_type=ValueType(name='mjvLight'),
extents=(100,),
),
doc='buffer for lights (nlight)',
),
StructFieldDecl(
name='camera',
type=ArrayType(
inner_type=ValueType(name='mjvGLCamera'),
extents=(2,),
),
doc='left and right camera',
),
StructFieldDecl(
name='enabletransform',
type=ValueType(name='mjtByte'),
doc='enable model transformation',
),
StructFieldDecl(
name='translate',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='model translation',
),
StructFieldDecl(
name='rotate',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='model quaternion rotation',
),
StructFieldDecl(
name='scale',
type=ValueType(name='float'),
doc='model scaling',
),
StructFieldDecl(
name='stereo',
type=ValueType(name='int'),
doc='stereoscopic rendering (mjtStereo)',
),
StructFieldDecl(
name='flags',
type=ArrayType(
inner_type=ValueType(name='mjtByte'),
extents=(10,),
),
doc='rendering flags (indexed by mjtRndFlag)',
),
StructFieldDecl(
name='framewidth',
type=ValueType(name='int'),
doc='frame pixel width; 0: disable framing',
),
StructFieldDecl(
name='framergb',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='frame color',
),
),
)),
('mjvFigure',
StructDecl(
name='mjvFigure',
declname='struct mjvFigure_',
fields=(
StructFieldDecl(
name='flg_legend',
type=ValueType(name='int'),
doc='show legend',
),
StructFieldDecl(
name='flg_ticklabel',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='show grid tick labels (x,y)',
),
StructFieldDecl(
name='flg_extend',
type=ValueType(name='int'),
doc='automatically extend axis ranges to fit data',
),
StructFieldDecl(
name='flg_barplot',
type=ValueType(name='int'),
doc='isolated line segments (i.e. GL_LINES)',
),
StructFieldDecl(
name='flg_selection',
type=ValueType(name='int'),
doc='vertical selection line',
),
StructFieldDecl(
name='flg_symmetric',
type=ValueType(name='int'),
doc='symmetric y-axis',
),
StructFieldDecl(
name='linewidth',
type=ValueType(name='float'),
doc='line width',
),
StructFieldDecl(
name='gridwidth',
type=ValueType(name='float'),
doc='grid line width',
),
StructFieldDecl(
name='gridsize',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='number of grid points in (x,y)',
),
StructFieldDecl(
name='gridrgb',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='grid line rgb',
),
StructFieldDecl(
name='figurergba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='figure color and alpha',
),
StructFieldDecl(
name='panergba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='pane color and alpha',
),
StructFieldDecl(
name='legendrgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='legend color and alpha',
),
StructFieldDecl(
name='textrgb',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='text color',
),
StructFieldDecl(
name='linergb',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(100, 3),
),
doc='line colors',
),
StructFieldDecl(
name='range',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2, 2),
),
doc='axis ranges; (min>=max) automatic',
),
StructFieldDecl(
name='xformat',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(20,),
),
doc='x-tick label format for sprintf',
),
StructFieldDecl(
name='yformat',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(20,),
),
doc='y-tick label format for sprintf',
),
StructFieldDecl(
name='minwidth',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(20,),
),
doc='string used to determine min y-tick width',
),
StructFieldDecl(
name='title',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(1000,),
),
doc='figure title; subplots separated with 2+ spaces',
),
StructFieldDecl(
name='xlabel',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(100,),
),
doc='x-axis label',
),
StructFieldDecl(
name='linename',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(100, 100),
),
doc='line names for legend',
),
StructFieldDecl(
name='legendoffset',
type=ValueType(name='int'),
doc='number of lines to offset legend',
),
StructFieldDecl(
name='subplot',
type=ValueType(name='int'),
doc='selected subplot (for title rendering)',
),
StructFieldDecl(
name='highlight',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='if point is in legend rect, highlight line',
),
StructFieldDecl(
name='highlightid',
type=ValueType(name='int'),
doc='if id>=0 and no point, highlight id',
),
StructFieldDecl(
name='selection',
type=ValueType(name='float'),
doc='selection line x-value',
),
StructFieldDecl(
name='linepnt',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(100,),
),
doc='number of points in line; (0) disable',
),
StructFieldDecl(
name='linedata',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(100, 2000),
),
doc='line data (x,y)',
),
StructFieldDecl(
name='xaxispixel',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='range of x-axis in pixels',
),
StructFieldDecl(
name='yaxispixel',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='range of y-axis in pixels',
),
StructFieldDecl(
name='xaxisdata',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='range of x-axis in data units',
),
StructFieldDecl(
name='yaxisdata',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='range of y-axis in data units',
),
),
)),
('mjvSceneState',
StructDecl(
name='mjvSceneState',
declname='struct mjvSceneState_',
fields=(
StructFieldDecl(
name='nbuffer',
type=ValueType(name='int'),
doc='size of the buffer in bytes',
),
StructFieldDecl(
name='buffer',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='heap-allocated memory for all arrays in this struct',
),
StructFieldDecl(
name='maxgeom',
type=ValueType(name='int'),
doc='maximum number of mjvGeom supported by this state object',
),
StructFieldDecl(
name='scratch',
type=ValueType(name='mjvScene'),
doc='scratch space for vis geoms inserted by the user and plugins', # pylint: disable=line-too-long
),
StructFieldDecl(
name='model',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='nv',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nu',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='na',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nbody',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nbvh',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nbvhstatic',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='njnt',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='ngeom',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nsite',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='ncam',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nlight',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nmesh',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nskin',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nflex',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nflexvert',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nflextexcoord',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nskinvert',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nskinface',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nskinbone',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nskinbonevert',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nmat',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='neq',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='ntendon',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='ntree',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nwrap',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nsensor',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nnames',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='npaths',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nsensordata',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='narena',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='opt',
type=ValueType(name='mjOption'),
doc='',
),
StructFieldDecl(
name='vis',
type=ValueType(name='mjVisual'),
doc='',
),
StructFieldDecl(
name='stat',
type=ValueType(name='mjStatistic'),
doc='',
),
StructFieldDecl(
name='body_parentid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_rootid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_weldid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_mocapid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_jntnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_jntadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_dofnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_dofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_geomnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_geomadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_iquat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='body_mass',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='body_inertia',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='body_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='body_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='bvh_depth',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='bvh_child',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='bvh_nodeid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='bvh_aabb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='jnt_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='jnt_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='jnt_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_contype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_conaffinity',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_dataid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='geom_size',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geom_aabb',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geom_rbound',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geom_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='site_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='site_bodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='site_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='site_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='site_size',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='site_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='cam_orthographic',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='cam_fovy',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='cam_ipd',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='cam_resolution',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='cam_sensorsize',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='cam_intrinsic',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_directional',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='light_castshadow',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='light_bulbradius',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='light_attenuation',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_cutoff',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_exponent',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_ambient',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_diffuse',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='light_specular',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='flex_flatskin',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='flex_dim',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_interp',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_nodeadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_nodenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_nodebodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_vertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_vertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elem',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elemtexcoord',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elemlayer',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elemadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elemnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_elemdataadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_shell',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_shellnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_shelldataadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flex_centered',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='flex_node',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='flex_radius',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='flex_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='flex_texcoord',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='hfield_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mesh_bvhadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mesh_bvhnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mesh_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mesh_graphadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mesh_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_inflate',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_vertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_vertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_texcoordadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_faceadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_facenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_boneadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonenum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_vert',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_face',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonevertadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonevertnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonebindpos',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_bonebindquat',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_bonebodyid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonevertid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='skin_bonevertweight',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='skin_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='tex_pathadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mat_texid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='mat_texuniform',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='mat_texrepeat',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_emission',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_specular',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_shininess',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_reflectance',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_metallic',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_roughness',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='mat_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='eq_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='eq_obj1id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='eq_obj2id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='eq_objtype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='eq_data',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_num',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='tendon_matid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='tendon_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='tendon_limited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='tendon_actfrclimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='tendon_width',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_range',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_actfrcrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_stiffness',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_damping',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_frictionloss',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_lengthspring',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='tendon_rgba',
type=PointerType(
inner_type=ValueType(name='float'),
),
doc='',
),
StructFieldDecl(
name='actuator_trntype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_dyntype',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_trnid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_actadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_actnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_group',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='actuator_ctrllimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='actuator_actlimited',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='actuator_ctrlrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='actuator_actrange',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='actuator_cranklength',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='sensor_type',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='sensor_objid',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='sensor_adr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_bodyadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_jntadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_geomadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_siteadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_camadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_lightadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_eqadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_tendonadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='name_actuatoradr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='names',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='',
),
StructFieldDecl(
name='paths',
type=PointerType(
inner_type=ValueType(name='char'),
),
doc='',
),
),
),
doc='',
),
StructFieldDecl(
name='data',
type=AnonymousStructDecl(
fields=(
StructFieldDecl(
name='warning',
type=ArrayType(
inner_type=ValueType(name='mjWarningStat'),
extents=(8,),
),
doc='',
),
StructFieldDecl(
name='nefc',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='ncon',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='nisland',
type=ValueType(name='int'),
doc='',
),
StructFieldDecl(
name='time',
type=ValueType(name='mjtNum'),
doc='',
),
StructFieldDecl(
name='act',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='ctrl',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xfrc_applied',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='eq_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='sensordata',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xquat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xipos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='ximat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xanchor',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='xaxis',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geom_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geom_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='site_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='site_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='cam_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='cam_xmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='light_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='light_xdir',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='subtree_com',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='ten_wrapadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='ten_wrapnum',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='wrap_obj',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='ten_length',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='wrap_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='bvh_aabb_dyn',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='bvh_active',
type=PointerType(
inner_type=ValueType(name='mjtByte'),
),
doc='',
),
StructFieldDecl(
name='island_dofadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='dof_island',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='efc_island',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='tendon_efcadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='flexvert_xpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='contact',
type=PointerType(
inner_type=ValueType(name='mjContact'),
),
doc='',
),
StructFieldDecl(
name='efc_force',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='arena',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='',
),
),
),
doc='',
),
),
)),
('mjSDF',
StructDecl(
name='mjSDF',
declname='struct mjSDF_',
fields=(
StructFieldDecl(
name='plugin',
type=PointerType(
inner_type=PointerType(
inner_type=ValueType(name='mjpPlugin', is_const=True),
),
),
doc='',
),
StructFieldDecl(
name='id',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtSDFType'),
doc='',
),
StructFieldDecl(
name='relpos',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='relmat',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='',
),
StructFieldDecl(
name='geomtype',
type=PointerType(
inner_type=ValueType(name='mjtGeom'),
),
doc='',
),
),
)),
('mjrRect',
StructDecl(
name='mjrRect',
declname='struct mjrRect_',
fields=(
StructFieldDecl(
name='left',
type=ValueType(name='int'),
doc='left (usually 0)',
),
StructFieldDecl(
name='bottom',
type=ValueType(name='int'),
doc='bottom (usually 0)',
),
StructFieldDecl(
name='width',
type=ValueType(name='int'),
doc='width (usually buffer width)',
),
StructFieldDecl(
name='height',
type=ValueType(name='int'),
doc='height (usually buffer height)',
),
),
)),
('mjrContext',
StructDecl(
name='mjrContext',
declname='struct mjrContext_',
fields=(
StructFieldDecl(
name='lineWidth',
type=ValueType(name='float'),
doc='line width for wireframe rendering',
),
StructFieldDecl(
name='shadowClip',
type=ValueType(name='float'),
doc='clipping radius for directional lights',
),
StructFieldDecl(
name='shadowScale',
type=ValueType(name='float'),
doc='fraction of light cutoff for spot lights',
),
StructFieldDecl(
name='fogStart',
type=ValueType(name='float'),
doc='fog start = stat.extent * vis.map.fogstart',
),
StructFieldDecl(
name='fogEnd',
type=ValueType(name='float'),
doc='fog end = stat.extent * vis.map.fogend',
),
StructFieldDecl(
name='fogRGBA',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='fog rgba',
),
StructFieldDecl(
name='shadowSize',
type=ValueType(name='int'),
doc='size of shadow map texture',
),
StructFieldDecl(
name='offWidth',
type=ValueType(name='int'),
doc='width of offscreen buffer',
),
StructFieldDecl(
name='offHeight',
type=ValueType(name='int'),
doc='height of offscreen buffer',
),
StructFieldDecl(
name='offSamples',
type=ValueType(name='int'),
doc='number of offscreen buffer multisamples',
),
StructFieldDecl(
name='fontScale',
type=ValueType(name='int'),
doc='font scale',
),
StructFieldDecl(
name='auxWidth',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(10,),
),
doc='auxiliary buffer width',
),
StructFieldDecl(
name='auxHeight',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(10,),
),
doc='auxiliary buffer height',
),
StructFieldDecl(
name='auxSamples',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(10,),
),
doc='auxiliary buffer multisamples',
),
StructFieldDecl(
name='offFBO',
type=ValueType(name='unsigned int'),
doc='offscreen framebuffer object',
),
StructFieldDecl(
name='offFBO_r',
type=ValueType(name='unsigned int'),
doc='offscreen framebuffer for resolving multisamples',
),
StructFieldDecl(
name='offColor',
type=ValueType(name='unsigned int'),
doc='offscreen color buffer',
),
StructFieldDecl(
name='offColor_r',
type=ValueType(name='unsigned int'),
doc='offscreen color buffer for resolving multisamples',
),
StructFieldDecl(
name='offDepthStencil',
type=ValueType(name='unsigned int'),
doc='offscreen depth and stencil buffer',
),
StructFieldDecl(
name='offDepthStencil_r',
type=ValueType(name='unsigned int'),
doc='offscreen depth and stencil buffer for multisamples',
),
StructFieldDecl(
name='shadowFBO',
type=ValueType(name='unsigned int'),
doc='shadow map framebuffer object',
),
StructFieldDecl(
name='shadowTex',
type=ValueType(name='unsigned int'),
doc='shadow map texture',
),
StructFieldDecl(
name='auxFBO',
type=ArrayType(
inner_type=ValueType(name='unsigned int'),
extents=(10,),
),
doc='auxiliary framebuffer object',
),
StructFieldDecl(
name='auxFBO_r',
type=ArrayType(
inner_type=ValueType(name='unsigned int'),
extents=(10,),
),
doc='auxiliary framebuffer object for resolving',
),
StructFieldDecl(
name='auxColor',
type=ArrayType(
inner_type=ValueType(name='unsigned int'),
extents=(10,),
),
doc='auxiliary color buffer',
),
StructFieldDecl(
name='auxColor_r',
type=ArrayType(
inner_type=ValueType(name='unsigned int'),
extents=(10,),
),
doc='auxiliary color buffer for resolving',
),
StructFieldDecl(
name='mat_texid',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(10000,),
),
doc='material texture ids (-1: no texture)',
),
StructFieldDecl(
name='mat_texuniform',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(1000,),
),
doc='uniform cube mapping',
),
StructFieldDecl(
name='mat_texrepeat',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2000,),
),
doc='texture repetition for 2d mapping',
),
StructFieldDecl(
name='ntexture',
type=ValueType(name='int'),
doc='number of allocated textures',
),
StructFieldDecl(
name='textureType',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(1000,),
),
doc='type of texture (mjtTexture) (ntexture)',
),
StructFieldDecl(
name='texture',
type=ArrayType(
inner_type=ValueType(name='unsigned int'),
extents=(1000,),
),
doc='texture names',
),
StructFieldDecl(
name='basePlane',
type=ValueType(name='unsigned int'),
doc='all planes from model',
),
StructFieldDecl(
name='baseMesh',
type=ValueType(name='unsigned int'),
doc='all meshes from model',
),
StructFieldDecl(
name='baseHField',
type=ValueType(name='unsigned int'),
doc='all height fields from model',
),
StructFieldDecl(
name='baseBuiltin',
type=ValueType(name='unsigned int'),
doc='all builtin geoms, with quality from model',
),
StructFieldDecl(
name='baseFontNormal',
type=ValueType(name='unsigned int'),
doc='normal font',
),
StructFieldDecl(
name='baseFontShadow',
type=ValueType(name='unsigned int'),
doc='shadow font',
),
StructFieldDecl(
name='baseFontBig',
type=ValueType(name='unsigned int'),
doc='big font',
),
StructFieldDecl(
name='rangePlane',
type=ValueType(name='int'),
doc='all planes from model',
),
StructFieldDecl(
name='rangeMesh',
type=ValueType(name='int'),
doc='all meshes from model',
),
StructFieldDecl(
name='rangeHField',
type=ValueType(name='int'),
doc='all hfields from model',
),
StructFieldDecl(
name='rangeBuiltin',
type=ValueType(name='int'),
doc='all builtin geoms, with quality from model',
),
StructFieldDecl(
name='rangeFont',
type=ValueType(name='int'),
doc='all characters in font',
),
StructFieldDecl(
name='nskin',
type=ValueType(name='int'),
doc='number of skins',
),
StructFieldDecl(
name='skinvertVBO',
type=PointerType(
inner_type=ValueType(name='unsigned int'),
),
doc='skin vertex position VBOs (nskin)',
),
StructFieldDecl(
name='skinnormalVBO',
type=PointerType(
inner_type=ValueType(name='unsigned int'),
),
doc='skin vertex normal VBOs (nskin)',
),
StructFieldDecl(
name='skintexcoordVBO',
type=PointerType(
inner_type=ValueType(name='unsigned int'),
),
doc='skin vertex texture coordinate VBOs (nskin)',
),
StructFieldDecl(
name='skinfaceVBO',
type=PointerType(
inner_type=ValueType(name='unsigned int'),
),
doc='skin face index VBOs (nskin)',
),
StructFieldDecl(
name='charWidth',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(127,),
),
doc='character widths: normal and shadow',
),
StructFieldDecl(
name='charWidthBig',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(127,),
),
doc='chacarter widths: big',
),
StructFieldDecl(
name='charHeight',
type=ValueType(name='int'),
doc='character heights: normal and shadow',
),
StructFieldDecl(
name='charHeightBig',
type=ValueType(name='int'),
doc='character heights: big',
),
StructFieldDecl(
name='glInitialized',
type=ValueType(name='int'),
doc='is OpenGL initialized',
),
StructFieldDecl(
name='windowAvailable',
type=ValueType(name='int'),
doc='is default/window framebuffer available',
),
StructFieldDecl(
name='windowSamples',
type=ValueType(name='int'),
doc='number of samples for default/window framebuffer',
),
StructFieldDecl(
name='windowStereo',
type=ValueType(name='int'),
doc='is stereo available for default/window framebuffer',
),
StructFieldDecl(
name='windowDoublebuffer',
type=ValueType(name='int'),
doc='is default/window framebuffer double buffered',
),
StructFieldDecl(
name='currentBuffer',
type=ValueType(name='int'),
doc='currently active framebuffer: mjFB_WINDOW or mjFB_OFFSCREEN', # pylint: disable=line-too-long
),
StructFieldDecl(
name='readPixelFormat',
type=ValueType(name='int'),
doc='default color pixel format for mjr_readPixels',
),
StructFieldDecl(
name='readDepthMap',
type=ValueType(name='int'),
doc='depth mapping: mjDEPTH_ZERONEAR or mjDEPTH_ZEROFAR',
),
),
)),
('mjsElement',
StructDecl(
name='mjsElement',
declname='struct mjsElement_',
fields=(
StructFieldDecl(
name='elemtype',
type=ValueType(name='mjtObj'),
doc='element type',
),
StructFieldDecl(
name='signature',
type=ValueType(name='uint64_t'),
doc='compilation signature',
),
),
)),
('mjsCompiler',
StructDecl(
name='mjsCompiler',
declname='struct mjsCompiler_',
fields=(
StructFieldDecl(
name='autolimits',
type=ValueType(name='mjtByte'),
doc='infer "limited" attribute based on range',
),
StructFieldDecl(
name='boundmass',
type=ValueType(name='double'),
doc='enforce minimum body mass',
),
StructFieldDecl(
name='boundinertia',
type=ValueType(name='double'),
doc='enforce minimum body diagonal inertia',
),
StructFieldDecl(
name='settotalmass',
type=ValueType(name='double'),
doc='rescale masses and inertias; <=0: ignore',
),
StructFieldDecl(
name='balanceinertia',
type=ValueType(name='mjtByte'),
doc='automatically impose A + B >= C rule',
),
StructFieldDecl(
name='fitaabb',
type=ValueType(name='mjtByte'),
doc='meshfit to aabb instead of inertia box',
),
StructFieldDecl(
name='degree',
type=ValueType(name='mjtByte'),
doc='angles in radians or degrees',
),
StructFieldDecl(
name='eulerseq',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(3,),
),
doc='sequence for euler rotations',
),
StructFieldDecl(
name='discardvisual',
type=ValueType(name='mjtByte'),
doc='discard visual geoms in parser',
),
StructFieldDecl(
name='usethread',
type=ValueType(name='mjtByte'),
doc='use multiple threads to speed up compiler',
),
StructFieldDecl(
name='fusestatic',
type=ValueType(name='mjtByte'),
doc='fuse static bodies with parent',
),
StructFieldDecl(
name='inertiafromgeom',
type=ValueType(name='int'),
doc='use geom inertias (mjtInertiaFromGeom)',
),
StructFieldDecl(
name='inertiagrouprange',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='range of geom groups used to compute inertia',
),
StructFieldDecl(
name='saveinertial',
type=ValueType(name='mjtByte'),
doc='save explicit inertial clause for all bodies to XML',
),
StructFieldDecl(
name='alignfree',
type=ValueType(name='int'),
doc='align free joints with inertial frame',
),
StructFieldDecl(
name='LRopt',
type=ValueType(name='mjLROpt'),
doc='options for lengthrange computation',
),
),
)),
('mjSpec',
StructDecl(
name='mjSpec',
declname='struct mjSpec_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='modelname',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='model name',
),
StructFieldDecl(
name='compiler',
type=ValueType(name='mjsCompiler'),
doc='compiler options',
),
StructFieldDecl(
name='strippath',
type=ValueType(name='mjtByte'),
doc='automatically strip paths from mesh files',
),
StructFieldDecl(
name='meshdir',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='mesh and hfield directory',
),
StructFieldDecl(
name='texturedir',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='texture directory',
),
StructFieldDecl(
name='option',
type=ValueType(name='mjOption'),
doc='physics options',
),
StructFieldDecl(
name='visual',
type=ValueType(name='mjVisual'),
doc='visual options',
),
StructFieldDecl(
name='stat',
type=ValueType(name='mjStatistic'),
doc='statistics override (if defined)',
),
StructFieldDecl(
name='memory',
type=ValueType(name='size_t'),
doc='number of bytes in arena+stack memory',
),
StructFieldDecl(
name='nemax',
type=ValueType(name='int'),
doc='max number of equality constraints',
),
StructFieldDecl(
name='nuserdata',
type=ValueType(name='int'),
doc='number of mjtNums in userdata',
),
StructFieldDecl(
name='nuser_body',
type=ValueType(name='int'),
doc='number of mjtNums in body_user',
),
StructFieldDecl(
name='nuser_jnt',
type=ValueType(name='int'),
doc='number of mjtNums in jnt_user',
),
StructFieldDecl(
name='nuser_geom',
type=ValueType(name='int'),
doc='number of mjtNums in geom_user',
),
StructFieldDecl(
name='nuser_site',
type=ValueType(name='int'),
doc='number of mjtNums in site_user',
),
StructFieldDecl(
name='nuser_cam',
type=ValueType(name='int'),
doc='number of mjtNums in cam_user',
),
StructFieldDecl(
name='nuser_tendon',
type=ValueType(name='int'),
doc='number of mjtNums in tendon_user',
),
StructFieldDecl(
name='nuser_actuator',
type=ValueType(name='int'),
doc='number of mjtNums in actuator_user',
),
StructFieldDecl(
name='nuser_sensor',
type=ValueType(name='int'),
doc='number of mjtNums in sensor_user',
),
StructFieldDecl(
name='nkey',
type=ValueType(name='int'),
doc='number of keyframes',
),
StructFieldDecl(
name='njmax',
type=ValueType(name='int'),
doc='(deprecated) max number of constraints',
),
StructFieldDecl(
name='nconmax',
type=ValueType(name='int'),
doc='(deprecated) max number of detected contacts',
),
StructFieldDecl(
name='nstack',
type=ValueType(name='size_t'),
doc='(deprecated) number of mjtNums in mjData stack',
),
StructFieldDecl(
name='comment',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='comment at top of XML',
),
StructFieldDecl(
name='modelfiledir',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='path to model file',
),
StructFieldDecl(
name='hasImplicitPluginElem',
type=ValueType(name='mjtByte'),
doc='already encountered an implicit plugin sensor/actuator',
),
),
)),
('mjsOrientation',
StructDecl(
name='mjsOrientation',
declname='struct mjsOrientation_',
fields=(
StructFieldDecl(
name='type',
type=ValueType(name='mjtOrientation'),
doc='active orientation specifier',
),
StructFieldDecl(
name='axisangle',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='axis and angle',
),
StructFieldDecl(
name='xyaxes',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(6,),
),
doc='x and y axes',
),
StructFieldDecl(
name='zaxis',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='z axis (minimal rotation)',
),
StructFieldDecl(
name='euler',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='Euler angles',
),
),
)),
('mjsPlugin',
StructDecl(
name='mjsPlugin',
declname='struct mjsPlugin_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='instance name',
),
StructFieldDecl(
name='plugin_name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='plugin name',
),
StructFieldDecl(
name='active',
type=ValueType(name='mjtByte'),
doc='is the plugin active',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsBody',
StructDecl(
name='mjsBody',
declname='struct mjsBody_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='childclass',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='childclass name',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='frame position',
),
StructFieldDecl(
name='quat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='frame orientation',
),
StructFieldDecl(
name='alt',
type=ValueType(name='mjsOrientation'),
doc='frame alternative orientation',
),
StructFieldDecl(
name='mass',
type=ValueType(name='double'),
doc='mass',
),
StructFieldDecl(
name='ipos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='inertial frame position',
),
StructFieldDecl(
name='iquat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='inertial frame orientation',
),
StructFieldDecl(
name='inertia',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='diagonal inertia (in i-frame)',
),
StructFieldDecl(
name='ialt',
type=ValueType(name='mjsOrientation'),
doc='inertial frame alternative orientation',
),
StructFieldDecl(
name='fullinertia',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(6,),
),
doc='non-axis-aligned inertia matrix',
),
StructFieldDecl(
name='mocap',
type=ValueType(name='mjtByte'),
doc='is this a mocap body',
),
StructFieldDecl(
name='gravcomp',
type=ValueType(name='double'),
doc='gravity compensation',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='explicitinertial',
type=ValueType(name='mjtByte'),
doc='whether to save the body with explicit inertial clause',
),
StructFieldDecl(
name='plugin',
type=ValueType(name='mjsPlugin'),
doc='passive force plugin',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsFrame',
StructDecl(
name='mjsFrame',
declname='struct mjsFrame_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='childclass',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='childclass name',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='quat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='orientation',
),
StructFieldDecl(
name='alt',
type=ValueType(name='mjsOrientation'),
doc='alternative orientation',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsJoint',
StructDecl(
name='mjsJoint',
declname='struct mjsJoint_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtJoint'),
doc='joint type',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='anchor position',
),
StructFieldDecl(
name='axis',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='joint axis',
),
StructFieldDecl(
name='ref',
type=ValueType(name='double'),
doc='value at reference configuration: qpos0',
),
StructFieldDecl(
name='align',
type=ValueType(name='int'),
doc='align free joint with body com (mjtAlignFree)',
),
StructFieldDecl(
name='stiffness',
type=ValueType(name='double'),
doc='stiffness coefficient',
),
StructFieldDecl(
name='springref',
type=ValueType(name='double'),
doc='spring reference value: qpos_spring',
),
StructFieldDecl(
name='springdamper',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='timeconst, dampratio',
),
StructFieldDecl(
name='limited',
type=ValueType(name='int'),
doc='does joint have limits (mjtLimited)',
),
StructFieldDecl(
name='range',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='joint limits',
),
StructFieldDecl(
name='margin',
type=ValueType(name='double'),
doc='margin value for joint limit detection',
),
StructFieldDecl(
name='solref_limit',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference: joint limits',
),
StructFieldDecl(
name='solimp_limit',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance: joint limits',
),
StructFieldDecl(
name='actfrclimited',
type=ValueType(name='int'),
doc='are actuator forces on joint limited (mjtLimited)',
),
StructFieldDecl(
name='actfrcrange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='actuator force limits',
),
StructFieldDecl(
name='armature',
type=ValueType(name='double'),
doc='armature inertia (mass for slider)',
),
StructFieldDecl(
name='damping',
type=ValueType(name='double'),
doc='damping coefficient',
),
StructFieldDecl(
name='frictionloss',
type=ValueType(name='double'),
doc='friction loss',
),
StructFieldDecl(
name='solref_friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference: dof friction',
),
StructFieldDecl(
name='solimp_friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance: dof friction',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group',
),
StructFieldDecl(
name='actgravcomp',
type=ValueType(name='mjtByte'),
doc='is gravcomp force applied via actuators',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsGeom',
StructDecl(
name='mjsGeom',
declname='struct mjsGeom_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtGeom'),
doc='geom type',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='quat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='orientation',
),
StructFieldDecl(
name='alt',
type=ValueType(name='mjsOrientation'),
doc='alternative orientation',
),
StructFieldDecl(
name='fromto',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(6,),
),
doc='alternative for capsule, cylinder, box, ellipsoid',
),
StructFieldDecl(
name='size',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='type-specific size',
),
StructFieldDecl(
name='contype',
type=ValueType(name='int'),
doc='contact type',
),
StructFieldDecl(
name='conaffinity',
type=ValueType(name='int'),
doc='contact affinity',
),
StructFieldDecl(
name='condim',
type=ValueType(name='int'),
doc='contact dimensionality',
),
StructFieldDecl(
name='priority',
type=ValueType(name='int'),
doc='contact priority',
),
StructFieldDecl(
name='friction',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='one-sided friction coefficients: slide, roll, spin',
),
StructFieldDecl(
name='solmix',
type=ValueType(name='double'),
doc='solver mixing for contact pairs',
),
StructFieldDecl(
name='solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference',
),
StructFieldDecl(
name='solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance',
),
StructFieldDecl(
name='margin',
type=ValueType(name='double'),
doc='margin for contact detection',
),
StructFieldDecl(
name='gap',
type=ValueType(name='double'),
doc='include in solver if dist < margin-gap',
),
StructFieldDecl(
name='mass',
type=ValueType(name='double'),
doc='used to compute density',
),
StructFieldDecl(
name='density',
type=ValueType(name='double'),
doc='used to compute mass and inertia from volume or surface',
),
StructFieldDecl(
name='typeinertia',
type=ValueType(name='mjtGeomInertia'),
doc='selects between surface and volume inertia',
),
StructFieldDecl(
name='fluid_ellipsoid',
type=ValueType(name='mjtNum'),
doc='whether ellipsoid-fluid model is active',
),
StructFieldDecl(
name='fluid_coefs',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='ellipsoid-fluid interaction coefs',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of material',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba when material is omitted',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group',
),
StructFieldDecl(
name='hfieldname',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='heightfield attached to geom',
),
StructFieldDecl(
name='meshname',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='mesh attached to geom',
),
StructFieldDecl(
name='fitscale',
type=ValueType(name='double'),
doc='scale mesh uniformly',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='plugin',
type=ValueType(name='mjsPlugin'),
doc='sdf plugin',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsSite',
StructDecl(
name='mjsSite',
declname='struct mjsSite_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='quat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='orientation',
),
StructFieldDecl(
name='alt',
type=ValueType(name='mjsOrientation'),
doc='alternative orientation',
),
StructFieldDecl(
name='fromto',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(6,),
),
doc='alternative for capsule, cylinder, box, ellipsoid',
),
StructFieldDecl(
name='size',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='geom size',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtGeom'),
doc='geom type',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of material',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba when material is omitted',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsCamera',
StructDecl(
name='mjsCamera',
declname='struct mjsCamera_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='quat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='orientation',
),
StructFieldDecl(
name='alt',
type=ValueType(name='mjsOrientation'),
doc='alternative orientation',
),
StructFieldDecl(
name='mode',
type=ValueType(name='mjtCamLight'),
doc='tracking mode',
),
StructFieldDecl(
name='targetbody',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='target body for tracking/targeting',
),
StructFieldDecl(
name='orthographic',
type=ValueType(name='int'),
doc='is camera orthographic',
),
StructFieldDecl(
name='fovy',
type=ValueType(name='double'),
doc='y-field of view',
),
StructFieldDecl(
name='ipd',
type=ValueType(name='double'),
doc='inter-pupilary distance',
),
StructFieldDecl(
name='intrinsic',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='camera intrinsics (length)',
),
StructFieldDecl(
name='sensor_size',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='sensor size (length)',
),
StructFieldDecl(
name='resolution',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='resolution (pixel)',
),
StructFieldDecl(
name='focal_length',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='focal length (length)',
),
StructFieldDecl(
name='focal_pixel',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='focal length (pixel)',
),
StructFieldDecl(
name='principal_length',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='principal point (length)',
),
StructFieldDecl(
name='principal_pixel',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='principal point (pixel)',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsLight',
StructDecl(
name='mjsLight',
declname='struct mjsLight_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='pos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='position',
),
StructFieldDecl(
name='dir',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='direction',
),
StructFieldDecl(
name='mode',
type=ValueType(name='mjtCamLight'),
doc='tracking mode',
),
StructFieldDecl(
name='targetbody',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='target body for targeting',
),
StructFieldDecl(
name='active',
type=ValueType(name='mjtByte'),
doc='is light active',
),
StructFieldDecl(
name='directional',
type=ValueType(name='mjtByte'),
doc='is light directional or spot',
),
StructFieldDecl(
name='castshadow',
type=ValueType(name='mjtByte'),
doc='does light cast shadows',
),
StructFieldDecl(
name='bulbradius',
type=ValueType(name='double'),
doc='bulb radius, for soft shadows',
),
StructFieldDecl(
name='attenuation',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='OpenGL attenuation (quadratic model)',
),
StructFieldDecl(
name='cutoff',
type=ValueType(name='float'),
doc='OpenGL cutoff',
),
StructFieldDecl(
name='exponent',
type=ValueType(name='float'),
doc='OpenGL exponent',
),
StructFieldDecl(
name='ambient',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='ambient color',
),
StructFieldDecl(
name='diffuse',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='diffuse color',
),
StructFieldDecl(
name='specular',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='specular color',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errorsx',
),
),
)),
('mjsFlex',
StructDecl(
name='mjsFlex',
declname='struct mjsFlex_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='contype',
type=ValueType(name='int'),
doc='contact type',
),
StructFieldDecl(
name='conaffinity',
type=ValueType(name='int'),
doc='contact affinity',
),
StructFieldDecl(
name='condim',
type=ValueType(name='int'),
doc='contact dimensionality',
),
StructFieldDecl(
name='priority',
type=ValueType(name='int'),
doc='contact priority',
),
StructFieldDecl(
name='friction',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='one-sided friction coefficients: slide, roll, spin',
),
StructFieldDecl(
name='solmix',
type=ValueType(name='double'),
doc='solver mixing for contact pairs',
),
StructFieldDecl(
name='solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference',
),
StructFieldDecl(
name='solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance',
),
StructFieldDecl(
name='margin',
type=ValueType(name='double'),
doc='margin for contact detection',
),
StructFieldDecl(
name='gap',
type=ValueType(name='double'),
doc='include in solver if dist<margin-gap',
),
StructFieldDecl(
name='dim',
type=ValueType(name='int'),
doc='element dimensionality',
),
StructFieldDecl(
name='radius',
type=ValueType(name='double'),
doc='radius around primitive element',
),
StructFieldDecl(
name='internal',
type=ValueType(name='mjtByte'),
doc='enable internal collisions',
),
StructFieldDecl(
name='flatskin',
type=ValueType(name='mjtByte'),
doc='render flex skin with flat shading',
),
StructFieldDecl(
name='selfcollide',
type=ValueType(name='int'),
doc='mode for flex self collision',
),
StructFieldDecl(
name='vertcollide',
type=ValueType(name='int'),
doc='mode for vertex collision',
),
StructFieldDecl(
name='activelayers',
type=ValueType(name='int'),
doc='number of active element layers in 3D',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group for visualizatioh',
),
StructFieldDecl(
name='edgestiffness',
type=ValueType(name='double'),
doc='edge stiffness',
),
StructFieldDecl(
name='edgedamping',
type=ValueType(name='double'),
doc='edge damping',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba when material is omitted',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of material used for rendering',
),
StructFieldDecl(
name='young',
type=ValueType(name='double'),
doc="Young's modulus",
),
StructFieldDecl(
name='poisson',
type=ValueType(name='double'),
doc="Poisson's ratio",
),
StructFieldDecl(
name='damping',
type=ValueType(name='double'),
doc="Rayleigh's damping",
),
StructFieldDecl(
name='thickness',
type=ValueType(name='double'),
doc='thickness (2D only)',
),
StructFieldDecl(
name='nodebody',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='node body names',
),
StructFieldDecl(
name='vertbody',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='vertex body names',
),
StructFieldDecl(
name='node',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='node positions',
),
StructFieldDecl(
name='vert',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='vertex positions',
),
StructFieldDecl(
name='elem',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='element vertex ids',
),
StructFieldDecl(
name='texcoord',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='vertex texture coordinates',
),
StructFieldDecl(
name='elemtexcoord',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='element texture coordinates',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsMesh',
StructDecl(
name='mjsMesh',
declname='struct mjsMesh_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='content_type',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='content type of file',
),
StructFieldDecl(
name='file',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='mesh file',
),
StructFieldDecl(
name='refpos',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='reference position',
),
StructFieldDecl(
name='refquat',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='reference orientation',
),
StructFieldDecl(
name='scale',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='rescale mesh',
),
StructFieldDecl(
name='inertia',
type=ValueType(name='mjtMeshInertia'),
doc='inertia type (convex, legacy, exact, shell)',
),
StructFieldDecl(
name='smoothnormal',
type=ValueType(name='mjtByte'),
doc='do not exclude large-angle faces from normals',
),
StructFieldDecl(
name='maxhullvert',
type=ValueType(name='int'),
doc='maximum vertex count for the convex hull',
),
StructFieldDecl(
name='uservert',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='user vertex data',
),
StructFieldDecl(
name='usernormal',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='user normal data',
),
StructFieldDecl(
name='usertexcoord',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='user texcoord data',
),
StructFieldDecl(
name='userface',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='user vertex indices',
),
StructFieldDecl(
name='userfacetexcoord',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='user texcoord indices',
),
StructFieldDecl(
name='plugin',
type=ValueType(name='mjsPlugin'),
doc='sdf plugin',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsHField',
StructDecl(
name='mjsHField',
declname='struct mjsHField_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='content_type',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='content type of file',
),
StructFieldDecl(
name='file',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='file: (nrow, ncol, [elevation data])',
),
StructFieldDecl(
name='size',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(4,),
),
doc='hfield size (ignore referencing geom size)',
),
StructFieldDecl(
name='nrow',
type=ValueType(name='int'),
doc='number of rows',
),
StructFieldDecl(
name='ncol',
type=ValueType(name='int'),
doc='number of columns',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='user-provided elevation data',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsSkin',
StructDecl(
name='mjsSkin',
declname='struct mjsSkin_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='file',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='skin file',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of material used for rendering',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba when material is omitted',
),
StructFieldDecl(
name='inflate',
type=ValueType(name='float'),
doc='inflate in normal direction',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group for visualization',
),
StructFieldDecl(
name='vert',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='vertex positions',
),
StructFieldDecl(
name='texcoord',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='texture coordinates',
),
StructFieldDecl(
name='face',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='faces',
),
StructFieldDecl(
name='bodyname',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='body names',
),
StructFieldDecl(
name='bindpos',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='bind pos',
),
StructFieldDecl(
name='bindquat',
type=PointerType(
inner_type=ValueType(name='mjFloatVec'),
),
doc='bind quat',
),
StructFieldDecl(
name='vertid',
type=PointerType(
inner_type=ValueType(name='mjIntVecVec'),
),
doc='vertex ids',
),
StructFieldDecl(
name='vertweight',
type=PointerType(
inner_type=ValueType(name='mjFloatVecVec'),
),
doc='vertex weights',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsTexture',
StructDecl(
name='mjsTexture',
declname='struct mjsTexture_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtTexture'),
doc='texture type',
),
StructFieldDecl(
name='builtin',
type=ValueType(name='int'),
doc='builtin type (mjtBuiltin)',
),
StructFieldDecl(
name='mark',
type=ValueType(name='int'),
doc='mark type (mjtMark)',
),
StructFieldDecl(
name='rgb1',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='first color for builtin',
),
StructFieldDecl(
name='rgb2',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='second color for builtin',
),
StructFieldDecl(
name='markrgb',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(3,),
),
doc='mark color',
),
StructFieldDecl(
name='random',
type=ValueType(name='double'),
doc='probability of random dots',
),
StructFieldDecl(
name='height',
type=ValueType(name='int'),
doc='height in pixels (square for cube and skybox)',
),
StructFieldDecl(
name='width',
type=ValueType(name='int'),
doc='width in pixels',
),
StructFieldDecl(
name='nchannel',
type=ValueType(name='int'),
doc='number of channels',
),
StructFieldDecl(
name='content_type',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='content type of file',
),
StructFieldDecl(
name='file',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='png file to load; use for all sides of cube',
),
StructFieldDecl(
name='gridsize',
type=ArrayType(
inner_type=ValueType(name='int'),
extents=(2,),
),
doc='size of grid for composite file; (1,1)-repeat',
),
StructFieldDecl(
name='gridlayout',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(13,),
),
doc='row-major: L,R,F,B,U,D for faces; . for unused',
),
StructFieldDecl(
name='cubefiles',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='different file for each side of the cube',
),
StructFieldDecl(
name='data',
type=PointerType(
inner_type=ValueType(name='mjByteVec'),
),
doc='texture data',
),
StructFieldDecl(
name='hflip',
type=ValueType(name='mjtByte'),
doc='horizontal flip',
),
StructFieldDecl(
name='vflip',
type=ValueType(name='mjtByte'),
doc='vertical flip',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsMaterial',
StructDecl(
name='mjsMaterial',
declname='struct mjsMaterial_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='textures',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='names of textures (empty: none)',
),
StructFieldDecl(
name='texuniform',
type=ValueType(name='mjtByte'),
doc='make texture cube uniform',
),
StructFieldDecl(
name='texrepeat',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(2,),
),
doc='texture repetition for 2D mapping',
),
StructFieldDecl(
name='emission',
type=ValueType(name='float'),
doc='emission',
),
StructFieldDecl(
name='specular',
type=ValueType(name='float'),
doc='specular',
),
StructFieldDecl(
name='shininess',
type=ValueType(name='float'),
doc='shininess',
),
StructFieldDecl(
name='reflectance',
type=ValueType(name='float'),
doc='reflectance',
),
StructFieldDecl(
name='metallic',
type=ValueType(name='float'),
doc='metallic',
),
StructFieldDecl(
name='roughness',
type=ValueType(name='float'),
doc='roughness',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsPair',
StructDecl(
name='mjsPair',
declname='struct mjsPair_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='geomname1',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of geom 1',
),
StructFieldDecl(
name='geomname2',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of geom 2',
),
StructFieldDecl(
name='condim',
type=ValueType(name='int'),
doc='contact dimensionality',
),
StructFieldDecl(
name='solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference, normal direction',
),
StructFieldDecl(
name='solreffriction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference, frictional directions',
),
StructFieldDecl(
name='solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance',
),
StructFieldDecl(
name='margin',
type=ValueType(name='double'),
doc='margin for contact detection',
),
StructFieldDecl(
name='gap',
type=ValueType(name='double'),
doc='include in solver if dist<margin-gap',
),
StructFieldDecl(
name='friction',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(5,),
),
doc='full contact friction',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to errors',
),
),
)),
('mjsExclude',
StructDecl(
name='mjsExclude',
declname='struct mjsExclude_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='bodyname1',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of geom 1',
),
StructFieldDecl(
name='bodyname2',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of geom 2',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to errors',
),
),
)),
('mjsEquality',
StructDecl(
name='mjsEquality',
declname='struct mjsEquality_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtEq'),
doc='constraint type',
),
StructFieldDecl(
name='data',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(11,),
),
doc='type-dependent data',
),
StructFieldDecl(
name='active',
type=ValueType(name='mjtByte'),
doc='is equality initially active',
),
StructFieldDecl(
name='name1',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of object 1',
),
StructFieldDecl(
name='name2',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of object 2',
),
StructFieldDecl(
name='objtype',
type=ValueType(name='mjtObj'),
doc='type of both objects',
),
StructFieldDecl(
name='solref',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference',
),
StructFieldDecl(
name='solimp',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to errors',
),
),
)),
('mjsTendon',
StructDecl(
name='mjsTendon',
declname='struct mjsTendon_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='stiffness',
type=ValueType(name='double'),
doc='stiffness coefficient',
),
StructFieldDecl(
name='springlength',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='spring resting length; {-1, -1}: use qpos_spring',
),
StructFieldDecl(
name='damping',
type=ValueType(name='double'),
doc='damping coefficient',
),
StructFieldDecl(
name='frictionloss',
type=ValueType(name='double'),
doc='friction loss',
),
StructFieldDecl(
name='solref_friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference: tendon friction',
),
StructFieldDecl(
name='solimp_friction',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance: tendon friction',
),
StructFieldDecl(
name='armature',
type=ValueType(name='double'),
doc='inertia associated with tendon velocity',
),
StructFieldDecl(
name='limited',
type=ValueType(name='int'),
doc='does tendon have limits (mjtLimited)',
),
StructFieldDecl(
name='actfrclimited',
type=ValueType(name='int'),
doc='does tendon have actuator force limits',
),
StructFieldDecl(
name='range',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='length limits',
),
StructFieldDecl(
name='actfrcrange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='actuator force limits',
),
StructFieldDecl(
name='margin',
type=ValueType(name='double'),
doc='margin value for tendon limit detection',
),
StructFieldDecl(
name='solref_limit',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(2,),
),
doc='solver reference: tendon limits',
),
StructFieldDecl(
name='solimp_limit',
type=ArrayType(
inner_type=ValueType(name='mjtNum'),
extents=(5,),
),
doc='solver impedance: tendon limits',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of material for rendering',
),
StructFieldDecl(
name='width',
type=ValueType(name='double'),
doc='width for rendering',
),
StructFieldDecl(
name='rgba',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(4,),
),
doc='rgba when material is omitted',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to errors',
),
),
)),
('mjsWrap',
StructDecl(
name='mjsWrap',
declname='struct mjsWrap_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to errors',
),
),
)),
('mjsActuator',
StructDecl(
name='mjsActuator',
declname='struct mjsActuator_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='gaintype',
type=ValueType(name='mjtGain'),
doc='gain type',
),
StructFieldDecl(
name='gainprm',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(10,),
),
doc='gain parameters',
),
StructFieldDecl(
name='biastype',
type=ValueType(name='mjtBias'),
doc='bias type',
),
StructFieldDecl(
name='biasprm',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(10,),
),
doc='bias parameters',
),
StructFieldDecl(
name='dyntype',
type=ValueType(name='mjtDyn'),
doc='dynamics type',
),
StructFieldDecl(
name='dynprm',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(10,),
),
doc='dynamics parameters',
),
StructFieldDecl(
name='actdim',
type=ValueType(name='int'),
doc='number of activation variables',
),
StructFieldDecl(
name='actearly',
type=ValueType(name='mjtByte'),
doc='apply next activations to qfrc',
),
StructFieldDecl(
name='trntype',
type=ValueType(name='mjtTrn'),
doc='transmission type',
),
StructFieldDecl(
name='gear',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(6,),
),
doc='length and transmitted force scaling',
),
StructFieldDecl(
name='target',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of transmission target',
),
StructFieldDecl(
name='refsite',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='reference site, for site transmission',
),
StructFieldDecl(
name='slidersite',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='site defining cylinder, for slider-crank',
),
StructFieldDecl(
name='cranklength',
type=ValueType(name='double'),
doc='crank length, for slider-crank',
),
StructFieldDecl(
name='lengthrange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='transmission length range',
),
StructFieldDecl(
name='inheritrange',
type=ValueType(name='double'),
doc='automatic range setting for position and intvelocity',
),
StructFieldDecl(
name='ctrllimited',
type=ValueType(name='int'),
doc='are control limits defined (mjtLimited)',
),
StructFieldDecl(
name='ctrlrange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='control range',
),
StructFieldDecl(
name='forcelimited',
type=ValueType(name='int'),
doc='are force limits defined (mjtLimited)',
),
StructFieldDecl(
name='forcerange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='force range',
),
StructFieldDecl(
name='actlimited',
type=ValueType(name='int'),
doc='are activation limits defined (mjtLimited)',
),
StructFieldDecl(
name='actrange',
type=ArrayType(
inner_type=ValueType(name='double'),
extents=(2,),
),
doc='activation range',
),
StructFieldDecl(
name='group',
type=ValueType(name='int'),
doc='group',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='plugin',
type=ValueType(name='mjsPlugin'),
doc='actuator plugin',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsSensor',
StructDecl(
name='mjsSensor',
declname='struct mjsSensor_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='type',
type=ValueType(name='mjtSensor'),
doc='type of sensor',
),
StructFieldDecl(
name='objtype',
type=ValueType(name='mjtObj'),
doc='type of sensorized object',
),
StructFieldDecl(
name='objname',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of sensorized object',
),
StructFieldDecl(
name='reftype',
type=ValueType(name='mjtObj'),
doc='type of referenced object',
),
StructFieldDecl(
name='refname',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name of referenced object',
),
StructFieldDecl(
name='datatype',
type=ValueType(name='mjtDataType'),
doc='data type for sensor measurement',
),
StructFieldDecl(
name='needstage',
type=ValueType(name='mjtStage'),
doc='compute stage needed to simulate sensor',
),
StructFieldDecl(
name='dim',
type=ValueType(name='int'),
doc='number of scalar outputs',
),
StructFieldDecl(
name='cutoff',
type=ValueType(name='double'),
doc='cutoff for real and positive datatypes',
),
StructFieldDecl(
name='noise',
type=ValueType(name='double'),
doc='noise stdev',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='user data',
),
StructFieldDecl(
name='plugin',
type=ValueType(name='mjsPlugin'),
doc='sensor plugin',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsNumeric',
StructDecl(
name='mjsNumeric',
declname='struct mjsNumeric_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='data',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='initialization data',
),
StructFieldDecl(
name='size',
type=ValueType(name='int'),
doc='array size, can be bigger than data size',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsText',
StructDecl(
name='mjsText',
declname='struct mjsText_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='data',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='text string',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsTuple',
StructDecl(
name='mjsTuple',
declname='struct mjsTuple_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='objtype',
type=PointerType(
inner_type=ValueType(name='mjIntVec'),
),
doc='object types',
),
StructFieldDecl(
name='objname',
type=PointerType(
inner_type=ValueType(name='mjStringVec'),
),
doc='object names',
),
StructFieldDecl(
name='objprm',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='object parameters',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsKey',
StructDecl(
name='mjsKey',
declname='struct mjsKey_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='name',
),
StructFieldDecl(
name='time',
type=ValueType(name='double'),
doc='time',
),
StructFieldDecl(
name='qpos',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='qpos',
),
StructFieldDecl(
name='qvel',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='qvel',
),
StructFieldDecl(
name='act',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='act',
),
StructFieldDecl(
name='mpos',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='mocap pos',
),
StructFieldDecl(
name='mquat',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='mocap quat',
),
StructFieldDecl(
name='ctrl',
type=PointerType(
inner_type=ValueType(name='mjDoubleVec'),
),
doc='ctrl',
),
StructFieldDecl(
name='info',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='message appended to compiler errors',
),
),
)),
('mjsDefault',
StructDecl(
name='mjsDefault',
declname='struct mjsDefault_',
fields=(
StructFieldDecl(
name='element',
type=PointerType(
inner_type=ValueType(name='mjsElement'),
),
doc='element type',
),
StructFieldDecl(
name='name',
type=PointerType(
inner_type=ValueType(name='mjString'),
),
doc='class name',
),
StructFieldDecl(
name='joint',
type=PointerType(
inner_type=ValueType(name='mjsJoint'),
),
doc='joint defaults',
),
StructFieldDecl(
name='geom',
type=PointerType(
inner_type=ValueType(name='mjsGeom'),
),
doc='geom defaults',
),
StructFieldDecl(
name='site',
type=PointerType(
inner_type=ValueType(name='mjsSite'),
),
doc='site defaults',
),
StructFieldDecl(
name='camera',
type=PointerType(
inner_type=ValueType(name='mjsCamera'),
),
doc='camera defaults',
),
StructFieldDecl(
name='light',
type=PointerType(
inner_type=ValueType(name='mjsLight'),
),
doc='light defaults',
),
StructFieldDecl(
name='flex',
type=PointerType(
inner_type=ValueType(name='mjsFlex'),
),
doc='flex defaults',
),
StructFieldDecl(
name='mesh',
type=PointerType(
inner_type=ValueType(name='mjsMesh'),
),
doc='mesh defaults',
),
StructFieldDecl(
name='material',
type=PointerType(
inner_type=ValueType(name='mjsMaterial'),
),
doc='material defaults',
),
StructFieldDecl(
name='pair',
type=PointerType(
inner_type=ValueType(name='mjsPair'),
),
doc='pair defaults',
),
StructFieldDecl(
name='equality',
type=PointerType(
inner_type=ValueType(name='mjsEquality'),
),
doc='equality defaults',
),
StructFieldDecl(
name='tendon',
type=PointerType(
inner_type=ValueType(name='mjsTendon'),
),
doc='tendon defaults',
),
StructFieldDecl(
name='actuator',
type=PointerType(
inner_type=ValueType(name='mjsActuator'),
),
doc='actuator defaults',
),
),
)),
('mjuiState',
StructDecl(
name='mjuiState',
declname='struct mjuiState_',
fields=(
StructFieldDecl(
name='nrect',
type=ValueType(name='int'),
doc='number of rectangles used',
),
StructFieldDecl(
name='rect',
type=ArrayType(
inner_type=ValueType(name='mjrRect'),
extents=(25,),
),
doc='rectangles (index 0: entire window)',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='pointer to user data (for callbacks)',
),
StructFieldDecl(
name='type',
type=ValueType(name='int'),
doc='(type mjtEvent)',
),
StructFieldDecl(
name='left',
type=ValueType(name='int'),
doc='is left button down',
),
StructFieldDecl(
name='right',
type=ValueType(name='int'),
doc='is right button down',
),
StructFieldDecl(
name='middle',
type=ValueType(name='int'),
doc='is middle button down',
),
StructFieldDecl(
name='doubleclick',
type=ValueType(name='int'),
doc='is last press a double click',
),
StructFieldDecl(
name='button',
type=ValueType(name='int'),
doc='which button was pressed (mjtButton)',
),
StructFieldDecl(
name='buttontime',
type=ValueType(name='double'),
doc='time of last button press',
),
StructFieldDecl(
name='x',
type=ValueType(name='double'),
doc='x position',
),
StructFieldDecl(
name='y',
type=ValueType(name='double'),
doc='y position',
),
StructFieldDecl(
name='dx',
type=ValueType(name='double'),
doc='x displacement',
),
StructFieldDecl(
name='dy',
type=ValueType(name='double'),
doc='y displacement',
),
StructFieldDecl(
name='sx',
type=ValueType(name='double'),
doc='x scroll',
),
StructFieldDecl(
name='sy',
type=ValueType(name='double'),
doc='y scroll',
),
StructFieldDecl(
name='control',
type=ValueType(name='int'),
doc='is control down',
),
StructFieldDecl(
name='shift',
type=ValueType(name='int'),
doc='is shift down',
),
StructFieldDecl(
name='alt',
type=ValueType(name='int'),
doc='is alt down',
),
StructFieldDecl(
name='key',
type=ValueType(name='int'),
doc='which key was pressed',
),
StructFieldDecl(
name='keytime',
type=ValueType(name='double'),
doc='time of last key press',
),
StructFieldDecl(
name='mouserect',
type=ValueType(name='int'),
doc='which rectangle contains mouse',
),
StructFieldDecl(
name='dragrect',
type=ValueType(name='int'),
doc='which rectangle is dragged with mouse',
),
StructFieldDecl(
name='dragbutton',
type=ValueType(name='int'),
doc='which button started drag (mjtButton)',
),
StructFieldDecl(
name='dropcount',
type=ValueType(name='int'),
doc='number of files dropped',
),
StructFieldDecl(
name='droppaths',
type=PointerType(
inner_type=PointerType(
inner_type=ValueType(name='char', is_const=True),
),
),
doc='paths to files dropped',
),
),
)),
('mjuiThemeSpacing',
StructDecl(
name='mjuiThemeSpacing',
declname='struct mjuiThemeSpacing_',
fields=(
StructFieldDecl(
name='total',
type=ValueType(name='int'),
doc='total width',
),
StructFieldDecl(
name='scroll',
type=ValueType(name='int'),
doc='scrollbar width',
),
StructFieldDecl(
name='label',
type=ValueType(name='int'),
doc='label width',
),
StructFieldDecl(
name='section',
type=ValueType(name='int'),
doc='section gap',
),
StructFieldDecl(
name='cornersect',
type=ValueType(name='int'),
doc='corner radius for section',
),
StructFieldDecl(
name='cornersep',
type=ValueType(name='int'),
doc='corner radius for separator',
),
StructFieldDecl(
name='itemside',
type=ValueType(name='int'),
doc='item side gap',
),
StructFieldDecl(
name='itemmid',
type=ValueType(name='int'),
doc='item middle gap',
),
StructFieldDecl(
name='itemver',
type=ValueType(name='int'),
doc='item vertical gap',
),
StructFieldDecl(
name='texthor',
type=ValueType(name='int'),
doc='text horizontal gap',
),
StructFieldDecl(
name='textver',
type=ValueType(name='int'),
doc='text vertical gap',
),
StructFieldDecl(
name='linescroll',
type=ValueType(name='int'),
doc='number of pixels to scroll',
),
StructFieldDecl(
name='samples',
type=ValueType(name='int'),
doc='number of multisamples',
),
),
)),
('mjuiThemeColor',
StructDecl(
name='mjuiThemeColor',
declname='struct mjuiThemeColor_',
fields=(
StructFieldDecl(
name='master',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='master background',
),
StructFieldDecl(
name='thumb',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='scrollbar thumb',
),
StructFieldDecl(
name='secttitle',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title',
),
StructFieldDecl(
name='secttitle2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title: bottom color',
),
StructFieldDecl(
name='secttitleuncheck',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title with unchecked box',
),
StructFieldDecl(
name='secttitleuncheck2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title with unchecked box: bottom color',
),
StructFieldDecl(
name='secttitlecheck',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title with checked box',
),
StructFieldDecl(
name='secttitlecheck2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section title with checked box: bottom color',
),
StructFieldDecl(
name='sectfont',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section font',
),
StructFieldDecl(
name='sectsymbol',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section symbol',
),
StructFieldDecl(
name='sectpane',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='section pane',
),
StructFieldDecl(
name='separator',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='separator title',
),
StructFieldDecl(
name='separator2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='separator title: bottom color',
),
StructFieldDecl(
name='shortcut',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='shortcut background',
),
StructFieldDecl(
name='fontactive',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='font active',
),
StructFieldDecl(
name='fontinactive',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='font inactive',
),
StructFieldDecl(
name='decorinactive',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='decor inactive',
),
StructFieldDecl(
name='decorinactive2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='inactive slider color 2',
),
StructFieldDecl(
name='button',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='button',
),
StructFieldDecl(
name='check',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='check',
),
StructFieldDecl(
name='radio',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='radio',
),
StructFieldDecl(
name='select',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='select',
),
StructFieldDecl(
name='select2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='select pane',
),
StructFieldDecl(
name='slider',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='slider',
),
StructFieldDecl(
name='slider2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='slider color 2',
),
StructFieldDecl(
name='edit',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='edit',
),
StructFieldDecl(
name='edit2',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='edit invalid',
),
StructFieldDecl(
name='cursor',
type=ArrayType(
inner_type=ValueType(name='float'),
extents=(3,),
),
doc='edit cursor',
),
),
)),
('mjuiItem',
StructDecl(
name='mjuiItem',
declname='struct mjuiItem_',
fields=(
StructFieldDecl(
name='type',
type=ValueType(name='int'),
doc='type (mjtItem)',
),
StructFieldDecl(
name='name',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(40,),
),
doc='name',
),
StructFieldDecl(
name='state',
type=ValueType(name='int'),
doc='0: disable, 1: enable, 2+: use predicate',
),
StructFieldDecl(
name='pdata',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='data pointer (type-specific)',
),
StructFieldDecl(
name='sectionid',
type=ValueType(name='int'),
doc='id of section containing item',
),
StructFieldDecl(
name='itemid',
type=ValueType(name='int'),
doc='id of item within section',
),
StructFieldDecl(
name='userid',
type=ValueType(name='int'),
doc='user-supplied id (for event handling)',
),
AnonymousUnionDecl(
fields=(
StructFieldDecl(
name='single',
type=ValueType(name='struct mjuiItemSingle_'),
doc='check and button',
),
StructFieldDecl(
name='multi',
type=ValueType(name='struct mjuiItemMulti_'),
doc='static, radio and select',
),
StructFieldDecl(
name='slider',
type=ValueType(name='struct mjuiItemSlider_'),
doc='slider',
),
StructFieldDecl(
name='edit',
type=ValueType(name='struct mjuiItemEdit_'),
doc='edit',
),
),
),
StructFieldDecl(
name='rect',
type=ValueType(name='mjrRect'),
doc='rectangle occupied by item',
),
StructFieldDecl(
name='skip',
type=ValueType(name='int'),
doc='item skipped due to closed separator',
),
),
)),
('mjuiSection',
StructDecl(
name='mjuiSection',
declname='struct mjuiSection_',
fields=(
StructFieldDecl(
name='name',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(40,),
),
doc='name',
),
StructFieldDecl(
name='state',
type=ValueType(name='int'),
doc='section state (mjtSection)',
),
StructFieldDecl(
name='modifier',
type=ValueType(name='int'),
doc='0: none, 1: control, 2: shift; 4: alt',
),
StructFieldDecl(
name='shortcut',
type=ValueType(name='int'),
doc='shortcut key; 0: undefined',
),
StructFieldDecl(
name='checkbox',
type=ValueType(name='int'),
doc='0: none, 1: unchecked, 2: checked',
),
StructFieldDecl(
name='nitem',
type=ValueType(name='int'),
doc='number of items in use',
),
StructFieldDecl(
name='item',
type=ArrayType(
inner_type=ValueType(name='mjuiItem'),
extents=(200,),
),
doc='preallocated array of items',
),
StructFieldDecl(
name='rtitle',
type=ValueType(name='mjrRect'),
doc='rectangle occupied by title',
),
StructFieldDecl(
name='rcontent',
type=ValueType(name='mjrRect'),
doc='rectangle occupied by content',
),
StructFieldDecl(
name='lastclick',
type=ValueType(name='int'),
doc='last mouse click over this section',
),
),
)),
('mjUI',
StructDecl(
name='mjUI',
declname='struct mjUI_',
fields=(
StructFieldDecl(
name='spacing',
type=ValueType(name='mjuiThemeSpacing'),
doc='UI theme spacing',
),
StructFieldDecl(
name='color',
type=ValueType(name='mjuiThemeColor'),
doc='UI theme color',
),
StructFieldDecl(
name='predicate',
type=ValueType(name='mjfItemEnable'),
doc='callback to set item state programmatically',
),
StructFieldDecl(
name='userdata',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='pointer to user data (passed to predicate)',
),
StructFieldDecl(
name='rectid',
type=ValueType(name='int'),
doc='index of this ui rectangle in mjuiState',
),
StructFieldDecl(
name='auxid',
type=ValueType(name='int'),
doc='aux buffer index of this ui',
),
StructFieldDecl(
name='radiocol',
type=ValueType(name='int'),
doc='number of radio columns (0 defaults to 2)',
),
StructFieldDecl(
name='width',
type=ValueType(name='int'),
doc='width',
),
StructFieldDecl(
name='height',
type=ValueType(name='int'),
doc='current height',
),
StructFieldDecl(
name='maxheight',
type=ValueType(name='int'),
doc='height when all sections open',
),
StructFieldDecl(
name='scroll',
type=ValueType(name='int'),
doc='scroll from top of UI',
),
StructFieldDecl(
name='mousesect',
type=ValueType(name='int'),
doc='0: none, -1: scroll, otherwise 1+section',
),
StructFieldDecl(
name='mouseitem',
type=ValueType(name='int'),
doc='item within section',
),
StructFieldDecl(
name='mousehelp',
type=ValueType(name='int'),
doc='help button down: print shortcuts',
),
StructFieldDecl(
name='mouseclicks',
type=ValueType(name='int'),
doc='number of mouse clicks over UI',
),
StructFieldDecl(
name='mousesectcheck',
type=ValueType(name='int'),
doc='0: none, otherwise 1+section',
),
StructFieldDecl(
name='editsect',
type=ValueType(name='int'),
doc='0: none, otherwise 1+section',
),
StructFieldDecl(
name='edititem',
type=ValueType(name='int'),
doc='item within section',
),
StructFieldDecl(
name='editcursor',
type=ValueType(name='int'),
doc='cursor position',
),
StructFieldDecl(
name='editscroll',
type=ValueType(name='int'),
doc='horizontal scroll',
),
StructFieldDecl(
name='edittext',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(300,),
),
doc='current text',
),
StructFieldDecl(
name='editchanged',
type=PointerType(
inner_type=ValueType(name='mjuiItem'),
),
doc='pointer to changed edit in last mjui_event',
),
StructFieldDecl(
name='nsect',
type=ValueType(name='int'),
doc='number of sections in use',
),
StructFieldDecl(
name='sect',
type=ArrayType(
inner_type=ValueType(name='mjuiSection'),
extents=(10,),
),
doc='preallocated array of sections',
),
),
)),
('mjuiDef',
StructDecl(
name='mjuiDef',
declname='struct mjuiDef_',
fields=(
StructFieldDecl(
name='type',
type=ValueType(name='int'),
doc='type (mjtItem); -1: section',
),
StructFieldDecl(
name='name',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(40,),
),
doc='name',
),
StructFieldDecl(
name='state',
type=ValueType(name='int'),
doc='state',
),
StructFieldDecl(
name='pdata',
type=PointerType(
inner_type=ValueType(name='void'),
),
doc='pointer to data',
),
StructFieldDecl(
name='other',
type=ArrayType(
inner_type=ValueType(name='char'),
extents=(300,),
),
doc='string with type-specific properties',
),
StructFieldDecl(
name='otherint',
type=ValueType(name='int'),
doc='int with type-specific properties',
),
),
)),
])