# 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([ ('mjLogMessage', StructDecl( name='mjLogMessage', declname='struct mjLogMessage_', fields=( StructFieldDecl( name='level', type=ValueType(name='int'), doc='mjtLogLevel', ), StructFieldDecl( name='topic', type=ValueType(name='int'), doc='mjtLogTopic (0 for error/warning/user)', ), StructFieldDecl( name='subject', type=ArrayType( inner_type=ValueType(name='char'), extents=(1024,), ), doc='message subject (one-liner, printf-formatted)', ), StructFieldDecl( name='body', type=PointerType( inner_type=ValueType(name='char', is_const=True), ), doc='message body (multi-line detail, or NULL)', ), StructFieldDecl( name='func', type=PointerType( inner_type=ValueType(name='char', is_const=True), ), doc='__func__ or NULL', ), StructFieldDecl( name='file', type=PointerType( inner_type=ValueType(name='char', is_const=True), ), doc='__FILE__ or NULL', ), StructFieldDecl( name='line', type=ValueType(name='int'), doc='__LINE__ or 0', ), StructFieldDecl( name='timestamp', type=ValueType(name='mjtBool'), doc='prepend timestamp to output', ), ), )), ('mjLogConfig', StructDecl( name='mjLogConfig', declname='struct mjLogConfig_', fields=( StructFieldDecl( name='logto_console', type=ValueType(name='mjtBool'), doc='print to console (default: true)', ), StructFieldDecl( name='logto_file', type=ValueType(name='mjtBool'), doc='print to log file (default: true)', ), StructFieldDecl( name='logfile', type=ArrayType( inner_type=ValueType(name='char'), extents=(1024,), ), doc='log file path (default: "MUJOCO_LOG.TXT")', ), StructFieldDecl( name='topics', type=ValueType(name='int'), doc='enabled info topic bitmask (default: 0)', ), ), )), ('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)', ), ), )), ('mjCache', StructDecl( name='mjCache', declname='struct mjCache_', fields=( StructFieldDecl( name='impl_', type=PointerType( inner_type=ValueType(name='void'), ), doc='internal pointer to cache', ), ), )), ('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='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='sleep_tolerance', type=ValueType(name='mjtNum'), doc='sleep velocity 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='cameraid', type=ValueType(name='int'), doc='initial camera id (-1: free)', ), 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='mjtSize'), doc='number of generalized coordinates = dim(qpos)', ), StructFieldDecl( name='nv', type=ValueType(name='mjtSize'), doc='number of degrees of freedom = dim(qvel)', ), StructFieldDecl( name='nu', type=ValueType(name='mjtSize'), doc='number of scalar controls = dim(ctrl)', ), StructFieldDecl( name='nactuator', type=ValueType(name='mjtSize'), doc='number of actuators', ), StructFieldDecl( name='nout', type=ValueType(name='mjtSize'), doc='number of force outputs, derived from transmission type', ), StructFieldDecl( name='na', type=ValueType(name='mjtSize'), doc='number of activation states = dim(act)', ), StructFieldDecl( name='nbody', type=ValueType(name='mjtSize'), doc='number of bodies', ), StructFieldDecl( name='nbvh', type=ValueType(name='mjtSize'), doc='number of total bounding volumes in all bodies', ), StructFieldDecl( name='nbvhstatic', type=ValueType(name='mjtSize'), doc='number of static bounding volumes (aabb stored in mjModel)', # pylint: disable=line-too-long ), StructFieldDecl( name='nbvhdynamic', type=ValueType(name='mjtSize'), doc='number of dynamic bounding volumes (aabb stored in mjData)', # pylint: disable=line-too-long ), StructFieldDecl( name='noct', type=ValueType(name='mjtSize'), doc='number of total octree cells in all meshes', ), StructFieldDecl( name='njnt', type=ValueType(name='mjtSize'), doc='number of joints', ), StructFieldDecl( name='ntree', type=ValueType(name='mjtSize'), doc='number of kinematic trees under world body', ), StructFieldDecl( name='nM', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse inertia matrix', ), StructFieldDecl( name='nB', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse body-dof matrix', ), StructFieldDecl( name='nC', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse reduced dof-dof matrix', ), StructFieldDecl( name='nD', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse dof-dof matrix', ), StructFieldDecl( name='ngeom', type=ValueType(name='mjtSize'), doc='number of geoms', ), StructFieldDecl( name='nsite', type=ValueType(name='mjtSize'), doc='number of sites', ), StructFieldDecl( name='ncam', type=ValueType(name='mjtSize'), doc='number of cameras', ), StructFieldDecl( name='nlight', type=ValueType(name='mjtSize'), doc='number of lights', ), StructFieldDecl( name='nflex', type=ValueType(name='mjtSize'), doc='number of flexes', ), StructFieldDecl( name='nflexnode', type=ValueType(name='mjtSize'), doc='number of dofs in all flexes', ), StructFieldDecl( name='nflexvert', type=ValueType(name='mjtSize'), doc='number of vertices in all flexes', ), StructFieldDecl( name='nflexedge', type=ValueType(name='mjtSize'), doc='number of edges in all flexes', ), StructFieldDecl( name='nflexelem', type=ValueType(name='mjtSize'), doc='number of elements in all flexes', ), StructFieldDecl( name='nflexelemdata', type=ValueType(name='mjtSize'), doc='number of element vertex ids in all flexes', ), StructFieldDecl( name='nflexstiffness', type=ValueType(name='mjtSize'), doc='number of stiffness parameters in all flexes', ), StructFieldDecl( name='nflexbending', type=ValueType(name='mjtSize'), doc='number of bending parameters in all flexes', ), StructFieldDecl( name='nefm0dof', type=ValueType(name='mjtSize'), doc='number of dofs covered by the constant metric factor', ), StructFieldDecl( name='nefm0L', type=ValueType(name='mjtSize'), doc='number of non-zeros in the constant metric factor', ), StructFieldDecl( name='nflexelemedge', type=ValueType(name='mjtSize'), doc='number of element edge ids in all flexes', ), StructFieldDecl( name='nflexshelldata', type=ValueType(name='mjtSize'), doc='number of shell fragment vertex ids in all flexes', ), StructFieldDecl( name='nflexevpair', type=ValueType(name='mjtSize'), doc='number of element-vertex pairs in all flexes', ), StructFieldDecl( name='nflextexcoord', type=ValueType(name='mjtSize'), doc='number of vertices with texture coordinates', ), StructFieldDecl( name='nJfe', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse flexedge Jacobian matrix', ), StructFieldDecl( name='nJfv', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse flexvert Jacobian matrix', ), StructFieldDecl( name='nmesh', type=ValueType(name='mjtSize'), doc='number of meshes', ), StructFieldDecl( name='nmeshvert', type=ValueType(name='mjtSize'), doc='number of vertices in all meshes', ), StructFieldDecl( name='nmeshnormal', type=ValueType(name='mjtSize'), doc='number of normals in all meshes', ), StructFieldDecl( name='nmeshtexcoord', type=ValueType(name='mjtSize'), doc='number of texcoords in all meshes', ), StructFieldDecl( name='nmeshface', type=ValueType(name='mjtSize'), doc='number of triangular faces in all meshes', ), StructFieldDecl( name='nmeshgraph', type=ValueType(name='mjtSize'), doc='number of ints in mesh auxiliary data', ), StructFieldDecl( name='nmeshpoly', type=ValueType(name='mjtSize'), doc='number of polygons in all meshes', ), StructFieldDecl( name='nmeshpolyvert', type=ValueType(name='mjtSize'), doc='number of vertices in all polygons', ), StructFieldDecl( name='nmeshpolymap', type=ValueType(name='mjtSize'), doc='number of polygons in vertex map', ), StructFieldDecl( name='nskin', type=ValueType(name='mjtSize'), doc='number of skins', ), StructFieldDecl( name='nskinvert', type=ValueType(name='mjtSize'), doc='number of vertices in all skins', ), StructFieldDecl( name='nskintexvert', type=ValueType(name='mjtSize'), doc='number of vertices with texcoords in all skins', ), StructFieldDecl( name='nskinface', type=ValueType(name='mjtSize'), doc='number of triangular faces in all skins', ), StructFieldDecl( name='nskinbone', type=ValueType(name='mjtSize'), doc='number of bones in all skins', ), StructFieldDecl( name='nskinbonevert', type=ValueType(name='mjtSize'), doc='number of vertices in all skin bones', ), StructFieldDecl( name='nhfield', type=ValueType(name='mjtSize'), doc='number of heightfields', ), StructFieldDecl( name='nhfielddata', type=ValueType(name='mjtSize'), doc='number of data points in all heightfields', ), StructFieldDecl( name='ntex', type=ValueType(name='mjtSize'), doc='number of textures', ), StructFieldDecl( name='ntexdata', type=ValueType(name='mjtSize'), doc='number of bytes in texture rgb data', ), StructFieldDecl( name='nmat', type=ValueType(name='mjtSize'), doc='number of materials', ), StructFieldDecl( name='npair', type=ValueType(name='mjtSize'), doc='number of predefined geom pairs', ), StructFieldDecl( name='nexclude', type=ValueType(name='mjtSize'), doc='number of excluded geom pairs', ), StructFieldDecl( name='neq', type=ValueType(name='mjtSize'), doc='number of equality constraints', ), StructFieldDecl( name='ntendon', type=ValueType(name='mjtSize'), doc='number of tendons', ), StructFieldDecl( name='nJten', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse ten_J matrix', ), StructFieldDecl( name='nwrap', type=ValueType(name='mjtSize'), doc='number of wrap objects in all tendon paths', ), StructFieldDecl( name='nsensor', type=ValueType(name='mjtSize'), doc='number of sensors', ), StructFieldDecl( name='nnumeric', type=ValueType(name='mjtSize'), doc='number of numeric custom fields', ), StructFieldDecl( name='nnumericdata', type=ValueType(name='mjtSize'), doc='number of mjtNums in all numeric fields', ), StructFieldDecl( name='ntext', type=ValueType(name='mjtSize'), doc='number of text custom fields', ), StructFieldDecl( name='ntextdata', type=ValueType(name='mjtSize'), doc='number of mjtBytes in all text fields', ), StructFieldDecl( name='ntuple', type=ValueType(name='mjtSize'), doc='number of tuple custom fields', ), StructFieldDecl( name='ntupledata', type=ValueType(name='mjtSize'), doc='number of objects in all tuple fields', ), StructFieldDecl( name='nkey', type=ValueType(name='mjtSize'), doc='number of keyframes', ), StructFieldDecl( name='nmocap', type=ValueType(name='mjtSize'), doc='number of mocap bodies', ), StructFieldDecl( name='nplugin', type=ValueType(name='mjtSize'), doc='number of plugin instances', ), StructFieldDecl( name='npluginattr', type=ValueType(name='mjtSize'), doc='number of chars in all plugin config attributes', ), StructFieldDecl( name='nuser_body', type=ValueType(name='mjtSize'), doc='number of mjtNums in body_user', ), StructFieldDecl( name='nuser_jnt', type=ValueType(name='mjtSize'), doc='number of mjtNums in jnt_user', ), StructFieldDecl( name='nuser_geom', type=ValueType(name='mjtSize'), doc='number of mjtNums in geom_user', ), StructFieldDecl( name='nuser_site', type=ValueType(name='mjtSize'), doc='number of mjtNums in site_user', ), StructFieldDecl( name='nuser_cam', type=ValueType(name='mjtSize'), doc='number of mjtNums in cam_user', ), StructFieldDecl( name='nuser_tendon', type=ValueType(name='mjtSize'), doc='number of mjtNums in tendon_user', ), StructFieldDecl( name='nuser_actuator', type=ValueType(name='mjtSize'), doc='number of mjtNums in actuator_user', ), StructFieldDecl( name='nuser_sensor', type=ValueType(name='mjtSize'), doc='number of mjtNums in sensor_user', ), StructFieldDecl( name='nnames', type=ValueType(name='mjtSize'), doc='number of chars in all names', ), StructFieldDecl( name='npaths', type=ValueType(name='mjtSize'), doc='number of chars in all paths', ), StructFieldDecl( name='nnames_map', type=ValueType(name='mjtSize'), doc='number of slots in the names hash map', ), StructFieldDecl( name='nJmom', type=ValueType(name='mjtSize'), doc='number of non-zeros in sparse actuator_moment matrix', ), StructFieldDecl( name='ngravcomp', type=ValueType(name='mjtSize'), doc='number of bodies with nonzero gravcomp', ), StructFieldDecl( name='nemax', type=ValueType(name='mjtSize'), doc='number of potential equality-constraint rows', ), StructFieldDecl( name='njmax', type=ValueType(name='mjtSize'), doc='number of available rows in constraint Jacobian (legacy)', ), StructFieldDecl( name='nconmax', type=ValueType(name='mjtSize'), doc='number of potential contacts in contact list (legacy)', ), StructFieldDecl( name='npolygonmax', type=ValueType(name='mjtSize'), doc='maximum number of vertices in a mesh polygon', ), StructFieldDecl( name='nmeshdegmax', type=ValueType(name='mjtSize'), doc='maximum number of edges adjacent to a mesh vertex', ), StructFieldDecl( name='nuserdata', type=ValueType(name='mjtSize'), doc='number of mjtNums reserved for the user', ), StructFieldDecl( name='nsensordata', type=ValueType(name='mjtSize'), doc='number of mjtNums in sensor data vector', ), StructFieldDecl( name='npluginstate', type=ValueType(name='mjtSize'), doc='number of mjtNums in plugin state vector', ), StructFieldDecl( name='nhistory', type=ValueType(name='mjtSize'), doc='number of mjtNums in history buffer', ), StructFieldDecl( name='narena', type=ValueType(name='mjtSize'), doc='number of bytes in the mjData arena (inclusive of stack)', ), StructFieldDecl( name='nbuffer', type=ValueType(name='mjtSize'), doc='number of bytes in buffer', ), StructFieldDecl( name='flg_gravcomp', type=ValueType(name='mjtBool'), doc='whether any body has nonzero gravcomp', ), StructFieldDecl( name='flg_surfacevel', type=ValueType(name='mjtBool'), doc='whether any geom has nonzero surfacevel', ), StructFieldDecl( name='flg_adhesion', type=ValueType(name='mjtBool'), doc='whether any geom or pair has nonzero adhesion', ), 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='ancestor that is direct child of world', array_extent=('nbody',), ), StructFieldDecl( name='body_weldid', type=PointerType( inner_type=ValueType(name='int'), ), doc='top ancestor with no dofs to this body', 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+gaps', 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='oct_depth', type=PointerType( inner_type=ValueType(name='int'), ), doc='depth in the octree', array_extent=('noct',), ), StructFieldDecl( name='oct_child', type=PointerType( inner_type=ValueType(name='int'), ), doc='children of octree node', array_extent=('noct', 8), ), StructFieldDecl( name='oct_aabb', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='octree node bounding box (center, size)', array_extent=('noct', 6), ), StructFieldDecl( name='oct_coeff', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='octree interpolation coefficients', array_extent=('noct', 8), ), 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_actuatorid', type=PointerType( inner_type=ValueType(name='int'), ), doc='actuator contributing damping / armature', 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='mjtBool'), ), doc='does joint have limits', array_extent=('njnt',), ), StructFieldDecl( name='jnt_actfrclimited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='does joint have actuator force limits', array_extent=('njnt',), ), StructFieldDecl( name='jnt_actgravcomp', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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='linear stiffness coefficient', array_extent=('njnt',), ), StructFieldDecl( name='jnt_stiffnesspoly', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='high-order stiffness coefficients', array_extent=('njnt', 'mjNPOLY'), ), 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='linear damping coefficient', array_extent=('nv',), ), StructFieldDecl( name='dof_dampingpoly', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='high-order damping coefficients', array_extent=('nv', 'mjNPOLY'), ), 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='dof_length', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='linear: 1; angular: approx. length scale', array_extent=('nv',), ), StructFieldDecl( name='tree_bodyadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='start addr of bodies', array_extent=('ntree',), ), StructFieldDecl( name='tree_bodynum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of bodies in tree', array_extent=('ntree',), ), StructFieldDecl( name='tree_dofadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='start addr of dofs', array_extent=('ntree',), ), StructFieldDecl( name='tree_dofnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of dofs in tree', array_extent=('ntree',), ), StructFieldDecl( name='tree_sleep_policy', type=PointerType( inner_type=ValueType(name='int'), ), doc='sleep policy (mjtSleepPolicy)', array_extent=('ntree',), ), 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='geometric inflation for contact', array_extent=('ngeom',), ), StructFieldDecl( name='geom_gap', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='additional contact detection buffer', array_extent=('ngeom',), ), StructFieldDecl( name='geom_surfacevel', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='surface velocity in local frame: lin,ang', array_extent=('ngeom', 6), ), StructFieldDecl( name='geom_adhesion', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='adhesive force of contacts', 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_projection', type=PointerType( inner_type=ValueType(name='int'), ), doc='projection type (mjtProjection)', 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_output', type=PointerType( inner_type=ValueType(name='int'), ), doc='output types (mjtCamOut bit flags)', array_extent=('ncam',), ), 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_type', type=PointerType( inner_type=ValueType(name='int'), ), doc='spot, directional, etc. (mjtLightType)', array_extent=('nlight',), ), StructFieldDecl( name='light_texid', type=PointerType( inner_type=ValueType(name='int'), ), doc='texture id for image lights', array_extent=('nlight',), ), StructFieldDecl( name='light_castshadow', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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_intensity', type=PointerType( inner_type=ValueType(name='float'), ), doc='intensity, in candela', array_extent=('nlight',), ), StructFieldDecl( name='light_range', type=PointerType( inner_type=ValueType(name='float'), ), doc='range of effectiveness', array_extent=('nlight',), ), StructFieldDecl( name='light_active', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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='geometric inflation for contact', array_extent=('nflex',), ), StructFieldDecl( name='flex_gap', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='additional contact detection buffer', array_extent=('nflex',), ), StructFieldDecl( name='flex_internal', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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_passive', type=PointerType( inner_type=ValueType(name='int'), ), doc='passive collisions enabled', 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_cellnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='finite cell num per dimension', array_extent=('nflex', 3), ), 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_stiffnessadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='stiffness matrix 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_bendingadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='first bending data 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_vertedgeadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='first edge address', array_extent=('nflexvert',), ), StructFieldDecl( name='flex_vertedgenum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of edges', array_extent=('nflexvert',), ), StructFieldDecl( name='flex_vertedge', type=PointerType( inner_type=ValueType(name='int'), ), doc='edge indices', array_extent=('nflexedge', 2), ), 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_edgeflap', type=PointerType( inner_type=ValueType(name='int'), ), doc='adjacent vertex ids (dim=2 only)', 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_vertmetric', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='inverse of reference shape matrix', array_extent=('nflexvert', 4), ), 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_size', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='vertex bounding box half sizes in qpos0', array_extent=('nflex', 3), ), StructFieldDecl( name='flex_stiffness', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='finite element stiffness matrix', array_extent=('nflexstiffness',), ), StructFieldDecl( name='flex_bending', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='bending stiffness', array_extent=('nflexbending',), ), StructFieldDecl( name='efm0_dofid', type=PointerType( inner_type=ValueType(name='int'), ), doc='constant metric factor row->dof address', array_extent=('nefm0dof',), ), StructFieldDecl( name='efm0_L_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='constant metric factor row nonzeros', array_extent=('nefm0dof',), ), StructFieldDecl( name='efm0_L_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='constant metric factor row addresses', array_extent=('nefm0dof',), ), StructFieldDecl( name='efm0_L_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='constant metric factor column indices', array_extent=('nefm0L',), ), StructFieldDecl( name='efm0_L', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='factor of M + (dt^2+dt*d)*K_bend', array_extent=('nefm0L',), ), 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='int'), ), doc='0:none, 1:edges, 2:vertices, 3:strain', array_extent=('nflex',), ), StructFieldDecl( name='flex_rigid', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='are all vertices in the same body', array_extent=('nflex',), ), StructFieldDecl( name='flexedge_rigid', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='are both edge vertices in same body', array_extent=('nflexedge',), ), StructFieldDecl( name='flex_centered', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='are all vertex coordinates (0,0,0)', array_extent=('nflex',), ), StructFieldDecl( name='flex_flatskin', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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='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=('nJfe',), ), StructFieldDecl( name='flexvert_J_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of non-zeros in Jacobian row', array_extent=('nflexvert', 2), ), StructFieldDecl( name='flexvert_J_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='row start address in colind array', array_extent=('nflexvert', 2), ), StructFieldDecl( name='flexvert_J_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='column indices in sparse Jacobian', array_extent=('nJfv', 2), ), 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_octadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='address of octree root', array_extent=('nmesh',), ), StructFieldDecl( name='mesh_octnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of octree nodes', 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_colorspace', type=PointerType( inner_type=ValueType(name='int'), ), doc='texture colorspace (mjtColorSpace)', 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='mjtSize'), ), 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='mjtBool'), ), 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='geometric inflation for contact', array_extent=('npair',), ), StructFieldDecl( name='pair_gap', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='additional contact detection buffer', array_extent=('npair',), ), StructFieldDecl( name='pair_adhesion', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='adhesive force of contacts', 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='mjtBool'), ), 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_actuatorid', type=PointerType( inner_type=ValueType(name='int'), ), doc='actuator contributing damping / armature', array_extent=('ntendon',), ), StructFieldDecl( name='tendon_group', type=PointerType( inner_type=ValueType(name='int'), ), doc='group for visibility', array_extent=('ntendon',), ), StructFieldDecl( name='tendon_treenum', type=PointerType( inner_type=ValueType(name='int'), ), doc="number of trees along tendon's path", array_extent=('ntendon',), ), StructFieldDecl( name='tendon_treeid', type=PointerType( inner_type=ValueType(name='int'), ), doc="first two trees along tendon's path", array_extent=('ntendon', 2), ), 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=('nJten',), ), StructFieldDecl( name='tendon_limited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='does tendon have length limits', array_extent=('ntendon',), ), StructFieldDecl( name='tendon_actfrclimited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), 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='linear stiffness coefficient', array_extent=('ntendon',), ), StructFieldDecl( name='tendon_stiffnesspoly', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='high-order stiffness coefficients', array_extent=('ntendon', 'mjNPOLY'), ), StructFieldDecl( name='tendon_damping', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='linear damping coefficient', array_extent=('ntendon',), ), StructFieldDecl( name='tendon_dampingpoly', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='high-order damping coefficients', array_extent=('ntendon', 'mjNPOLY'), ), 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=('nactuator',), ), StructFieldDecl( name='actuator_dyntype', type=PointerType( inner_type=ValueType(name='int'), ), doc='dynamics type (mjtDyn)', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_gaintype', type=PointerType( inner_type=ValueType(name='int'), ), doc='gain type (mjtGain)', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_biastype', type=PointerType( inner_type=ValueType(name='int'), ), doc='bias type (mjtBias)', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_ctrladr', type=PointerType( inner_type=ValueType(name='int'), ), doc='address of first control', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_ctrlnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of controls', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_ctrlspec', type=PointerType( inner_type=ValueType(name='int'), ), doc='input signature, scoped by gaintype', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_outadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='address of first force output', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_outnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of force outputs, from trntype', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_actadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='first activation address; -1: stateless', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_actnum', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of activation variables', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_trnid', type=PointerType( inner_type=ValueType(name='int'), ), doc='transmission id: joint, tendon, site', array_extent=('nactuator', 2), ), StructFieldDecl( name='actuator_cranklength', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='crank length for slider-crank', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_dynprm', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='dynamics parameters', array_extent=('nactuator', 'mjNDYN'), ), StructFieldDecl( name='actuator_gainprm', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='gain parameters', array_extent=('nactuator', 'mjNGAIN'), ), StructFieldDecl( name='actuator_biasprm', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='bias parameters', array_extent=('nactuator', 'mjNBIAS'), ), StructFieldDecl( name='actuator_actlimited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='is activation limited', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_actrange', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='range of activations', array_extent=('nactuator', 2), ), StructFieldDecl( name='actuator_actearly', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='step activation before force', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_history', type=PointerType( inner_type=ValueType(name='int'), ), doc='history buffer: [nsample, interp]', array_extent=('nactuator', 2), ), StructFieldDecl( name='actuator_historyadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='address in history buffer; -1: none', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_delay', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='delay time; 0: no delay', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_damping', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='linear damping coefficient', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_dampingpoly', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='high-order damping coefficients', array_extent=('nactuator', 'mjNPOLY'), ), StructFieldDecl( name='actuator_armature', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='armature added to target (joint, tendon)', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_group', type=PointerType( inner_type=ValueType(name='int'), ), doc='group for visibility', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_user', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='user data', array_extent=('nactuator', 'nuser_actuator'), ), StructFieldDecl( name='actuator_plugin', type=PointerType( inner_type=ValueType(name='int'), ), doc='plugin instance id; -1: not a plugin', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_forcelimited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='is force limited', array_extent=('nactuator',), ), StructFieldDecl( name='actuator_forcerange', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='range of forces', array_extent=('nactuator', 2), ), StructFieldDecl( name='actuator_ctrllimited', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='is control limited', 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_gear', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='scale length and transmitted force', array_extent=('nout', 6), ), StructFieldDecl( name='actuator_acc0', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='acceleration from unit force in qpos0', array_extent=('nout',), ), StructFieldDecl( name='actuator_length0', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='actuator length in qpos0', array_extent=('nout',), ), StructFieldDecl( name='actuator_lengthrange', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='feasible actuator length range', array_extent=('nout', 2), ), 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_intprm', type=PointerType( inner_type=ValueType(name='int'), ), doc='sensor parameters', array_extent=('nsensor', 'mjNSENS'), ), 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_history', type=PointerType( inner_type=ValueType(name='int'), ), doc='history buffer: [nsample, interp]', array_extent=('nsensor', 2), ), StructFieldDecl( name='sensor_historyadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='address in history buffer; -1: none', array_extent=('nsensor',), ), StructFieldDecl( name='sensor_delay', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='delay time in seconds; 0: no delay', array_extent=('nsensor',), ), StructFieldDecl( name='sensor_interval', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='interval: [period, phase] in seconds', array_extent=('nsensor', 2), ), 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=('nactuator',), ), 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='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: row addresses', array_extent=('nbody',), ), StructFieldDecl( name='B_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='body-dof: column indices', array_extent=('nB',), ), StructFieldDecl( name='M_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='reduced inertia: non-zeros in each row', array_extent=('nv',), ), StructFieldDecl( name='M_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='reduced inertia: row addresses', array_extent=('nv',), ), StructFieldDecl( name='M_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='reduced inertia: column indices', array_extent=('nC',), ), StructFieldDecl( name='mapM2M', type=PointerType( inner_type=ValueType(name='int'), ), doc='index mapping from qM to M', array_extent=('nC',), ), StructFieldDecl( name='D_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='full inertia: non-zeros in each row', array_extent=('nv',), ), StructFieldDecl( name='D_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='full inertia: row addresses', array_extent=('nv',), ), StructFieldDecl( name='D_diag', type=PointerType( inner_type=ValueType(name='int'), ), doc='full inertia: index of diagonal element', array_extent=('nv',), ), StructFieldDecl( name='D_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='full inertia: column indices', 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=('nC',), ), StructFieldDecl( name='signature', type=ValueType(name='uint64_t'), doc='also held by the mjSpec that compiled this model', ), ), )), ('mjPreContact', StructDecl( name='mjPreContact', declname='struct mjPreContact_', fields=( StructFieldDecl( name='dist', type=ValueType(name='mjtNum'), doc='', ), StructFieldDecl( name='pos', type=ArrayType( inner_type=ValueType(name='mjtNum'), extents=(3,), ), doc='', ), StructFieldDecl( name='normal', type=ArrayType( inner_type=ValueType(name='mjtNum'), extents=(3,), ), doc='contact normal of the collision', ), StructFieldDecl( name='tangent', type=ArrayType( inner_type=ValueType(name='mjtNum'), extents=(3,), ), doc='first tangent direction', ), ), )), ('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='margin for force generation', ), 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='adhesion', type=ValueType(name='mjtNum'), doc='adhesive force along the contact normal', ), 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, 4: passive', ), 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='mjtSize'), doc='size of the arena in bytes (inclusive of the stack)', ), StructFieldDecl( name='nbuffer', type=ValueType(name='mjtSize'), 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 (mutable)', ), StructFieldDecl( name='pbase', type=ValueType(name='size_t'), doc='value of pstack when mj_markStack was last called (mutable)', # pylint: disable=line-too-long ), StructFieldDecl( name='parena', type=ValueType(name='size_t'), doc='first available byte in arena', ), StructFieldDecl( name='threadpool', type=ValueType(name='uintptr_t'), doc='thread pool pointer', ), StructFieldDecl( name='threadlock', type=ValueType(name='mjtBool'), doc='disable stack freeing during threaded execution', ), StructFieldDecl( name='maxuse_stack', type=ValueType(name='mjtSize'), doc='maximum stack allocation in bytes (mutable)', ), StructFieldDecl( name='maxuse_arena', type=ValueType(name='mjtSize'), 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 solver matrix, 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=(7,), ), doc='warning statistics (mutable)', ), 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='efm_active', type=ValueType(name='int'), doc='implicit effective metric M+K: 0 inactive, 1 active, 2 active + preconditioner exact', # pylint: disable=line-too-long ), StructFieldDecl( name='nefmK', type=ValueType(name='int'), doc='number of non-zeros in effective-stiffness CSR', ), StructFieldDecl( name='nefmdof', type=ValueType(name='int'), doc='number of rows in effective-metric factor', ), StructFieldDecl( name='nefmL', type=ValueType(name='int'), doc='number of non-zeros in the effective-metric factor', ), StructFieldDecl( name='nY', type=ValueType(name='int'), doc='number of non-zeros in constraint inverse inertia square root', # pylint: disable=line-too-long ), 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='ntree_awake', type=ValueType(name='int'), doc='number of awake trees', ), StructFieldDecl( name='nbody_awake', type=ValueType(name='int'), doc='number of awake dynamic and static bodies', ), StructFieldDecl( name='nparent_awake', type=ValueType(name='int'), doc='number of bodies with awake parents', ), StructFieldDecl( name='nv_awake', type=ValueType(name='int'), doc='number of awake dofs', ), StructFieldDecl( name='flg_energypos', type=ValueType(name='mjtBool'), doc='has mj_energyPos been called', ), StructFieldDecl( name='flg_energyvel', type=ValueType(name='mjtBool'), doc='has mj_energyVel been called', ), StructFieldDecl( name='flg_subtreevel', type=ValueType(name='mjtBool'), doc='has mj_subtreeVel been called', ), StructFieldDecl( name='flg_rnepost', type=ValueType(name='mjtBool'), doc='has mj_rnePostConstraint been called', ), 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='history', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='history buffer', array_extent=('nhistory',), ), 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='mjtBool'), ), 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='tree_asleep', type=PointerType( inner_type=ValueType(name='int'), ), doc='<0: awake; >=0: index cycle of sleeping trees', array_extent=('ntree',), ), 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='flexelem_krot', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='corotated element stiffness (implicit only)', array_extent=('nflexstiffness',), ), StructFieldDecl( name='flexedge_J', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='flex edge Jacobian', array_extent=('nJfe',), ), StructFieldDecl( name='flexedge_length', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='flex edge lengths', array_extent=('nflexedge',), ), StructFieldDecl( name='flexvert_J', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='flex vertex Jacobian', array_extent=('nJfv', 2), ), StructFieldDecl( name='flexvert_length', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='flex vertex lengths', array_extent=('nflexvert', 2), ), StructFieldDecl( name='bvh_aabb_dyn', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='global bounding box (center, size)', array_extent=('nbvhdynamic', 6), ), 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', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='tendon Jacobian', array_extent=('nJten',), ), 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, one per force output', array_extent=('nout',), ), StructFieldDecl( name='moment_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of non-zeros in actuator_moment row', array_extent=('nout',), ), StructFieldDecl( name='moment_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='row start address in colind array', array_extent=('nout',), ), 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='M', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='inertia (sparse)', 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_active', type=PointerType( inner_type=ValueType(name='mjtBool'), ), doc='was bounding volume checked for collision', array_extent=('nbvh',), ), StructFieldDecl( name='tree_awake', type=PointerType( inner_type=ValueType(name='int'), ), doc='is tree awake; 0: asleep; 1: awake', array_extent=('ntree',), ), StructFieldDecl( name='body_awake', type=PointerType( inner_type=ValueType(name='int'), ), doc='body sleep state (mjtSleepState)', array_extent=('nbody',), ), StructFieldDecl( name='body_awake_ind', type=PointerType( inner_type=ValueType(name='int'), ), doc='indices of awake and static bodies', array_extent=('nbody',), ), StructFieldDecl( name='parent_awake_ind', type=PointerType( inner_type=ValueType(name='int'), ), doc='indices of bodies with awake or static parents', array_extent=('nbody',), ), StructFieldDecl( name='dof_awake_ind', type=PointerType( inner_type=ValueType(name='int'), ), doc='indices of awake dofs', array_extent=('nv',), ), 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, one per force output', array_extent=('nout',), ), 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_adhesion', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='passive contact adhesion 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='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 (M - dt*qDeriv)', array_extent=('nD',), ), StructFieldDecl( name='actuator_force', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='actuator force in actuation space', array_extent=('nout',), ), StructFieldDecl( name='qfrc_actuator', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='actuator force in joint space', 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_J', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='constraint Jacobian', 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_diagA', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='diagonal of A matrix, approximate or exact', 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='tree_island', type=PointerType( inner_type=ValueType(name='int'), ), doc='island id of this tree; -1: none', array_extent=('ntree',), ), StructFieldDecl( name='island_ntree', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of trees in this island', array_extent=('nisland',), ), StructFieldDecl( name='island_itreeadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='island start address in itree vector', array_extent=('nisland',), ), StructFieldDecl( name='map_itree2tree', type=PointerType( inner_type=ValueType(name='int'), ), doc='map from itree to tree', array_extent=('ntree',), ), 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='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_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_Y_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='number of non-zeros in Y row', array_extent=('nefc',), ), StructFieldDecl( name='efc_Y_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='row start address in Y colind array', array_extent=('nefc',), ), StructFieldDecl( name='efc_Y_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='column indices in sparse Y', array_extent=('nY',), ), StructFieldDecl( name='efc_Y', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='whitened Jacobian Y = J*M^(-1/2)', array_extent=('nY',), ), 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 AR 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='efm_c', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='smooth-force shift h*K*qvel', array_extent=('nv',), ), StructFieldDecl( name='efm_K_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='effective-stiffness CSR row nonzeros', array_extent=('nv',), ), StructFieldDecl( name='efm_K_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='effective-stiffness CSR row addresses', array_extent=('nv',), ), StructFieldDecl( name='efm_K_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='effective-stiffness CSR column indices', array_extent=('nefmK',), ), StructFieldDecl( name='efm_K_val', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='effective-stiffness CSR values', array_extent=('nefmK',), ), StructFieldDecl( name='efm_dofid', type=PointerType( inner_type=ValueType(name='int'), ), doc='factor row -> dof address', array_extent=('nefmdof',), ), StructFieldDecl( name='efm_L_rownnz', type=PointerType( inner_type=ValueType(name='int'), ), doc='factor row nonzeros', array_extent=('nefmdof',), ), StructFieldDecl( name='efm_L_rowadr', type=PointerType( inner_type=ValueType(name='int'), ), doc='factor row addresses', array_extent=('nefmdof',), ), StructFieldDecl( name='efm_L_colind', type=PointerType( inner_type=ValueType(name='int'), ), doc='factor column indices', array_extent=('nefmL',), ), StructFieldDecl( name='efm_L', type=PointerType( inner_type=ValueType(name='mjtNum'), ), doc='Cholesky factor of diag(M)+K, covered dofs', array_extent=('nefmL',), ), 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='signature', type=ValueType(name='uint64_t'), doc='also held by the mjSpec that compiled the model', ), ), )), ('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='mjtBool'), 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='mjtBool'), doc='automatically impose A + B >= C rule', ), StructFieldDecl( name='fitaabb', type=ValueType(name='mjtBool'), doc='meshfit to aabb instead of inertia box', ), StructFieldDecl( name='degree', type=ValueType(name='mjtBool'), 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='mjtBool'), doc='discard visual geoms in parser', ), StructFieldDecl( name='usethread', type=ValueType(name='mjtBool'), doc='use multiple threads to speed up compiler', ), StructFieldDecl( name='fusestatic', type=ValueType(name='mjtBool'), doc='fuse static bodies with parent', ), StructFieldDecl( name='inertiafromgeom', type=ValueType(name='mjtInertiaFromGeom'), doc='use geom inertias', ), 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='mjtBool'), doc='save explicit inertial clause for all bodies to XML', ), StructFieldDecl( name='alignfree', type=ValueType(name='mjtBool'), doc='align free joints with inertial frame', ), StructFieldDecl( name='conflict', type=ValueType(name='mjtConflict'), doc='conflict resolution for attach', ), StructFieldDecl( name='LRopt', type=ValueType(name='mjLROpt'), doc='options for lengthrange computation', ), 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='authored', type=ValueType(name='uint64_t'), doc='bitmask of authored compiler fields', ), ), )), ('mjsAuthored', StructDecl( name='mjsAuthored', declname='struct mjsAuthored_', fields=( StructFieldDecl( name='option', type=ValueType(name='uint64_t'), doc='authored mjOption fields', ), StructFieldDecl( name='disableflags', type=ValueType(name='int'), doc='individual authored disable flags', ), StructFieldDecl( name='enableflags', type=ValueType(name='int'), doc='individual authored enable flags', ), StructFieldDecl( name='disableactuator', type=ValueType(name='int'), doc='individual authored actuator groups', ), StructFieldDecl( name='visual_global', type=ValueType(name='uint64_t'), doc='authored visual.global fields', ), StructFieldDecl( name='visual_quality', type=ValueType(name='uint64_t'), doc='authored visual.quality fields', ), StructFieldDecl( name='visual_headlight', type=ValueType(name='uint64_t'), doc='authored visual.headlight fields', ), StructFieldDecl( name='visual_map', type=ValueType(name='uint64_t'), doc='authored visual.map fields', ), StructFieldDecl( name='visual_scale', type=ValueType(name='uint64_t'), doc='authored visual.scale fields', ), StructFieldDecl( name='visual_rgba', type=ValueType(name='uint64_t'), doc='authored visual.rgba fields', ), ), )), ('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='mjtBool'), doc='automatically strip paths from mesh files', ), 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='mjtSize'), 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='mjtSize'), 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='mjtBool'), doc='already encountered an implicit plugin sensor/actuator', ), StructFieldDecl( name='authored', type=ValueType(name='mjsAuthored'), doc='authored tracking bitmasks for mjModel structs', ), ), )), ('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='mjtBool'), 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='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='mjtBool'), doc='is this a mocap body', ), StructFieldDecl( name='gravcomp', type=ValueType(name='double'), doc='gravity compensation', ), StructFieldDecl( name='sleep', type=ValueType(name='mjtSleepPolicy'), doc='sleep policy', ), StructFieldDecl( name='simple', type=ValueType(name='mjtByte'), doc='simple body optimization (0: false, 1: auto)', ), StructFieldDecl( name='userdata', type=PointerType( inner_type=ValueType(name='mjDoubleVec'), ), doc='user data', ), StructFieldDecl( name='explicitinertial', type=ValueType(name='mjtBool'), 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='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='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='mjtAlignFree'), doc='align free joint with body com', ), StructFieldDecl( name='stiffness', type=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='stiffness coefficients', ), 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='mjtLimited'), doc='does joint have limits', ), 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='mjtLimited'), doc='are actuator forces on joint limited', ), 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=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='damping coefficients', ), 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='mjtBool'), 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='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='additional contact detection buffer', ), StructFieldDecl( name='surfacevel', type=ArrayType( inner_type=ValueType(name='double'), extents=(6,), ), doc='surface velocity in local frame: linear, angular', ), StructFieldDecl( name='adhesion', type=ValueType(name='double'), doc='adhesive force of contacts', ), 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='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='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='proj', type=ValueType(name='mjtProjection'), doc='camera projection type', ), StructFieldDecl( name='resolution', type=ArrayType( inner_type=ValueType(name='int'), extents=(2,), ), doc='resolution (pixel)', ), StructFieldDecl( name='output', type=ValueType(name='int'), doc='bit flags for output type', ), StructFieldDecl( name='fovy', type=ValueType(name='double'), doc='y-field of view', ), StructFieldDecl( name='ipd', type=ValueType(name='double'), doc='inter-pupillary 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='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='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='mjtBool'), doc='is light active', ), StructFieldDecl( name='type', type=ValueType(name='mjtLightType'), doc='type of light', ), StructFieldDecl( name='texture', type=PointerType( inner_type=ValueType(name='mjString'), ), doc='texture name for image lights', ), StructFieldDecl( name='castshadow', type=ValueType(name='mjtBool'), doc='does light cast shadows', ), StructFieldDecl( name='bulbradius', type=ValueType(name='float'), doc='bulb radius, for soft shadows', ), StructFieldDecl( name='intensity', type=ValueType(name='float'), doc='intensity, in candelas', ), StructFieldDecl( name='range', type=ValueType(name='float'), doc='range of effectiveness', ), 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 errors', ), ), )), ('mjsFlex', StructDecl( name='mjsFlex', declname='struct mjsFlex_', fields=( StructFieldDecl( name='element', type=PointerType( inner_type=ValueType(name='mjsElement'), ), doc='element type', ), 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='additional contact detection buffer', ), StructFieldDecl( name='dim', type=ValueType(name='int'), doc='element dimensionality', ), StructFieldDecl( name='radius', type=ValueType(name='double'), doc='radius around primitive element', ), StructFieldDecl( name='size', type=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='vertex bounding box half sizes in qpos0', ), StructFieldDecl( name='internal', type=ValueType(name='mjtBool'), doc='enable internal collisions', ), StructFieldDecl( name='flatskin', type=ValueType(name='mjtBool'), doc='render flex skin with flat shading', ), StructFieldDecl( name='selfcollide', type=ValueType(name='mjtFlexSelf'), doc='mode for flex self collision', ), StructFieldDecl( name='passive', type=ValueType(name='int'), doc='mode for passive collisions', ), 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 visualization', ), 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='elastic2d', type=ValueType(name='int'), doc='2D passive forces; 0: none, 1: bending, 2: stretching, 3: both', # pylint: disable=line-too-long ), StructFieldDecl( name='cellcount', type=ArrayType( inner_type=ValueType(name='int'), extents=(3,), ), doc='grid cell count for finite cell method', ), StructFieldDecl( name='order', type=ValueType(name='int'), doc='interpolation order (1: trilinear, 2: quadratic)', ), 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='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='mjtBool'), doc='do not exclude large-angle faces from normals', ), StructFieldDecl( name='needsdf', type=ValueType(name='mjtBool'), doc='compute sdf from mesh', ), 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='userfacenormal', type=PointerType( inner_type=ValueType(name='mjIntVec'), ), doc='user face normal 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='material', type=PointerType( inner_type=ValueType(name='mjString'), ), doc='name of material', ), StructFieldDecl( name='octree_maxdepth', type=ValueType(name='int'), doc='max octree depth', ), 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='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='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='type', type=ValueType(name='mjtTexture'), doc='texture type', ), StructFieldDecl( name='colorspace', type=ValueType(name='mjtColorSpace'), doc='colorspace', ), StructFieldDecl( name='builtin', type=ValueType(name='mjtBuiltin'), doc='builtin type', ), StructFieldDecl( name='mark', type=ValueType(name='mjtMark'), doc='mark type', ), 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=(12,), ), 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='mjtBool'), doc='horizontal flip', ), StructFieldDecl( name='vflip', type=ValueType(name='mjtBool'), 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='textures', type=PointerType( inner_type=ValueType(name='mjStringVec'), ), doc='names of textures (empty: none)', ), StructFieldDecl( name='texuniform', type=ValueType(name='mjtBool'), 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='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='additional contact detection buffer', ), StructFieldDecl( name='adhesion', type=ValueType(name='double'), doc='adhesive force of contacts', ), 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='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='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='mjtBool'), 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='stiffness', type=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='stiffness coefficients', ), 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=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='damping coefficients', ), 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='mjtLimited'), doc='does tendon have limits', ), StructFieldDecl( name='actfrclimited', type=ValueType(name='mjtLimited'), 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='type', type=ValueType(name='mjtWrap'), doc='wrap 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='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='ctrlspec', type=ValueType(name='int'), doc='input signature, scoped by gaintype; 0: type default', ), StructFieldDecl( name='actearly', type=ValueType(name='mjtBool'), 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='damping', type=ArrayType( inner_type=ValueType(name='double'), extents=(3,), ), doc='damping coefficients', ), StructFieldDecl( name='armature', type=ValueType(name='double'), doc='armature inertia', ), StructFieldDecl( name='ctrllimited', type=ValueType(name='mjtLimited'), doc='are control limits defined', ), StructFieldDecl( name='ctrlrange', type=ArrayType( inner_type=ValueType(name='double'), extents=(2,), ), doc='control range', ), StructFieldDecl( name='forcelimited', type=ValueType(name='mjtLimited'), doc='are force limits defined', ), StructFieldDecl( name='forcerange', type=ArrayType( inner_type=ValueType(name='double'), extents=(2,), ), doc='force range', ), StructFieldDecl( name='actlimited', type=ValueType(name='mjtLimited'), doc='are activation limits defined', ), 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='nsample', type=ValueType(name='int'), doc='number of samples in history buffer', ), StructFieldDecl( name='interp', type=ValueType(name='int'), doc='interpolation order (0=ZOH, 1=linear, 2=cubic)', ), StructFieldDecl( name='delay', type=ValueType(name='double'), doc='delay time in seconds; 0: no delay', ), 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='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='intprm', type=ArrayType( inner_type=ValueType(name='int'), extents=(3,), ), doc='integer parameters', ), 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='nsample', type=ValueType(name='int'), doc='number of samples in history buffer', ), StructFieldDecl( name='interp', type=ValueType(name='int'), doc='interpolation order (0=ZOH, 1=linear, 2=cubic)', ), StructFieldDecl( name='delay', type=ValueType(name='double'), doc='delay time in seconds', ), StructFieldDecl( name='interval', type=ArrayType( inner_type=ValueType(name='double'), extents=(2,), ), doc='[period, time_prev] in seconds', ), 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='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='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='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='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='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', ), ), )), ('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; mesh: 2*id or 2*id+1 (hull)', # pylint: disable=line-too-long ), 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='texid', type=ValueType(name='int'), doc='texture id; -1: none', ), StructFieldDecl( name='texuniform', type=ValueType(name='int'), doc='uniform cube mapping', ), 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='texrepeat', type=ArrayType( inner_type=ValueType(name='float'), extents=(2,), ), doc='texture repetition for 2d mapping', ), 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='id', type=ValueType(name='int'), doc='light id, -1 for headlight', ), 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='type', type=ValueType(name='int'), doc='type (mjtLightType)', ), StructFieldDecl( name='texid', type=ValueType(name='int'), doc='texture id for image lights', ), 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='castshadow', type=ValueType(name='mjtByte'), doc='does light cast shadows', ), StructFieldDecl( name='bulbradius', type=ValueType(name='float'), doc='bulb radius for soft shadows', ), StructFieldDecl( name='intensity', type=ValueType(name='float'), doc='intensity, in candelas', ), StructFieldDecl( name='range', type=ValueType(name='float'), doc='range of effectiveness', ), ), )), ('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=(31,), ), 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=(11,), ), 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', ), StructFieldDecl( name='status', type=ValueType(name='int'), doc='0: ok, 1: geoms exhausted, warning issued', ), ), )), ('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, 2002), ), 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', ), ), )), ('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)', ), ), )), ('mjrRendererInfo', StructDecl( name='mjrRendererInfo', declname='struct mjrRendererInfo_', fields=( StructFieldDecl( name='renderer', type=PointerType( inner_type=ValueType(name='char', is_const=True), ), doc='renderer family: classic, filament, noop', ), StructFieldDecl( name='backend', type=PointerType( inner_type=ValueType(name='char', is_const=True), ), doc='graphics backend: opengl, vulkan; empty if uninitialized', ), ), )), ('mjrVertexAttribute', StructDecl( name='mjrVertexAttribute', declname='struct mjrVertexAttribute_', fields=( StructFieldDecl( name='bytes', type=PointerType( inner_type=ValueType(name='void', is_const=True), ), doc='vertex data', ), StructFieldDecl( name='usage', type=ValueType(name='int'), doc='position, normal, etc [mjrVertexAttributeUsage]', ), StructFieldDecl( name='type', type=ValueType(name='int'), doc='float3, ubyte4, etc. [mjrVertexAttributeType]', ), ), )), ('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='character 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', ), ), )), ('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', ), ), )), ])