5fb47df197
PiperOrigin-RevId: 861763477 Change-Id: Ib613c56949264573a16306800658f868d2aa7665
11782 lines
409 KiB
Python
11782 lines
409 KiB
Python
# Copyright 2023 DeepMind Technologies Limited
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
# ==============================================================================
|
|
"""Provides information about MuJoCo API structs.
|
|
|
|
DO NOT EDIT. THIS FILE IS AUTOMATICALLY GENERATED.
|
|
"""
|
|
|
|
from typing import Mapping
|
|
|
|
from .ast_nodes import AnonymousStructDecl
|
|
from .ast_nodes import AnonymousUnionDecl
|
|
from .ast_nodes import ArrayType
|
|
from .ast_nodes import PointerType
|
|
from .ast_nodes import StructDecl
|
|
from .ast_nodes import StructFieldDecl
|
|
from .ast_nodes import ValueType
|
|
|
|
STRUCTS: Mapping[str, StructDecl] = dict([
|
|
('mjLROpt',
|
|
StructDecl(
|
|
name='mjLROpt',
|
|
declname='struct mjLROpt_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='mode',
|
|
type=ValueType(name='int'),
|
|
doc='which actuators to process (mjtLRMode)',
|
|
),
|
|
StructFieldDecl(
|
|
name='useexisting',
|
|
type=ValueType(name='int'),
|
|
doc='use existing length range if available',
|
|
),
|
|
StructFieldDecl(
|
|
name='uselimit',
|
|
type=ValueType(name='int'),
|
|
doc='use joint and tendon limits if available',
|
|
),
|
|
StructFieldDecl(
|
|
name='accel',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='target acceleration used to compute force',
|
|
),
|
|
StructFieldDecl(
|
|
name='maxforce',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='maximum force; 0: no limit',
|
|
),
|
|
StructFieldDecl(
|
|
name='timeconst',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='time constant for velocity reduction; min 0.01',
|
|
),
|
|
StructFieldDecl(
|
|
name='timestep',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='simulation timestep; 0: use mjOption.timestep',
|
|
),
|
|
StructFieldDecl(
|
|
name='inttotal',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='total simulation time interval',
|
|
),
|
|
StructFieldDecl(
|
|
name='interval',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='evaluation time interval (at the end)',
|
|
),
|
|
StructFieldDecl(
|
|
name='tolrange',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='convergence tolerance (relative to range)',
|
|
),
|
|
),
|
|
)),
|
|
('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 actuators/controls = dim(ctrl)',
|
|
),
|
|
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='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='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='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='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='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',
|
|
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_group',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='group for visibility',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_limited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='does joint have limits',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_actfrclimited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='does joint have actuator force limits',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_actgravcomp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='is gravcomp force applied via actuators',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_solref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference: limit',
|
|
array_extent=('njnt', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_solimp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance: limit',
|
|
array_extent=('njnt', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_pos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='local anchor position',
|
|
array_extent=('njnt', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_axis',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='local joint axis',
|
|
array_extent=('njnt', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_stiffness',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='stiffness coefficient',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_range',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='joint limits',
|
|
array_extent=('njnt', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_actfrcrange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='range of total actuator force',
|
|
array_extent=('njnt', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_margin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='min distance for limit detection',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='jnt_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('njnt', 'nuser_jnt'),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_bodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of dof's body",
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_jntid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of dof's joint",
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_parentid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of dof's parent; -1: none",
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_treeid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of dof's kinematic tree",
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_Madr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='dof address in M-diagonal',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_simplenum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of consecutive simple dofs',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_solref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference:frictionloss',
|
|
array_extent=('nv', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_solimp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance:frictionloss',
|
|
array_extent=('nv', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_frictionloss',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='dof friction loss',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_armature',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='dof armature inertia/mass',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_damping',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='damping coefficient',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_invweight0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='diag. inverse inertia in qpos0',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='dof_M0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='diag. inertia in qpos0',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='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='detect contact if dist<margin',
|
|
array_extent=('ngeom',),
|
|
),
|
|
StructFieldDecl(
|
|
name='geom_gap',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='include in solver if dist<margin-gap',
|
|
array_extent=('ngeom',),
|
|
),
|
|
StructFieldDecl(
|
|
name='geom_fluid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='fluid interaction parameters',
|
|
array_extent=('ngeom', 'mjNFLUID'),
|
|
),
|
|
StructFieldDecl(
|
|
name='geom_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('ngeom', 'nuser_geom'),
|
|
),
|
|
StructFieldDecl(
|
|
name='geom_rgba',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
array_extent=('ngeom', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='geom type for rendering (mjtGeom)',
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_bodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of site's body",
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_matid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='material id for rendering; -1: none',
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_group',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='group for visibility',
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_sameframe',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='same frame as body (mjtSameframe)',
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_size',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='geom size for rendering',
|
|
array_extent=('nsite', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_pos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='local position offset rel. to body',
|
|
array_extent=('nsite', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_quat',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='local orientation offset rel. to body',
|
|
array_extent=('nsite', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('nsite', 'nuser_site'),
|
|
),
|
|
StructFieldDecl(
|
|
name='site_rgba',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
array_extent=('nsite', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_mode',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='camera tracking mode (mjtCamLight)',
|
|
array_extent=('ncam',),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_bodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="id of camera's body",
|
|
array_extent=('ncam',),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_targetbodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of targeted body; -1: none',
|
|
array_extent=('ncam',),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_pos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='position rel. to body frame',
|
|
array_extent=('ncam', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_quat',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='orientation rel. to body frame',
|
|
array_extent=('ncam', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_poscom0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global position rel. to sub-com in qpos0',
|
|
array_extent=('ncam', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_pos0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global position rel. to body in qpos0',
|
|
array_extent=('ncam', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_mat0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global orientation in qpos0',
|
|
array_extent=('ncam', 9),
|
|
),
|
|
StructFieldDecl(
|
|
name='cam_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='mjtByte'),
|
|
),
|
|
doc='does light cast shadows',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_bulbradius',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='light radius for soft shadows',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_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='mjtByte'),
|
|
),
|
|
doc='is light on',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_pos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='position rel. to body frame',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_dir',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='direction rel. to body frame',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_poscom0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global position rel. to sub-com in qpos0',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_pos0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global position rel. to body in qpos0',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_dir0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='global direction in qpos0',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_attenuation',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='OpenGL attenuation (quadratic model)',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_cutoff',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='OpenGL cutoff',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_exponent',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='OpenGL exponent',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_ambient',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='ambient rgb (alpha=1)',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_diffuse',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='diffuse rgb (alpha=1)',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='light_specular',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='specular rgb (alpha=1)',
|
|
array_extent=('nlight', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_contype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='flex contact type',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_conaffinity',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='flex contact affinity',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_condim',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='contact dimensionality (1, 3, 4, 6)',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_priority',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='flex contact priority',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_solmix',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='mix coef for solref/imp in contact pair',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_solref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference: contact',
|
|
array_extent=('nflex', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_solimp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance: contact',
|
|
array_extent=('nflex', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_friction',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='friction for (slide, spin, roll)',
|
|
array_extent=('nflex', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_margin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='detect contact if dist<margin',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_gap',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='include in solver if dist<margin-gap',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_internal',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='internal flex collision enabled',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_selfcollide',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='self collision mode (mjtFlexSelf)',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_activelayers',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of active element layers, 3D only',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_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_nodeadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first node address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_nodenum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of nodes',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_vertadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first vertex address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_vertnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of vertices',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_edgeadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first edge address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_edgenum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of edges',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_elemadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first element address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_elemnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of elements',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_elemdataadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first element vertex id address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_elemedgeadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first element edge id address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_shellnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of shells',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_shelldataadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first shell data address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_evpairadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first evpair address',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_evpairnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of evpairs',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_texcoordadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address in flex_texcoord; -1: none',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_nodebodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='node body ids',
|
|
array_extent=('nflexnode',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_vertbodyid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='vertex body ids',
|
|
array_extent=('nflexvert',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_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=('nflexelem', 21),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_bending',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='bending stiffness',
|
|
array_extent=('nflexedge', 17),
|
|
),
|
|
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',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_rigid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='are all vertices in the same body',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flexedge_rigid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='are both edge vertices in same body',
|
|
array_extent=('nflexedge',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_centered',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='are all vertex coordinates (0,0,0)',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_flatskin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='render flex skin with flat shading',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_bvhadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address of bvh root; -1: no bvh',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='flex_bvhnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of bounding volumes',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='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='int'),
|
|
),
|
|
doc='start address in tex_data',
|
|
array_extent=('ntex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tex_data',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='pixel values',
|
|
array_extent=('ntexdata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tex_pathadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address of texture asset path; -1: none',
|
|
array_extent=('ntex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_texid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='indices of textures; -1: none',
|
|
array_extent=('nmat', 'mjNTEXROLE'),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_texuniform',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='make texture cube uniform',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_texrepeat',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='texture repetition for 2d mapping',
|
|
array_extent=('nmat', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_emission',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='emission (x rgb)',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_specular',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='specular (x white)',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_shininess',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='shininess coef',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_reflectance',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='reflectance (0: disable)',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_metallic',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='metallic coef',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_roughness',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='roughness coef',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mat_rgba',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='rgba',
|
|
array_extent=('nmat', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_dim',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='contact dimensionality',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_geom1',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of geom1',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_geom2',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of geom2',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_signature',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='body1 << 16 + body2',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_solref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='solver reference: contact normal',
|
|
array_extent=('npair', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_solreffriction',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='solver reference: contact friction',
|
|
array_extent=('npair', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_solimp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='solver impedance: contact',
|
|
array_extent=('npair', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_margin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='detect contact if dist<margin',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_gap',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='include in solver if dist<margin-gap',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='pair_friction',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='tangent1, 2, spin, roll1, 2',
|
|
array_extent=('npair', 5),
|
|
),
|
|
StructFieldDecl(
|
|
name='exclude_signature',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='body1 << 16 + body2',
|
|
array_extent=('nexclude',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='constraint type (mjtEq)',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_obj1id',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of object 1',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_obj2id',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of object 2',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_objtype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='type of both objects (mjtObj)',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_active0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='initial enable/disable constraint state',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_solref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference',
|
|
array_extent=('neq', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_solimp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance',
|
|
array_extent=('neq', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_data',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='numeric data for constraint',
|
|
array_extent=('neq', 'mjNEQDATA'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_adr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="address of first object in tendon's path",
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_num',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="number of objects in tendon's path",
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_matid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='material id for rendering',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_group',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='group for visibility',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_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='tendon_limited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='does tendon have length limits',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_actfrclimited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='does tendon have actuator force limits',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_width',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='width for rendering',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_solref_lim',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference: limit',
|
|
array_extent=('ntendon', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_solimp_lim',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance: limit',
|
|
array_extent=('ntendon', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_solref_fri',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver reference: friction',
|
|
array_extent=('ntendon', 'mjNREF'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_solimp_fri',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint solver impedance: friction',
|
|
array_extent=('ntendon', 'mjNIMP'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_range',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='tendon length limits',
|
|
array_extent=('ntendon', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_actfrcrange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='range of total actuator force',
|
|
array_extent=('ntendon', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_margin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='min distance for limit detection',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_stiffness',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='stiffness coefficient',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_damping',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='damping coefficient',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_armature',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='inertia associated with tendon velocity',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_frictionloss',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='loss due to friction',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_lengthspring',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='spring resting length range',
|
|
array_extent=('ntendon', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_length0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='tendon length in qpos0',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_invweight0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='inv. weight in qpos0',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('ntendon', 'nuser_tendon'),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_rgba',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='float'),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
array_extent=('ntendon', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='wrap_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='wrap object type (mjtWrap)',
|
|
array_extent=('nwrap',),
|
|
),
|
|
StructFieldDecl(
|
|
name='wrap_objid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='object id: geom, site, joint',
|
|
array_extent=('nwrap',),
|
|
),
|
|
StructFieldDecl(
|
|
name='wrap_prm',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='divisor, joint coef, or site id',
|
|
array_extent=('nwrap',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_trntype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='transmission type (mjtTrn)',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_dyntype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='dynamics type (mjtDyn)',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_gaintype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='gain type (mjtGain)',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_biastype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='bias type (mjtBias)',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_trnid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='transmission id: joint, tendon, site',
|
|
array_extent=('nu', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_actadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first activation address; -1: stateless',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_actnum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of activation variables',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_group',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='group for visibility',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_ctrllimited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='is control limited',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_forcelimited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='is force limited',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_actlimited',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='is activation limited',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_dynprm',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='dynamics parameters',
|
|
array_extent=('nu', 'mjNDYN'),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_gainprm',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='gain parameters',
|
|
array_extent=('nu', 'mjNGAIN'),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_biasprm',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='bias parameters',
|
|
array_extent=('nu', 'mjNBIAS'),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_actearly',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='step activation before force',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_ctrlrange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='range of controls',
|
|
array_extent=('nu', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_forcerange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='range of forces',
|
|
array_extent=('nu', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_actrange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='range of activations',
|
|
array_extent=('nu', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_gear',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='scale length and transmitted force',
|
|
array_extent=('nu', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_cranklength',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='crank length for slider-crank',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_acc0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='acceleration from unit force in qpos0',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_length0',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='actuator length in qpos0',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_lengthrange',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='feasible actuator length range',
|
|
array_extent=('nu', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('nu', 'nuser_actuator'),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_plugin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='plugin instance id; -1: not a plugin',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='sensor type (mjtSensor)',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_datatype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='numeric data type (mjtDataType)',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_needstage',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='required compute stage (mjtStage)',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_objtype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='type of sensorized object (mjtObj)',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_objid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of sensorized object',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_reftype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='type of reference frame (mjtObj)',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_refid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of reference frame; -1: global frame',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_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_user',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data',
|
|
array_extent=('nsensor', 'nuser_sensor'),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensor_plugin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='plugin instance id; -1: not a plugin',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='globally registered plugin slot number',
|
|
array_extent=('nplugin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_stateadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address in the plugin state array',
|
|
array_extent=('nplugin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_statenum',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of states in the plugin instance',
|
|
array_extent=('nplugin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_attr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='char'),
|
|
),
|
|
doc='config attributes of plugin instances',
|
|
array_extent=('npluginattr',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_attradr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc="address to each instance's config attrib",
|
|
array_extent=('nplugin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='numeric_adr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address of field in numeric_data',
|
|
array_extent=('nnumeric',),
|
|
),
|
|
StructFieldDecl(
|
|
name='numeric_size',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='size of numeric field',
|
|
array_extent=('nnumeric',),
|
|
),
|
|
StructFieldDecl(
|
|
name='numeric_data',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='array of all numeric fields',
|
|
array_extent=('nnumericdata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='text_adr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address of text in text_data',
|
|
array_extent=('ntext',),
|
|
),
|
|
StructFieldDecl(
|
|
name='text_size',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='size of text field (strlen+1)',
|
|
array_extent=('ntext',),
|
|
),
|
|
StructFieldDecl(
|
|
name='text_data',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='char'),
|
|
),
|
|
doc='array of all text fields (0-terminated)',
|
|
array_extent=('ntextdata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tuple_adr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='address of text in text_data',
|
|
array_extent=('ntuple',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tuple_size',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of objects in tuple',
|
|
array_extent=('ntuple',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tuple_objtype',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='array of object types in all tuples',
|
|
array_extent=('ntupledata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tuple_objid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='array of object ids in all tuples',
|
|
array_extent=('ntupledata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tuple_objprm',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='array of object params in all tuples',
|
|
array_extent=('ntupledata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_time',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key time',
|
|
array_extent=('nkey',),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_qpos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key position',
|
|
array_extent=('nkey', 'nq'),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_qvel',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key velocity',
|
|
array_extent=('nkey', 'nv'),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_act',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key activation',
|
|
array_extent=('nkey', 'na'),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_mpos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key mocap position',
|
|
array_extent=('nkey', 'nmocap*3'),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_mquat',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key mocap quaternion',
|
|
array_extent=('nkey', 'nmocap*4'),
|
|
),
|
|
StructFieldDecl(
|
|
name='key_ctrl',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='key control',
|
|
array_extent=('nkey', 'nu'),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_bodyadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='body name pointers',
|
|
array_extent=('nbody',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_jntadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='joint name pointers',
|
|
array_extent=('njnt',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_geomadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='geom name pointers',
|
|
array_extent=('ngeom',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_siteadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='site name pointers',
|
|
array_extent=('nsite',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_camadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='camera name pointers',
|
|
array_extent=('ncam',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_lightadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='light name pointers',
|
|
array_extent=('nlight',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_flexadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='flex name pointers',
|
|
array_extent=('nflex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_meshadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='mesh name pointers',
|
|
array_extent=('nmesh',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_skinadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='skin name pointers',
|
|
array_extent=('nskin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_hfieldadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='hfield name pointers',
|
|
array_extent=('nhfield',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_texadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='texture name pointers',
|
|
array_extent=('ntex',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_matadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='material name pointers',
|
|
array_extent=('nmat',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_pairadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='geom pair name pointers',
|
|
array_extent=('npair',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_excludeadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='exclude name pointers',
|
|
array_extent=('nexclude',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_eqadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='equality constraint name pointers',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_tendonadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='tendon name pointers',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_actuatoradr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='actuator name pointers',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_sensoradr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='sensor name pointers',
|
|
array_extent=('nsensor',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_numericadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='numeric name pointers',
|
|
array_extent=('nnumeric',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_textadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='text name pointers',
|
|
array_extent=('ntext',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_tupleadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='tuple name pointers',
|
|
array_extent=('ntuple',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_keyadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='keyframe name pointers',
|
|
array_extent=('nkey',),
|
|
),
|
|
StructFieldDecl(
|
|
name='name_pluginadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='plugin instance name pointers',
|
|
array_extent=('nplugin',),
|
|
),
|
|
StructFieldDecl(
|
|
name='names',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='char'),
|
|
),
|
|
doc='names of all objects, 0-terminated',
|
|
array_extent=('nnames',),
|
|
),
|
|
StructFieldDecl(
|
|
name='names_map',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='internal hash map of names',
|
|
array_extent=('nnames_map',),
|
|
),
|
|
StructFieldDecl(
|
|
name='paths',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='char'),
|
|
),
|
|
doc='paths to assets, 0-terminated',
|
|
array_extent=('npaths',),
|
|
),
|
|
StructFieldDecl(
|
|
name='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',
|
|
),
|
|
),
|
|
)),
|
|
('mjThreadPool',
|
|
StructDecl(
|
|
name='mjThreadPool',
|
|
declname='struct mjThreadPool_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='nworker',
|
|
type=ValueType(name='int'),
|
|
doc='number of workers in the pool',
|
|
),
|
|
),
|
|
)),
|
|
('mjTask',
|
|
StructDecl(
|
|
name='mjTask',
|
|
declname='struct mjTask_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='func',
|
|
type=ValueType(name='mjfTask'),
|
|
doc='pointer to the function that implements the task',
|
|
),
|
|
StructFieldDecl(
|
|
name='args',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='void'),
|
|
),
|
|
doc='arguments to func',
|
|
),
|
|
StructFieldDecl(
|
|
name='status',
|
|
type=ValueType(name='int', is_volatile=True),
|
|
doc='status of the task',
|
|
),
|
|
),
|
|
)),
|
|
('mjContact',
|
|
StructDecl(
|
|
name='mjContact',
|
|
declname='struct mjContact_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='dist',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='distance between nearest points; neg: penetration',
|
|
),
|
|
StructFieldDecl(
|
|
name='pos',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(3,),
|
|
),
|
|
doc='position of contact point: midpoint between geoms',
|
|
),
|
|
StructFieldDecl(
|
|
name='frame',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(9,),
|
|
),
|
|
doc='normal is in [0-2], points from geom[0] to geom[1]',
|
|
),
|
|
StructFieldDecl(
|
|
name='includemargin',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='include if dist<includemargin=margin-gap',
|
|
),
|
|
StructFieldDecl(
|
|
name='friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='tangent1, 2, spin, roll1, 2',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='constraint solver reference, normal direction',
|
|
),
|
|
StructFieldDecl(
|
|
name='solreffriction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='constraint solver reference, friction directions',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='constraint solver impedance',
|
|
),
|
|
StructFieldDecl(
|
|
name='mu',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='friction of regularized cone, set by mj_makeConstraint',
|
|
),
|
|
StructFieldDecl(
|
|
name='H',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(36,),
|
|
),
|
|
doc='cone Hessian, set by mj_constraintUpdate',
|
|
),
|
|
StructFieldDecl(
|
|
name='dim',
|
|
type=ValueType(name='int'),
|
|
doc='contact space dimensionality: 1, 3, 4 or 6',
|
|
),
|
|
StructFieldDecl(
|
|
name='geom1',
|
|
type=ValueType(name='int'),
|
|
doc='id of geom 1; deprecated, use geom[0]',
|
|
),
|
|
StructFieldDecl(
|
|
name='geom2',
|
|
type=ValueType(name='int'),
|
|
doc='id of geom 2; deprecated, use geom[1]',
|
|
),
|
|
StructFieldDecl(
|
|
name='geom',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='geom ids; -1 for flex',
|
|
),
|
|
StructFieldDecl(
|
|
name='flex',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='flex ids; -1 for geom',
|
|
),
|
|
StructFieldDecl(
|
|
name='elem',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='element ids; -1 for geom or flex vertex',
|
|
),
|
|
StructFieldDecl(
|
|
name='vert',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='vertex ids; -1 for geom or flex element',
|
|
),
|
|
StructFieldDecl(
|
|
name='exclude',
|
|
type=ValueType(name='int'),
|
|
doc='0: include, 1: in gap, 2: fused, 3: no dofs, 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='maxuse_stack',
|
|
type=ValueType(name='mjtSize'),
|
|
doc='maximum stack allocation in bytes (mutable)',
|
|
),
|
|
StructFieldDecl(
|
|
name='maxuse_threadstack',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtSize'),
|
|
extents=(128,),
|
|
),
|
|
doc='maximum stack allocation per thread in bytes',
|
|
),
|
|
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 Hessian or efc_AR, per island',
|
|
),
|
|
StructFieldDecl(
|
|
name='solver_fwdinv',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='forward-inverse comparison: qfrc, efc',
|
|
),
|
|
StructFieldDecl(
|
|
name='warning',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjWarningStat'),
|
|
extents=(8,),
|
|
),
|
|
doc='warning statistics (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='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='mjtByte'),
|
|
doc='has mj_energyPos been called',
|
|
),
|
|
StructFieldDecl(
|
|
name='flg_energyvel',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='has mj_energyVel been called',
|
|
),
|
|
StructFieldDecl(
|
|
name='flg_subtreevel',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='has mj_subtreeVel been called',
|
|
),
|
|
StructFieldDecl(
|
|
name='flg_rnepost',
|
|
type=ValueType(name='mjtByte'),
|
|
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='qacc_warmstart',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='acceleration used for warmstart',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_state',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='plugin state',
|
|
array_extent=('npluginstate',),
|
|
),
|
|
StructFieldDecl(
|
|
name='ctrl',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='control',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_applied',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='applied generalized force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='xfrc_applied',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='applied Cartesian force/torque',
|
|
array_extent=('nbody', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='eq_active',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
doc='enable/disable constraints',
|
|
array_extent=('neq',),
|
|
),
|
|
StructFieldDecl(
|
|
name='mocap_pos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='positions of mocap bodies',
|
|
array_extent=('nmocap', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='mocap_quat',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='orientations of mocap bodies',
|
|
array_extent=('nmocap', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='qacc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='acceleration',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='act_dot',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='time-derivative of actuator activation',
|
|
array_extent=('na',),
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='user data, not touched by engine',
|
|
array_extent=('nuserdata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='sensordata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='sensor data array',
|
|
array_extent=('nsensordata',),
|
|
),
|
|
StructFieldDecl(
|
|
name='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='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_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of non-zeros in Jacobian row',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='ten_J_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='row start address in colind array',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='ten_J_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='column indices in sparse Jacobian',
|
|
array_extent=('ntendon', 'nv'),
|
|
),
|
|
StructFieldDecl(
|
|
name='ten_J',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='tendon Jacobian',
|
|
array_extent=('ntendon', 'nv'),
|
|
),
|
|
StructFieldDecl(
|
|
name='ten_length',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='tendon lengths',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='wrap_obj',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='geom id; -1: site; -2: pulley',
|
|
array_extent=('nwrap', 2),
|
|
),
|
|
StructFieldDecl(
|
|
name='wrap_xpos',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='Cartesian 3D points in all paths',
|
|
array_extent=('nwrap', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_length',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='actuator lengths',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='moment_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of non-zeros in actuator_moment row',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='moment_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='row start address in colind array',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='moment_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='column indices in sparse Jacobian',
|
|
array_extent=('nJmom',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_moment',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='actuator moments',
|
|
array_extent=('nJmom',),
|
|
),
|
|
StructFieldDecl(
|
|
name='crb',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='com-based composite inertia and mass',
|
|
array_extent=('nbody', 10),
|
|
),
|
|
StructFieldDecl(
|
|
name='qM',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='inertia (sparse)',
|
|
array_extent=('nM',),
|
|
),
|
|
StructFieldDecl(
|
|
name='M',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='reduced inertia (compressed sparse row)',
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qLD',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="L'*D*L factorization of M (sparse)",
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qLDiagInv',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='1/diag(D)',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='bvh_active',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtByte'),
|
|
),
|
|
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',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='cvel',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='com-based velocity (rot:lin)',
|
|
array_extent=('nbody', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='cdof_dot',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='time-derivative of cdof (rot:lin)',
|
|
array_extent=('nv', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_bias',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='C(qpos,qvel)',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_spring',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='passive spring force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_damper',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='passive damper force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_gravcomp',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='passive gravity compensation force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_fluid',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='passive fluid force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_passive',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='total passive force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='subtree_linvel',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='linear velocity of subtree com',
|
|
array_extent=('nbody', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='subtree_angmom',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='angular momentum about subtree com',
|
|
array_extent=('nbody', 3),
|
|
),
|
|
StructFieldDecl(
|
|
name='qH',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="L'*D*L factorization of modified M",
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qHDiagInv',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='1/diag(D) of modified M',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qDeriv',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='d (passive + actuator - bias) / d qvel',
|
|
array_extent=('nD',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qLU',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='sparse LU of (qM - dt*qDeriv)',
|
|
array_extent=('nD',),
|
|
),
|
|
StructFieldDecl(
|
|
name='actuator_force',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='actuator force in actuation space',
|
|
array_extent=('nu',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_actuator',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='actuator force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_smooth',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='net unconstrained force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qacc_smooth',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='unconstrained acceleration',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_constraint',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint force',
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='qfrc_inverse',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="net external force; should equal: qfrc_applied + J'*xfrc_applied + qfrc_actuator", # pylint: disable=line-too-long
|
|
array_extent=('nv',),
|
|
),
|
|
StructFieldDecl(
|
|
name='cacc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='com-based acceleration',
|
|
array_extent=('nbody', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='cfrc_int',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='com-based interaction force with parent',
|
|
array_extent=('nbody', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='cfrc_ext',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='com-based external force on body',
|
|
array_extent=('nbody', 6),
|
|
),
|
|
StructFieldDecl(
|
|
name='contact',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjContact'),
|
|
),
|
|
doc='array of all detected contacts',
|
|
array_extent=('ncon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='constraint type (mjtConstraint)',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_id',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of object of specified type',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_J_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of non-zeros in constraint Jacobian row',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_J_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='row start address in colind array',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_J_rowsuper',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of subsequent rows in supernode',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_J_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='column indices in constraint Jacobian',
|
|
array_extent=('nJ',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_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_diagApprox',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='approximation to diagonal of A',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_KBIP',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="stiffness, damping, impedance, imp'",
|
|
array_extent=('nefc', 4),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_D',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint mass',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_R',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='inverse constraint mass',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='tendon_efcadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='first efc address involving tendon; -1: none',
|
|
array_extent=('ntendon',),
|
|
),
|
|
StructFieldDecl(
|
|
name='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='iM_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='inertia: non-zeros in each row',
|
|
array_extent=('nidof',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iM_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='inertia: address of each row in iM_colind',
|
|
array_extent=('nidof',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iM_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='inertia: column indices of non-zeros',
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iM',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='total inertia (sparse)',
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iLD',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="L'*D*L factorization of M (sparse)",
|
|
array_extent=('nC',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iLDiagInv',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='1/diag(D)',
|
|
array_extent=('nidof',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iacc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='acceleration',
|
|
array_extent=('nidof',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_island',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='island id of this constraint',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='island_ne',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of equality constraints in island',
|
|
array_extent=('nisland',),
|
|
),
|
|
StructFieldDecl(
|
|
name='island_nf',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of friction constraints in island',
|
|
array_extent=('nisland',),
|
|
),
|
|
StructFieldDecl(
|
|
name='island_nefc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of constraints in island',
|
|
array_extent=('nisland',),
|
|
),
|
|
StructFieldDecl(
|
|
name='island_iefcadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='start address in iefc vector',
|
|
array_extent=('nisland',),
|
|
),
|
|
StructFieldDecl(
|
|
name='map_efc2iefc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='map from efc to iefc',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='map_iefc2efc',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='map from iefc to efc',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='constraint type (mjtConstraint)',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_id',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='id of object of specified type',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_J_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of non-zeros in constraint Jacobian row',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_J_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='row start address in colind array',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_J_rowsuper',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of subsequent rows in supernode',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_J_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='column indices in constraint Jacobian',
|
|
array_extent=('nJ',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_J',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint Jacobian',
|
|
array_extent=('nJ',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_frictionloss',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='frictionloss (friction)',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_D',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint mass',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_R',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='inverse constraint mass',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_AR_rownnz',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='number of non-zeros in AR',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_AR_rowadr',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='row start address in colind array',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_AR_colind',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='column indices in sparse AR',
|
|
array_extent=('nA',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_AR',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc="J*inv(M)*J' + R",
|
|
array_extent=('nA',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_vel',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='velocity in constraint space: J*qvel',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_aref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='reference pseudo-acceleration',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_b',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='linear cost term: J*qacc_smooth - aref',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_aref',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='reference pseudo-acceleration',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_state',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='constraint state (mjtConstraintState)',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='iefc_force',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint force in constraint space',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_state',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='int'),
|
|
),
|
|
doc='constraint state (mjtConstraintState)',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='efc_force',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint force in constraint space',
|
|
array_extent=('nefc',),
|
|
),
|
|
StructFieldDecl(
|
|
name='ifrc_constraint',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
),
|
|
doc='constraint force',
|
|
array_extent=('nidof',),
|
|
),
|
|
StructFieldDecl(
|
|
name='threadpool',
|
|
type=ValueType(name='uintptr_t'),
|
|
doc='thread pool pointer',
|
|
),
|
|
StructFieldDecl(
|
|
name='signature',
|
|
type=ValueType(name='uint64_t'),
|
|
doc='also held by the mjSpec that compiled the model',
|
|
),
|
|
),
|
|
)),
|
|
('mjsElement',
|
|
StructDecl(
|
|
name='mjsElement',
|
|
declname='struct mjsElement_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='elemtype',
|
|
type=ValueType(name='mjtObj'),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='signature',
|
|
type=ValueType(name='uint64_t'),
|
|
doc='compilation signature',
|
|
),
|
|
),
|
|
)),
|
|
('mjsCompiler',
|
|
StructDecl(
|
|
name='mjsCompiler',
|
|
declname='struct mjsCompiler_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='autolimits',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='infer "limited" attribute based on range',
|
|
),
|
|
StructFieldDecl(
|
|
name='boundmass',
|
|
type=ValueType(name='double'),
|
|
doc='enforce minimum body mass',
|
|
),
|
|
StructFieldDecl(
|
|
name='boundinertia',
|
|
type=ValueType(name='double'),
|
|
doc='enforce minimum body diagonal inertia',
|
|
),
|
|
StructFieldDecl(
|
|
name='settotalmass',
|
|
type=ValueType(name='double'),
|
|
doc='rescale masses and inertias; <=0: ignore',
|
|
),
|
|
StructFieldDecl(
|
|
name='balanceinertia',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='automatically impose A + B >= C rule',
|
|
),
|
|
StructFieldDecl(
|
|
name='fitaabb',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='meshfit to aabb instead of inertia box',
|
|
),
|
|
StructFieldDecl(
|
|
name='degree',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='angles in radians or degrees',
|
|
),
|
|
StructFieldDecl(
|
|
name='eulerseq',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='char'),
|
|
extents=(3,),
|
|
),
|
|
doc='sequence for euler rotations',
|
|
),
|
|
StructFieldDecl(
|
|
name='discardvisual',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='discard visual geoms in parser',
|
|
),
|
|
StructFieldDecl(
|
|
name='usethread',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='use multiple threads to speed up compiler',
|
|
),
|
|
StructFieldDecl(
|
|
name='fusestatic',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='fuse static bodies with parent',
|
|
),
|
|
StructFieldDecl(
|
|
name='inertiafromgeom',
|
|
type=ValueType(name='int'),
|
|
doc='use geom inertias (mjtInertiaFromGeom)',
|
|
),
|
|
StructFieldDecl(
|
|
name='inertiagrouprange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='range of geom groups used to compute inertia',
|
|
),
|
|
StructFieldDecl(
|
|
name='saveinertial',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='save explicit inertial clause for all bodies to XML',
|
|
),
|
|
StructFieldDecl(
|
|
name='alignfree',
|
|
type=ValueType(name='int'),
|
|
doc='align free joints with inertial frame',
|
|
),
|
|
StructFieldDecl(
|
|
name='LRopt',
|
|
type=ValueType(name='mjLROpt'),
|
|
doc='options for lengthrange computation',
|
|
),
|
|
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',
|
|
),
|
|
),
|
|
)),
|
|
('mjSpec',
|
|
StructDecl(
|
|
name='mjSpec',
|
|
declname='struct mjSpec_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='modelname',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='model name',
|
|
),
|
|
StructFieldDecl(
|
|
name='compiler',
|
|
type=ValueType(name='mjsCompiler'),
|
|
doc='compiler options',
|
|
),
|
|
StructFieldDecl(
|
|
name='strippath',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='automatically strip paths from mesh files',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='mjtByte'),
|
|
doc='already encountered an implicit plugin sensor/actuator',
|
|
),
|
|
),
|
|
)),
|
|
('mjsOrientation',
|
|
StructDecl(
|
|
name='mjsOrientation',
|
|
declname='struct mjsOrientation_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='type',
|
|
type=ValueType(name='mjtOrientation'),
|
|
doc='active orientation specifier',
|
|
),
|
|
StructFieldDecl(
|
|
name='axisangle',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(4,),
|
|
),
|
|
doc='axis and angle',
|
|
),
|
|
StructFieldDecl(
|
|
name='xyaxes',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(6,),
|
|
),
|
|
doc='x and y axes',
|
|
),
|
|
StructFieldDecl(
|
|
name='zaxis',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='z axis (minimal rotation)',
|
|
),
|
|
StructFieldDecl(
|
|
name='euler',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='Euler angles',
|
|
),
|
|
),
|
|
)),
|
|
('mjsPlugin',
|
|
StructDecl(
|
|
name='mjsPlugin',
|
|
declname='struct mjsPlugin_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='name',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='instance name',
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin_name',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='plugin name',
|
|
),
|
|
StructFieldDecl(
|
|
name='active',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='is the plugin active',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsBody',
|
|
StructDecl(
|
|
name='mjsBody',
|
|
declname='struct mjsBody_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='childclass',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='childclass name',
|
|
),
|
|
StructFieldDecl(
|
|
name='pos',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='frame position',
|
|
),
|
|
StructFieldDecl(
|
|
name='quat',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(4,),
|
|
),
|
|
doc='frame orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='alt',
|
|
type=ValueType(name='mjsOrientation'),
|
|
doc='frame alternative orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='mass',
|
|
type=ValueType(name='double'),
|
|
doc='mass',
|
|
),
|
|
StructFieldDecl(
|
|
name='ipos',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='inertial frame position',
|
|
),
|
|
StructFieldDecl(
|
|
name='iquat',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(4,),
|
|
),
|
|
doc='inertial frame orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='inertia',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='diagonal inertia (in i-frame)',
|
|
),
|
|
StructFieldDecl(
|
|
name='ialt',
|
|
type=ValueType(name='mjsOrientation'),
|
|
doc='inertial frame alternative orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='fullinertia',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(6,),
|
|
),
|
|
doc='non-axis-aligned inertia matrix',
|
|
),
|
|
StructFieldDecl(
|
|
name='mocap',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='is this a mocap body',
|
|
),
|
|
StructFieldDecl(
|
|
name='gravcomp',
|
|
type=ValueType(name='double'),
|
|
doc='gravity compensation',
|
|
),
|
|
StructFieldDecl(
|
|
name='sleep',
|
|
type=ValueType(name='mjtSleepPolicy'),
|
|
doc='sleep policy',
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjDoubleVec'),
|
|
),
|
|
doc='user data',
|
|
),
|
|
StructFieldDecl(
|
|
name='explicitinertial',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='whether to save the body with explicit inertial clause',
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin',
|
|
type=ValueType(name='mjsPlugin'),
|
|
doc='passive force plugin',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsFrame',
|
|
StructDecl(
|
|
name='mjsFrame',
|
|
declname='struct mjsFrame_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='int'),
|
|
doc='align free joint with body com (mjtAlignFree)',
|
|
),
|
|
StructFieldDecl(
|
|
name='stiffness',
|
|
type=ValueType(name='double'),
|
|
doc='stiffness coefficient',
|
|
),
|
|
StructFieldDecl(
|
|
name='springref',
|
|
type=ValueType(name='double'),
|
|
doc='spring reference value: qpos_spring',
|
|
),
|
|
StructFieldDecl(
|
|
name='springdamper',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='timeconst, dampratio',
|
|
),
|
|
StructFieldDecl(
|
|
name='limited',
|
|
type=ValueType(name='int'),
|
|
doc='does joint have limits (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='range',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='joint limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='margin',
|
|
type=ValueType(name='double'),
|
|
doc='margin value for joint limit detection',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref_limit',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference: joint limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp_limit',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance: joint limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='actfrclimited',
|
|
type=ValueType(name='int'),
|
|
doc='are actuator forces on joint limited (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='actfrcrange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='actuator force limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='armature',
|
|
type=ValueType(name='double'),
|
|
doc='armature inertia (mass for slider)',
|
|
),
|
|
StructFieldDecl(
|
|
name='damping',
|
|
type=ValueType(name='double'),
|
|
doc='damping coefficient',
|
|
),
|
|
StructFieldDecl(
|
|
name='frictionloss',
|
|
type=ValueType(name='double'),
|
|
doc='friction loss',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref_friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference: dof friction',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp_friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance: dof friction',
|
|
),
|
|
StructFieldDecl(
|
|
name='group',
|
|
type=ValueType(name='int'),
|
|
doc='group',
|
|
),
|
|
StructFieldDecl(
|
|
name='actgravcomp',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='is gravcomp force applied via actuators',
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjDoubleVec'),
|
|
),
|
|
doc='user data',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsGeom',
|
|
StructDecl(
|
|
name='mjsGeom',
|
|
declname='struct mjsGeom_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='type',
|
|
type=ValueType(name='mjtGeom'),
|
|
doc='geom type',
|
|
),
|
|
StructFieldDecl(
|
|
name='pos',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='position',
|
|
),
|
|
StructFieldDecl(
|
|
name='quat',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(4,),
|
|
),
|
|
doc='orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='alt',
|
|
type=ValueType(name='mjsOrientation'),
|
|
doc='alternative orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='fromto',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(6,),
|
|
),
|
|
doc='alternative for capsule, cylinder, box, ellipsoid',
|
|
),
|
|
StructFieldDecl(
|
|
name='size',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='type-specific size',
|
|
),
|
|
StructFieldDecl(
|
|
name='contype',
|
|
type=ValueType(name='int'),
|
|
doc='contact type',
|
|
),
|
|
StructFieldDecl(
|
|
name='conaffinity',
|
|
type=ValueType(name='int'),
|
|
doc='contact affinity',
|
|
),
|
|
StructFieldDecl(
|
|
name='condim',
|
|
type=ValueType(name='int'),
|
|
doc='contact dimensionality',
|
|
),
|
|
StructFieldDecl(
|
|
name='priority',
|
|
type=ValueType(name='int'),
|
|
doc='contact priority',
|
|
),
|
|
StructFieldDecl(
|
|
name='friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='one-sided friction coefficients: slide, roll, spin',
|
|
),
|
|
StructFieldDecl(
|
|
name='solmix',
|
|
type=ValueType(name='double'),
|
|
doc='solver mixing for contact pairs',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance',
|
|
),
|
|
StructFieldDecl(
|
|
name='margin',
|
|
type=ValueType(name='double'),
|
|
doc='margin for contact detection',
|
|
),
|
|
StructFieldDecl(
|
|
name='gap',
|
|
type=ValueType(name='double'),
|
|
doc='include in solver if dist < margin-gap',
|
|
),
|
|
StructFieldDecl(
|
|
name='mass',
|
|
type=ValueType(name='double'),
|
|
doc='used to compute density',
|
|
),
|
|
StructFieldDecl(
|
|
name='density',
|
|
type=ValueType(name='double'),
|
|
doc='used to compute mass and inertia from volume or surface',
|
|
),
|
|
StructFieldDecl(
|
|
name='typeinertia',
|
|
type=ValueType(name='mjtGeomInertia'),
|
|
doc='selects between surface and volume inertia',
|
|
),
|
|
StructFieldDecl(
|
|
name='fluid_ellipsoid',
|
|
type=ValueType(name='mjtNum'),
|
|
doc='whether ellipsoid-fluid model is active',
|
|
),
|
|
StructFieldDecl(
|
|
name='fluid_coefs',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='ellipsoid-fluid interaction coefs',
|
|
),
|
|
StructFieldDecl(
|
|
name='material',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of material',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgba',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(4,),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
),
|
|
StructFieldDecl(
|
|
name='group',
|
|
type=ValueType(name='int'),
|
|
doc='group',
|
|
),
|
|
StructFieldDecl(
|
|
name='hfieldname',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='heightfield attached to geom',
|
|
),
|
|
StructFieldDecl(
|
|
name='meshname',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='mesh attached to geom',
|
|
),
|
|
StructFieldDecl(
|
|
name='fitscale',
|
|
type=ValueType(name='double'),
|
|
doc='scale mesh uniformly',
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjDoubleVec'),
|
|
),
|
|
doc='user data',
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin',
|
|
type=ValueType(name='mjsPlugin'),
|
|
doc='sdf plugin',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsSite',
|
|
StructDecl(
|
|
name='mjsSite',
|
|
declname='struct mjsSite_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='mjtByte'),
|
|
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='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',
|
|
),
|
|
StructFieldDecl(
|
|
name='attenuation',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='OpenGL attenuation (quadratic model)',
|
|
),
|
|
StructFieldDecl(
|
|
name='cutoff',
|
|
type=ValueType(name='float'),
|
|
doc='OpenGL cutoff',
|
|
),
|
|
StructFieldDecl(
|
|
name='exponent',
|
|
type=ValueType(name='float'),
|
|
doc='OpenGL exponent',
|
|
),
|
|
StructFieldDecl(
|
|
name='ambient',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='ambient color',
|
|
),
|
|
StructFieldDecl(
|
|
name='diffuse',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='diffuse color',
|
|
),
|
|
StructFieldDecl(
|
|
name='specular',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='specular color',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errorsx',
|
|
),
|
|
),
|
|
)),
|
|
('mjsFlex',
|
|
StructDecl(
|
|
name='mjsFlex',
|
|
declname='struct mjsFlex_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='contype',
|
|
type=ValueType(name='int'),
|
|
doc='contact type',
|
|
),
|
|
StructFieldDecl(
|
|
name='conaffinity',
|
|
type=ValueType(name='int'),
|
|
doc='contact affinity',
|
|
),
|
|
StructFieldDecl(
|
|
name='condim',
|
|
type=ValueType(name='int'),
|
|
doc='contact dimensionality',
|
|
),
|
|
StructFieldDecl(
|
|
name='priority',
|
|
type=ValueType(name='int'),
|
|
doc='contact priority',
|
|
),
|
|
StructFieldDecl(
|
|
name='friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='one-sided friction coefficients: slide, roll, spin',
|
|
),
|
|
StructFieldDecl(
|
|
name='solmix',
|
|
type=ValueType(name='double'),
|
|
doc='solver mixing for contact pairs',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance',
|
|
),
|
|
StructFieldDecl(
|
|
name='margin',
|
|
type=ValueType(name='double'),
|
|
doc='margin for contact detection',
|
|
),
|
|
StructFieldDecl(
|
|
name='gap',
|
|
type=ValueType(name='double'),
|
|
doc='include in solver if dist<margin-gap',
|
|
),
|
|
StructFieldDecl(
|
|
name='dim',
|
|
type=ValueType(name='int'),
|
|
doc='element dimensionality',
|
|
),
|
|
StructFieldDecl(
|
|
name='radius',
|
|
type=ValueType(name='double'),
|
|
doc='radius around primitive element',
|
|
),
|
|
StructFieldDecl(
|
|
name='size',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='vertex bounding box half sizes in qpos0',
|
|
),
|
|
StructFieldDecl(
|
|
name='internal',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='enable internal collisions',
|
|
),
|
|
StructFieldDecl(
|
|
name='flatskin',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='render flex skin with flat shading',
|
|
),
|
|
StructFieldDecl(
|
|
name='selfcollide',
|
|
type=ValueType(name='int'),
|
|
doc='mode for flex self collision',
|
|
),
|
|
StructFieldDecl(
|
|
name='vertcollide',
|
|
type=ValueType(name='int'),
|
|
doc='mode for vertex collision',
|
|
),
|
|
StructFieldDecl(
|
|
name='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 visualizatioh',
|
|
),
|
|
StructFieldDecl(
|
|
name='edgestiffness',
|
|
type=ValueType(name='double'),
|
|
doc='edge stiffness',
|
|
),
|
|
StructFieldDecl(
|
|
name='edgedamping',
|
|
type=ValueType(name='double'),
|
|
doc='edge damping',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgba',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(4,),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
),
|
|
StructFieldDecl(
|
|
name='material',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of material used for rendering',
|
|
),
|
|
StructFieldDecl(
|
|
name='young',
|
|
type=ValueType(name='double'),
|
|
doc="Young's modulus",
|
|
),
|
|
StructFieldDecl(
|
|
name='poisson',
|
|
type=ValueType(name='double'),
|
|
doc="Poisson's ratio",
|
|
),
|
|
StructFieldDecl(
|
|
name='damping',
|
|
type=ValueType(name='double'),
|
|
doc="Rayleigh's damping",
|
|
),
|
|
StructFieldDecl(
|
|
name='thickness',
|
|
type=ValueType(name='double'),
|
|
doc='thickness (2D only)',
|
|
),
|
|
StructFieldDecl(
|
|
name='elastic2d',
|
|
type=ValueType(name='int'),
|
|
doc='2D passive forces; 0: none, 1: bending, 2: stretching, 3: both', # pylint: disable=line-too-long
|
|
),
|
|
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='mjtByte'),
|
|
doc='do not exclude large-angle faces from normals',
|
|
),
|
|
StructFieldDecl(
|
|
name='needsdf',
|
|
type=ValueType(name='mjtByte'),
|
|
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='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='int'),
|
|
doc='builtin type (mjtBuiltin)',
|
|
),
|
|
StructFieldDecl(
|
|
name='mark',
|
|
type=ValueType(name='int'),
|
|
doc='mark type (mjtMark)',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgb1',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='first color for builtin',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgb2',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='second color for builtin',
|
|
),
|
|
StructFieldDecl(
|
|
name='markrgb',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(3,),
|
|
),
|
|
doc='mark color',
|
|
),
|
|
StructFieldDecl(
|
|
name='random',
|
|
type=ValueType(name='double'),
|
|
doc='probability of random dots',
|
|
),
|
|
StructFieldDecl(
|
|
name='height',
|
|
type=ValueType(name='int'),
|
|
doc='height in pixels (square for cube and skybox)',
|
|
),
|
|
StructFieldDecl(
|
|
name='width',
|
|
type=ValueType(name='int'),
|
|
doc='width in pixels',
|
|
),
|
|
StructFieldDecl(
|
|
name='nchannel',
|
|
type=ValueType(name='int'),
|
|
doc='number of channels',
|
|
),
|
|
StructFieldDecl(
|
|
name='content_type',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='content type of file',
|
|
),
|
|
StructFieldDecl(
|
|
name='file',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='png file to load; use for all sides of cube',
|
|
),
|
|
StructFieldDecl(
|
|
name='gridsize',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='int'),
|
|
extents=(2,),
|
|
),
|
|
doc='size of grid for composite file; (1,1)-repeat',
|
|
),
|
|
StructFieldDecl(
|
|
name='gridlayout',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='char'),
|
|
extents=(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='mjtByte'),
|
|
doc='horizontal flip',
|
|
),
|
|
StructFieldDecl(
|
|
name='vflip',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='vertical flip',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsMaterial',
|
|
StructDecl(
|
|
name='mjsMaterial',
|
|
declname='struct mjsMaterial_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='textures',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjStringVec'),
|
|
),
|
|
doc='names of textures (empty: none)',
|
|
),
|
|
StructFieldDecl(
|
|
name='texuniform',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='make texture cube uniform',
|
|
),
|
|
StructFieldDecl(
|
|
name='texrepeat',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(2,),
|
|
),
|
|
doc='texture repetition for 2D mapping',
|
|
),
|
|
StructFieldDecl(
|
|
name='emission',
|
|
type=ValueType(name='float'),
|
|
doc='emission',
|
|
),
|
|
StructFieldDecl(
|
|
name='specular',
|
|
type=ValueType(name='float'),
|
|
doc='specular',
|
|
),
|
|
StructFieldDecl(
|
|
name='shininess',
|
|
type=ValueType(name='float'),
|
|
doc='shininess',
|
|
),
|
|
StructFieldDecl(
|
|
name='reflectance',
|
|
type=ValueType(name='float'),
|
|
doc='reflectance',
|
|
),
|
|
StructFieldDecl(
|
|
name='metallic',
|
|
type=ValueType(name='float'),
|
|
doc='metallic',
|
|
),
|
|
StructFieldDecl(
|
|
name='roughness',
|
|
type=ValueType(name='float'),
|
|
doc='roughness',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgba',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(4,),
|
|
),
|
|
doc='rgba',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsPair',
|
|
StructDecl(
|
|
name='mjsPair',
|
|
declname='struct mjsPair_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='geomname1',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of geom 1',
|
|
),
|
|
StructFieldDecl(
|
|
name='geomname2',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of geom 2',
|
|
),
|
|
StructFieldDecl(
|
|
name='condim',
|
|
type=ValueType(name='int'),
|
|
doc='contact dimensionality',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference, normal direction',
|
|
),
|
|
StructFieldDecl(
|
|
name='solreffriction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference, frictional directions',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance',
|
|
),
|
|
StructFieldDecl(
|
|
name='margin',
|
|
type=ValueType(name='double'),
|
|
doc='margin for contact detection',
|
|
),
|
|
StructFieldDecl(
|
|
name='gap',
|
|
type=ValueType(name='double'),
|
|
doc='include in solver if dist<margin-gap',
|
|
),
|
|
StructFieldDecl(
|
|
name='friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(5,),
|
|
),
|
|
doc='full contact friction',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsExclude',
|
|
StructDecl(
|
|
name='mjsExclude',
|
|
declname='struct mjsExclude_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='mjtByte'),
|
|
doc='is equality initially active',
|
|
),
|
|
StructFieldDecl(
|
|
name='name1',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of object 1',
|
|
),
|
|
StructFieldDecl(
|
|
name='name2',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of object 2',
|
|
),
|
|
StructFieldDecl(
|
|
name='objtype',
|
|
type=ValueType(name='mjtObj'),
|
|
doc='type of both objects',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsTendon',
|
|
StructDecl(
|
|
name='mjsTendon',
|
|
declname='struct mjsTendon_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='stiffness',
|
|
type=ValueType(name='double'),
|
|
doc='stiffness coefficient',
|
|
),
|
|
StructFieldDecl(
|
|
name='springlength',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='spring resting length; {-1, -1}: use qpos_spring',
|
|
),
|
|
StructFieldDecl(
|
|
name='damping',
|
|
type=ValueType(name='double'),
|
|
doc='damping coefficient',
|
|
),
|
|
StructFieldDecl(
|
|
name='frictionloss',
|
|
type=ValueType(name='double'),
|
|
doc='friction loss',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref_friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference: tendon friction',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp_friction',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance: tendon friction',
|
|
),
|
|
StructFieldDecl(
|
|
name='armature',
|
|
type=ValueType(name='double'),
|
|
doc='inertia associated with tendon velocity',
|
|
),
|
|
StructFieldDecl(
|
|
name='limited',
|
|
type=ValueType(name='int'),
|
|
doc='does tendon have limits (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='actfrclimited',
|
|
type=ValueType(name='int'),
|
|
doc='does tendon have actuator force limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='range',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='length limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='actfrcrange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='actuator force limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='margin',
|
|
type=ValueType(name='double'),
|
|
doc='margin value for tendon limit detection',
|
|
),
|
|
StructFieldDecl(
|
|
name='solref_limit',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(2,),
|
|
),
|
|
doc='solver reference: tendon limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='solimp_limit',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='mjtNum'),
|
|
extents=(5,),
|
|
),
|
|
doc='solver impedance: tendon limits',
|
|
),
|
|
StructFieldDecl(
|
|
name='material',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of material for rendering',
|
|
),
|
|
StructFieldDecl(
|
|
name='width',
|
|
type=ValueType(name='double'),
|
|
doc='width for rendering',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgba',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(4,),
|
|
),
|
|
doc='rgba when material is omitted',
|
|
),
|
|
StructFieldDecl(
|
|
name='group',
|
|
type=ValueType(name='int'),
|
|
doc='group',
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjDoubleVec'),
|
|
),
|
|
doc='user data',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsWrap',
|
|
StructDecl(
|
|
name='mjsWrap',
|
|
declname='struct mjsWrap_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='actearly',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='apply next activations to qfrc',
|
|
),
|
|
StructFieldDecl(
|
|
name='trntype',
|
|
type=ValueType(name='mjtTrn'),
|
|
doc='transmission type',
|
|
),
|
|
StructFieldDecl(
|
|
name='gear',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(6,),
|
|
),
|
|
doc='length and transmitted force scaling',
|
|
),
|
|
StructFieldDecl(
|
|
name='target',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='name of transmission target',
|
|
),
|
|
StructFieldDecl(
|
|
name='refsite',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='reference site, for site transmission',
|
|
),
|
|
StructFieldDecl(
|
|
name='slidersite',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='site defining cylinder, for slider-crank',
|
|
),
|
|
StructFieldDecl(
|
|
name='cranklength',
|
|
type=ValueType(name='double'),
|
|
doc='crank length, for slider-crank',
|
|
),
|
|
StructFieldDecl(
|
|
name='lengthrange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='transmission length range',
|
|
),
|
|
StructFieldDecl(
|
|
name='inheritrange',
|
|
type=ValueType(name='double'),
|
|
doc='automatic range setting for position and intvelocity',
|
|
),
|
|
StructFieldDecl(
|
|
name='ctrllimited',
|
|
type=ValueType(name='int'),
|
|
doc='are control limits defined (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='ctrlrange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='control range',
|
|
),
|
|
StructFieldDecl(
|
|
name='forcelimited',
|
|
type=ValueType(name='int'),
|
|
doc='are force limits defined (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='forcerange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='force range',
|
|
),
|
|
StructFieldDecl(
|
|
name='actlimited',
|
|
type=ValueType(name='int'),
|
|
doc='are activation limits defined (mjtLimited)',
|
|
),
|
|
StructFieldDecl(
|
|
name='actrange',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='double'),
|
|
extents=(2,),
|
|
),
|
|
doc='activation range',
|
|
),
|
|
StructFieldDecl(
|
|
name='group',
|
|
type=ValueType(name='int'),
|
|
doc='group',
|
|
),
|
|
StructFieldDecl(
|
|
name='userdata',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjDoubleVec'),
|
|
),
|
|
doc='user data',
|
|
),
|
|
StructFieldDecl(
|
|
name='plugin',
|
|
type=ValueType(name='mjsPlugin'),
|
|
doc='actuator plugin',
|
|
),
|
|
StructFieldDecl(
|
|
name='info',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjString'),
|
|
),
|
|
doc='message appended to compiler errors',
|
|
),
|
|
),
|
|
)),
|
|
('mjsSensor',
|
|
StructDecl(
|
|
name='mjsSensor',
|
|
declname='struct mjsSensor_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='element',
|
|
type=PointerType(
|
|
inner_type=ValueType(name='mjsElement'),
|
|
),
|
|
doc='element type',
|
|
),
|
|
StructFieldDecl(
|
|
name='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='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='texcoord',
|
|
type=ValueType(name='int'),
|
|
doc='mesh or flex geom has texture coordinates',
|
|
),
|
|
StructFieldDecl(
|
|
name='segid',
|
|
type=ValueType(name='int'),
|
|
doc='segmentation id; -1: not shown',
|
|
),
|
|
StructFieldDecl(
|
|
name='size',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='size parameters',
|
|
),
|
|
StructFieldDecl(
|
|
name='pos',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(3,),
|
|
),
|
|
doc='Cartesian position',
|
|
),
|
|
StructFieldDecl(
|
|
name='mat',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(9,),
|
|
),
|
|
doc='Cartesian orientation',
|
|
),
|
|
StructFieldDecl(
|
|
name='rgba',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='float'),
|
|
extents=(4,),
|
|
),
|
|
doc='color and transparency',
|
|
),
|
|
StructFieldDecl(
|
|
name='emission',
|
|
type=ValueType(name='float'),
|
|
doc='emission coef',
|
|
),
|
|
StructFieldDecl(
|
|
name='specular',
|
|
type=ValueType(name='float'),
|
|
doc='specular coef',
|
|
),
|
|
StructFieldDecl(
|
|
name='shininess',
|
|
type=ValueType(name='float'),
|
|
doc='shininess coef',
|
|
),
|
|
StructFieldDecl(
|
|
name='reflectance',
|
|
type=ValueType(name='float'),
|
|
doc='reflectance coef',
|
|
),
|
|
StructFieldDecl(
|
|
name='label',
|
|
type=ArrayType(
|
|
inner_type=ValueType(name='char'),
|
|
extents=(100,),
|
|
),
|
|
doc='text label',
|
|
),
|
|
StructFieldDecl(
|
|
name='camdist',
|
|
type=ValueType(name='float'),
|
|
doc='distance to camera (used by sorter)',
|
|
),
|
|
StructFieldDecl(
|
|
name='modelrbound',
|
|
type=ValueType(name='float'),
|
|
doc='geom rbound from model, 0 if not model geom',
|
|
),
|
|
StructFieldDecl(
|
|
name='transparent',
|
|
type=ValueType(name='mjtByte'),
|
|
doc='treat geom as transparent',
|
|
),
|
|
),
|
|
)),
|
|
('mjvLight',
|
|
StructDecl(
|
|
name='mjvLight',
|
|
declname='struct mjvLight_',
|
|
fields=(
|
|
StructFieldDecl(
|
|
name='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='status; 0: ok, 1: geoms exhausted',
|
|
),
|
|
),
|
|
)),
|
|
('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)',
|
|
),
|
|
),
|
|
)),
|
|
('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',
|
|
),
|
|
),
|
|
)),
|
|
])
|