f9a00bd5b5
The new spotlight attribute softness (real in [0, 1], default 0) is the fraction of the cone, measured inward from the cutoff, over which intensity falls to zero. It is used by physically-based lighting models; the Phong model's corresponding knob remains exponent. The filament renderer previously hardcoded the inner cone angle to 0, making the entire beam penumbra: the shader attenuates by the squared smoothstep ((cos(theta) - cos(outer)) / (cos(inner) - cos(outer)))^2, so a cutoff-25 spot delivered its rated candela only exactly on-axis and about a third of it averaged over the light pool, with the deficit shrinking as the cutoff widens. The inner angle is now (1 - softness) * cutoff, so at the default the light delivers its full intensity everywhere inside the cone and illuminance follows E = I/d^2 independent of the cutoff. Setting softness to 1 reproduces the previous appearance exactly (verified bit-identical), which is the migration path for models tuned against the old behavior. The filament light type also changes from FOCUSED_SPOT to SPOT. With intensity given in candela and the cone set at build time the two types produce identical output (FOCUSED_SPOT's power-conserving rescale only applies when the cone changes after the intensity is set), but SPOT guarantees that candela never rescales with cone angle should the cone ever become runtime-editable. Verified with headless renders under a linear tone mapper against an equal-candela point light at cutoffs 25/45/80: softness 0 gives spot/point luminance ratio 1.000 at all sampled angles inside the cone; softness 0.2 is flat over the inner 80% of the cone; softness 1 matches the previous renderer with zero linear-pixel difference. XML round-trip and the [0, 1] compile-time check verified. Introspect and wasm bindings regenerated. PiperOrigin-RevId: 959334706 Change-Id: I0f0729781899880de1729ea9b3d8c055d715a025
4092 lines
178 KiB
XML
4092 lines
178 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!-- Generated by generate_xsd.py from mjcf.schema.
|
|
Do not edit by hand; see test/doc/doc_test.py.
|
|
|
|
This schema is deliberately permissive: it never
|
|
rejects a legal model, but accepts some models the
|
|
parser rejects. Child cardinality and attribute
|
|
presence constraints are carried as documentation
|
|
annotations. -->
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<xs:simpleType name="kw_bool">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_coordinate">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="local"/>
|
|
<xs:enumeration value="global"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_angle">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="radian"/>
|
|
<xs:enumeration value="degree"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_fluidshape">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="ellipsoid"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_enable">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="disable"/>
|
|
<xs:enumeration value="enable"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_FalseTrueAuto">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
<xs:enumeration value="auto"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_FalseAuto">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="auto"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_bodysleep">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="auto"/>
|
|
<xs:enumeration value="never"/>
|
|
<xs:enumeration value="allowed"/>
|
|
<xs:enumeration value="init"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_jointtype">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="free"/>
|
|
<xs:enumeration value="ball"/>
|
|
<xs:enumeration value="slide"/>
|
|
<xs:enumeration value="hinge"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_geomtype">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="plane"/>
|
|
<xs:enumeration value="hfield"/>
|
|
<xs:enumeration value="sphere"/>
|
|
<xs:enumeration value="capsule"/>
|
|
<xs:enumeration value="ellipsoid"/>
|
|
<xs:enumeration value="cylinder"/>
|
|
<xs:enumeration value="box"/>
|
|
<xs:enumeration value="mesh"/>
|
|
<xs:enumeration value="sdf"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_projection">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="perspective"/>
|
|
<xs:enumeration value="orthographic"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_camlight">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="fixed"/>
|
|
<xs:enumeration value="track"/>
|
|
<xs:enumeration value="trackcom"/>
|
|
<xs:enumeration value="targetbody"/>
|
|
<xs:enumeration value="targetbodycom"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_lighttype">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="spot"/>
|
|
<xs:enumeration value="directional"/>
|
|
<xs:enumeration value="point"/>
|
|
<xs:enumeration value="image"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_texrole">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="rgb"/>
|
|
<xs:enumeration value="occlusion"/>
|
|
<xs:enumeration value="roughness"/>
|
|
<xs:enumeration value="metallic"/>
|
|
<xs:enumeration value="normal"/>
|
|
<xs:enumeration value="opacity"/>
|
|
<xs:enumeration value="emissive"/>
|
|
<xs:enumeration value="rgba"/>
|
|
<xs:enumeration value="orm"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_integrator">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Euler"/>
|
|
<xs:enumeration value="RK4"/>
|
|
<xs:enumeration value="implicit"/>
|
|
<xs:enumeration value="implicitfast"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_cone">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="pyramidal"/>
|
|
<xs:enumeration value="elliptic"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_jacobian">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="dense"/>
|
|
<xs:enumeration value="sparse"/>
|
|
<xs:enumeration value="auto"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_solver">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="PGS"/>
|
|
<xs:enumeration value="CG"/>
|
|
<xs:enumeration value="Newton"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_equality">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="connect"/>
|
|
<xs:enumeration value="weld"/>
|
|
<xs:enumeration value="joint"/>
|
|
<xs:enumeration value="tendon"/>
|
|
<xs:enumeration value="flex"/>
|
|
<xs:enumeration value="flexvert"/>
|
|
<xs:enumeration value="flexstrain"/>
|
|
<xs:enumeration value="distance"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_texture">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="2d"/>
|
|
<xs:enumeration value="cube"/>
|
|
<xs:enumeration value="skybox"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_colorspace">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="auto"/>
|
|
<xs:enumeration value="linear"/>
|
|
<xs:enumeration value="sRGB"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_builtin">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="gradient"/>
|
|
<xs:enumeration value="checker"/>
|
|
<xs:enumeration value="flat"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_mark">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="edge"/>
|
|
<xs:enumeration value="cross"/>
|
|
<xs:enumeration value="random"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_dyn">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="integrator"/>
|
|
<xs:enumeration value="filter"/>
|
|
<xs:enumeration value="filterexact"/>
|
|
<xs:enumeration value="muscle"/>
|
|
<xs:enumeration value="dcmotor"/>
|
|
<xs:enumeration value="pid"/>
|
|
<xs:enumeration value="user"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_dcmotorinput">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="voltage"/>
|
|
<xs:enumeration value="position"/>
|
|
<xs:enumeration value="velocity"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_gain">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="fixed"/>
|
|
<xs:enumeration value="affine"/>
|
|
<xs:enumeration value="muscle"/>
|
|
<xs:enumeration value="dcmotor"/>
|
|
<xs:enumeration value="so3"/>
|
|
<xs:enumeration value="pid"/>
|
|
<xs:enumeration value="user"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_inputchart">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="expmap"/>
|
|
<xs:enumeration value="quat"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_inputbit">
|
|
<xs:annotation>
|
|
<xs:documentation>bitflags: keywords combine bitwise</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="pos"/>
|
|
<xs:enumeration value="vel"/>
|
|
<xs:enumeration value="ff"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="kwlist_inputbit">
|
|
<xs:list itemType="kw_inputbit"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_bias">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="affine"/>
|
|
<xs:enumeration value="muscle"/>
|
|
<xs:enumeration value="dcmotor"/>
|
|
<xs:enumeration value="so3"/>
|
|
<xs:enumeration value="user"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_interp">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="zoh"/>
|
|
<xs:enumeration value="linear"/>
|
|
<xs:enumeration value="cubic"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_stage">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="pos"/>
|
|
<xs:enumeration value="vel"/>
|
|
<xs:enumeration value="acc"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_datatype">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="real"/>
|
|
<xs:enumeration value="positive"/>
|
|
<xs:enumeration value="axis"/>
|
|
<xs:enumeration value="quaternion"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_frameobj">
|
|
<xs:annotation>
|
|
<xs:documentation>object kinds with a spatial frame</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="body"/>
|
|
<xs:enumeration value="xbody"/>
|
|
<xs:enumeration value="geom"/>
|
|
<xs:enumeration value="site"/>
|
|
<xs:enumeration value="camera"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_condata">
|
|
<xs:annotation>
|
|
<xs:documentation>bitflags: keywords combine bitwise</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="found"/>
|
|
<xs:enumeration value="force"/>
|
|
<xs:enumeration value="torque"/>
|
|
<xs:enumeration value="dist"/>
|
|
<xs:enumeration value="pos"/>
|
|
<xs:enumeration value="normal"/>
|
|
<xs:enumeration value="tangent"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="kwlist_condata">
|
|
<xs:list itemType="kw_condata"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_raydata">
|
|
<xs:annotation>
|
|
<xs:documentation>bitflags: keywords combine bitwise</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="dist"/>
|
|
<xs:enumeration value="dir"/>
|
|
<xs:enumeration value="origin"/>
|
|
<xs:enumeration value="point"/>
|
|
<xs:enumeration value="normal"/>
|
|
<xs:enumeration value="depth"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="kwlist_raydata">
|
|
<xs:list itemType="kw_raydata"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_camout">
|
|
<xs:annotation>
|
|
<xs:documentation>bitflags: keywords combine bitwise</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="rgb"/>
|
|
<xs:enumeration value="depth"/>
|
|
<xs:enumeration value="distance"/>
|
|
<xs:enumeration value="normal"/>
|
|
<xs:enumeration value="segmentation"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="kwlist_camout">
|
|
<xs:list itemType="kw_camout"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_reduce">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="mindist"/>
|
|
<xs:enumeration value="maxforce"/>
|
|
<xs:enumeration value="netforce"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_conflict">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="warning"/>
|
|
<xs:enumeration value="merge"/>
|
|
<xs:enumeration value="error"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_lrmode">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="muscle"/>
|
|
<xs:enumeration value="muscleuser"/>
|
|
<xs:enumeration value="all"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_comp">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="particle"/>
|
|
<xs:enumeration value="grid"/>
|
|
<xs:enumeration value="rope"/>
|
|
<xs:enumeration value="loop"/>
|
|
<xs:enumeration value="cable"/>
|
|
<xs:enumeration value="cloth"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_jkind">
|
|
<xs:annotation>
|
|
<xs:documentation>vestigial: composite pruning left a single kind</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="main"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_shape">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="s"/>
|
|
<xs:enumeration value="cos(s)"/>
|
|
<xs:enumeration value="sin(s)"/>
|
|
<xs:enumeration value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_meshinertia">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="convex"/>
|
|
<xs:enumeration value="legacy"/>
|
|
<xs:enumeration value="exact"/>
|
|
<xs:enumeration value="shell"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_meshbuiltin">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="sphere"/>
|
|
<xs:enumeration value="hemisphere"/>
|
|
<xs:enumeration value="cone"/>
|
|
<xs:enumeration value="supertorus"/>
|
|
<xs:enumeration value="supersphere"/>
|
|
<xs:enumeration value="wedge"/>
|
|
<xs:enumeration value="plate"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_fcomp">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="grid"/>
|
|
<xs:enumeration value="box"/>
|
|
<xs:enumeration value="cylinder"/>
|
|
<xs:enumeration value="ellipsoid"/>
|
|
<xs:enumeration value="square"/>
|
|
<xs:enumeration value="disc"/>
|
|
<xs:enumeration value="circle"/>
|
|
<xs:enumeration value="mesh"/>
|
|
<xs:enumeration value="gmsh"/>
|
|
<xs:enumeration value="direct"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_fdof">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="full"/>
|
|
<xs:enumeration value="radial"/>
|
|
<xs:enumeration value="trilinear"/>
|
|
<xs:enumeration value="quadratic"/>
|
|
<xs:enumeration value="2d"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_flexself">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="narrow"/>
|
|
<xs:enumeration value="bvh"/>
|
|
<xs:enumeration value="sap"/>
|
|
<xs:enumeration value="auto"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_elastic2d">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="none"/>
|
|
<xs:enumeration value="bend"/>
|
|
<xs:enumeration value="stretch"/>
|
|
<xs:enumeration value="both"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="kw_flexeq">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="false"/>
|
|
<xs:enumeration value="true"/>
|
|
<xs:enumeration value="vert"/>
|
|
<xs:enumeration value="strain"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double1to10">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="10"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double1to2">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="2"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double1to3">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double1to5">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="5"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double1to6">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="6"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double2">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:length value="2"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double3">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:length value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double4">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:length value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double6">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:length value="6"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="double7">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
<xs:length value="7"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="doublelist">
|
|
<xs:list itemType="xs:double"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="float2">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:float"/>
|
|
</xs:simpleType>
|
|
<xs:length value="2"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="float3">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:float"/>
|
|
</xs:simpleType>
|
|
<xs:length value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="float4">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:float"/>
|
|
</xs:simpleType>
|
|
<xs:length value="4"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="floatlist">
|
|
<xs:list itemType="xs:float"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="int1to3">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:int"/>
|
|
</xs:simpleType>
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="int2">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:int"/>
|
|
</xs:simpleType>
|
|
<xs:length value="2"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="int3">
|
|
<xs:restriction>
|
|
<xs:simpleType>
|
|
<xs:list itemType="xs:int"/>
|
|
</xs:simpleType>
|
|
<xs:length value="3"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="intlist">
|
|
<xs:list itemType="xs:int"/>
|
|
</xs:simpleType>
|
|
|
|
<xs:complexType name="mujoco">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): compiler (*), option (*), size (*), statistic (*), visual (*), default (R), extension (*), asset (*), body (R), deformable (*), contact (*), tendon (*), equality (*), actuator (*), sensor (*), custom (*), keyframe (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="compiler" type="compiler"/>
|
|
<xs:element name="option" type="option"/>
|
|
<xs:element name="size" type="size"/>
|
|
<xs:element name="statistic" type="statistic"/>
|
|
<xs:element name="visual" type="visual"/>
|
|
<xs:element name="default" type="default"/>
|
|
<xs:element name="extension" type="extension"/>
|
|
<xs:element name="asset" type="asset"/>
|
|
<xs:element name="worldbody" type="worldbody"/>
|
|
<xs:element name="deformable" type="deformable"/>
|
|
<xs:element name="contact" type="contact"/>
|
|
<xs:element name="tendon" type="tendon"/>
|
|
<xs:element name="equality" type="equality"/>
|
|
<xs:element name="actuator" type="actuator"/>
|
|
<xs:element name="sensor" type="sensor"/>
|
|
<xs:element name="custom" type="custom"/>
|
|
<xs:element name="keyframe" type="keyframe"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="model" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="compiler">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): lengthrange (?)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="lengthrange" type="lengthrange"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="autolimits" type="kw_bool" default="true"/>
|
|
<xs:attribute name="boundmass" type="xs:double"/>
|
|
<xs:attribute name="boundinertia" type="xs:double"/>
|
|
<xs:attribute name="settotalmass" type="xs:double" default="-1"/>
|
|
<xs:attribute name="balanceinertia" type="kw_bool"/>
|
|
<xs:attribute name="strippath" type="kw_bool">
|
|
<xs:annotation>
|
|
<xs:documentation>stored on the spec</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="coordinate" type="kw_coordinate">
|
|
<xs:annotation>
|
|
<xs:documentation>deprecation error</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="angle" type="kw_angle" default="degree"/>
|
|
<xs:attribute name="fitaabb" type="kw_bool"/>
|
|
<xs:attribute name="eulerseq">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="[xyzXYZ]{3}"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="meshdir" type="xs:string"/>
|
|
<xs:attribute name="texturedir" type="xs:string"/>
|
|
<xs:attribute name="discardvisual" type="kw_bool"/>
|
|
<xs:attribute name="usethread" type="kw_bool" default="true"/>
|
|
<xs:attribute name="fusestatic" type="kw_bool"/>
|
|
<xs:attribute name="inertiafromgeom" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="inertiagrouprange" type="int2" default="0 5"/>
|
|
<xs:attribute name="saveinertial" type="kw_bool"/>
|
|
<xs:attribute name="assetdir" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>fans out to mesh/texturedir</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="alignfree" type="kw_bool"/>
|
|
<xs:attribute name="conflict" type="kw_conflict"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="option">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flag (?)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="flag" type="flag"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="timestep" type="xs:double" default="0.002"/>
|
|
<xs:attribute name="impratio" type="xs:double" default="1"/>
|
|
<xs:attribute name="tolerance" type="xs:double" default="1e-08"/>
|
|
<xs:attribute name="ls_tolerance" type="xs:double" default="0.01"/>
|
|
<xs:attribute name="noslip_tolerance" type="xs:double" default="1e-06"/>
|
|
<xs:attribute name="ccd_tolerance" type="xs:double" default="1e-06"/>
|
|
<xs:attribute name="sleep_tolerance" type="xs:double" default="0.001"/>
|
|
<xs:attribute name="gravity" type="double3" default="0 0 -9.81"/>
|
|
<xs:attribute name="wind" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="magnetic" type="double3" default="0 -0.5 0"/>
|
|
<xs:attribute name="density" type="xs:double"/>
|
|
<xs:attribute name="viscosity" type="xs:double"/>
|
|
<xs:attribute name="o_margin" type="xs:double"/>
|
|
<xs:attribute name="o_solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="o_solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="o_friction" type="double1to5" default="1 1 0.005 0.0001 0.0001"/>
|
|
<xs:attribute name="integrator" type="kw_integrator" default="Euler"/>
|
|
<xs:attribute name="cone" type="kw_cone" default="pyramidal"/>
|
|
<xs:attribute name="jacobian" type="kw_jacobian" default="auto"/>
|
|
<xs:attribute name="solver" type="kw_solver" default="Newton"/>
|
|
<xs:attribute name="iterations" type="xs:int" default="100"/>
|
|
<xs:attribute name="ls_iterations" type="xs:int" default="50"/>
|
|
<xs:attribute name="noslip_iterations" type="xs:int"/>
|
|
<xs:attribute name="ccd_iterations" type="xs:int" default="35"/>
|
|
<xs:attribute name="sdf_iterations" type="xs:int" default="10"/>
|
|
<xs:attribute name="sdf_initpoints" type="xs:int" default="40"/>
|
|
<xs:attribute name="actuatorgroupdisable" type="intlist">
|
|
<xs:annotation>
|
|
<xs:documentation>bits of disableactuator</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="size">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: memory, nstack</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: memory, njmax</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="memory" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>suffixed byte count</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="njmax" type="xs:int" default="-1">
|
|
<xs:annotation>
|
|
<xs:documentation>range/exclusivity checks</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="nconmax" type="xs:int" default="-1">
|
|
<xs:annotation>
|
|
<xs:documentation>range check</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="nstack" type="xs:int" default="-1">
|
|
<xs:annotation>
|
|
<xs:documentation>range/exclusivity checks</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuserdata">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nkey">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_body" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_jnt" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_geom" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_site" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_cam" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_tendon" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_actuator" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="nuser_sensor" default="-1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="-1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="statistic">
|
|
<xs:attribute name="meaninertia" type="xs:double"/>
|
|
<xs:attribute name="meanmass" type="xs:double"/>
|
|
<xs:attribute name="meansize" type="xs:double"/>
|
|
<xs:attribute name="extent">
|
|
<xs:annotation>
|
|
<xs:documentation>when defined</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:double">
|
|
<xs:minExclusive value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="center" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="visual">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): global (?), quality (?), headlight (?), map (?), scale (?), rgba (?)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="global" type="global"/>
|
|
<xs:element name="quality" type="quality"/>
|
|
<xs:element name="headlight" type="headlight"/>
|
|
<xs:element name="map" type="map"/>
|
|
<xs:element name="scale" type="scale"/>
|
|
<xs:element name="rgba" type="rgba"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): default (R), mesh (?), material (?), joint (?), geom (?), site (?), camera (?), light (?), pair (?), default_equality (?), default_tendon (?), general (?), motor (?), position (?), velocity (?), intvelocity (?), orientation (?), pid (?), damper (?), cylinder (?), muscle (?), adhesion (?), dcmotor (?)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="default" type="default"/>
|
|
<xs:element name="mesh" type="default_mesh"/>
|
|
<xs:element name="material" type="default_material"/>
|
|
<xs:element name="joint" type="default_joint"/>
|
|
<xs:element name="geom" type="default_geom"/>
|
|
<xs:element name="site" type="default_site"/>
|
|
<xs:element name="camera" type="default_camera"/>
|
|
<xs:element name="light" type="default_light"/>
|
|
<xs:element name="pair" type="default_pair"/>
|
|
<xs:element name="equality" type="default_equality"/>
|
|
<xs:element name="tendon" type="default_tendon"/>
|
|
<xs:element name="general" type="default_general"/>
|
|
<xs:element name="motor" type="default_motor"/>
|
|
<xs:element name="position" type="default_position"/>
|
|
<xs:element name="velocity" type="default_velocity"/>
|
|
<xs:element name="intvelocity" type="default_intvelocity"/>
|
|
<xs:element name="orientation" type="default_orientation"/>
|
|
<xs:element name="pid" type="default_pid"/>
|
|
<xs:element name="damper" type="default_damper"/>
|
|
<xs:element name="cylinder" type="default_cylinder"/>
|
|
<xs:element name="muscle" type="default_muscle"/>
|
|
<xs:element name="adhesion" type="default_adhesion"/>
|
|
<xs:element name="dcmotor" type="default_dcmotor"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="extension">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): extension_plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="plugin" type="extension_plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="asset">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): mesh (*), hfield (*), skin (*), texture (*), material (*), model (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="mesh" type="mesh"/>
|
|
<xs:element name="hfield" type="hfield"/>
|
|
<xs:element name="skin" type="skin"/>
|
|
<xs:element name="texture" type="texture"/>
|
|
<xs:element name="material" type="material"/>
|
|
<xs:element name="model" type="model"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="worldbody">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (*), frame (*), replicate (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="body" type="body"/>
|
|
<xs:element name="frame" type="frame"/>
|
|
<xs:element name="replicate" type="replicate"/>
|
|
<xs:element name="geom" type="geom"/>
|
|
<xs:element name="attach" type="attach"/>
|
|
<xs:element name="site" type="site"/>
|
|
<xs:element name="camera" type="camera"/>
|
|
<xs:element name="light" type="light"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="composite" type="composite"/>
|
|
<xs:element name="flexcomp" type="flexcomp"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="deformable">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flex (*), skin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="flex" type="flex"/>
|
|
<xs:element name="skin" type="skin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="contact">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): pair (*), exclude (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="pair" type="pair"/>
|
|
<xs:element name="exclude" type="exclude"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendon">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): spatial (*), fixed (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="spatial" type="spatial"/>
|
|
<xs:element name="fixed" type="fixed"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="equality">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): connect (*), weld (*), equality_joint (*), equality_tendon (*), equality_flex (*), flexvert (*), flexstrain (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="connect" type="connect"/>
|
|
<xs:element name="weld" type="weld"/>
|
|
<xs:element name="joint" type="equality_joint"/>
|
|
<xs:element name="tendon" type="equality_tendon"/>
|
|
<xs:element name="flex" type="equality_flex"/>
|
|
<xs:element name="flexvert" type="flexvert"/>
|
|
<xs:element name="flexstrain" type="flexstrain"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="actuator">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): general (*), motor (*), position (*), velocity (*), intvelocity (*), orientation (*), pid (*), damper (*), cylinder (*), muscle (*), adhesion (*), dcmotor (*), actuator_plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="general" type="general"/>
|
|
<xs:element name="motor" type="motor"/>
|
|
<xs:element name="position" type="position"/>
|
|
<xs:element name="velocity" type="velocity"/>
|
|
<xs:element name="intvelocity" type="intvelocity"/>
|
|
<xs:element name="orientation" type="orientation"/>
|
|
<xs:element name="pid" type="pid"/>
|
|
<xs:element name="damper" type="damper"/>
|
|
<xs:element name="cylinder" type="cylinder"/>
|
|
<xs:element name="muscle" type="muscle"/>
|
|
<xs:element name="adhesion" type="adhesion"/>
|
|
<xs:element name="dcmotor" type="dcmotor"/>
|
|
<xs:element name="plugin" type="actuator_plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="sensor">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): touch (*), accelerometer (*), velocimeter (*), gyro (*), force (*), torque (*), magnetometer (*), camprojection (*), rangefinder (*), jointpos (*), jointvel (*), tendonpos (*), tendonvel (*), actuatorpos (*), actuatorvel (*), actuatorfrc (*), jointactuatorfrc (*), tendonactuatorfrc (*), ballquat (*), ballangvel (*), jointlimitpos (*), jointlimitvel (*), jointlimitfrc (*), tendonlimitpos (*), tendonlimitvel (*), tendonlimitfrc (*), framepos (*), framequat (*), framexaxis (*), frameyaxis (*), framezaxis (*), framelinvel (*), frameangvel (*), framelinacc (*), frameangacc (*), subtreecom (*), subtreelinvel (*), subtreeangmom (*), insidesite (*), distance (*), normal (*), fromto (*), sensor_contact (*), e_potential (*), e_kinetic (*), clock (*), tactile (*), user (*), sensor_plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="touch" type="touch"/>
|
|
<xs:element name="accelerometer" type="accelerometer"/>
|
|
<xs:element name="velocimeter" type="velocimeter"/>
|
|
<xs:element name="gyro" type="gyro"/>
|
|
<xs:element name="force" type="force"/>
|
|
<xs:element name="torque" type="torque"/>
|
|
<xs:element name="magnetometer" type="magnetometer"/>
|
|
<xs:element name="camprojection" type="camprojection"/>
|
|
<xs:element name="rangefinder" type="rangefinder"/>
|
|
<xs:element name="jointpos" type="jointpos"/>
|
|
<xs:element name="jointvel" type="jointvel"/>
|
|
<xs:element name="tendonpos" type="tendonpos"/>
|
|
<xs:element name="tendonvel" type="tendonvel"/>
|
|
<xs:element name="actuatorpos" type="actuatorpos"/>
|
|
<xs:element name="actuatorvel" type="actuatorvel"/>
|
|
<xs:element name="actuatorfrc" type="actuatorfrc"/>
|
|
<xs:element name="jointactuatorfrc" type="jointactuatorfrc"/>
|
|
<xs:element name="tendonactuatorfrc" type="tendonactuatorfrc"/>
|
|
<xs:element name="ballquat" type="ballquat"/>
|
|
<xs:element name="ballangvel" type="ballangvel"/>
|
|
<xs:element name="jointlimitpos" type="jointlimitpos"/>
|
|
<xs:element name="jointlimitvel" type="jointlimitvel"/>
|
|
<xs:element name="jointlimitfrc" type="jointlimitfrc"/>
|
|
<xs:element name="tendonlimitpos" type="tendonlimitpos"/>
|
|
<xs:element name="tendonlimitvel" type="tendonlimitvel"/>
|
|
<xs:element name="tendonlimitfrc" type="tendonlimitfrc"/>
|
|
<xs:element name="framepos" type="framepos"/>
|
|
<xs:element name="framequat" type="framequat"/>
|
|
<xs:element name="framexaxis" type="framexaxis"/>
|
|
<xs:element name="frameyaxis" type="frameyaxis"/>
|
|
<xs:element name="framezaxis" type="framezaxis"/>
|
|
<xs:element name="framelinvel" type="framelinvel"/>
|
|
<xs:element name="frameangvel" type="frameangvel"/>
|
|
<xs:element name="framelinacc" type="framelinacc"/>
|
|
<xs:element name="frameangacc" type="frameangacc"/>
|
|
<xs:element name="subtreecom" type="subtreecom"/>
|
|
<xs:element name="subtreelinvel" type="subtreelinvel"/>
|
|
<xs:element name="subtreeangmom" type="subtreeangmom"/>
|
|
<xs:element name="insidesite" type="insidesite"/>
|
|
<xs:element name="distance" type="distance"/>
|
|
<xs:element name="normal" type="normal"/>
|
|
<xs:element name="fromto" type="fromto"/>
|
|
<xs:element name="contact" type="sensor_contact"/>
|
|
<xs:element name="e_potential" type="e_potential"/>
|
|
<xs:element name="e_kinetic" type="e_kinetic"/>
|
|
<xs:element name="clock" type="clock"/>
|
|
<xs:element name="tactile" type="tactile"/>
|
|
<xs:element name="user" type="user"/>
|
|
<xs:element name="plugin" type="sensor_plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="custom">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): numeric (*), text (*), tuple (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="numeric" type="numeric"/>
|
|
<xs:element name="text" type="text"/>
|
|
<xs:element name="tuple" type="tuple"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="keyframe">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): key (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="key" type="key"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="lengthrange">
|
|
<xs:attribute name="mode" type="kw_lrmode" default="muscle"/>
|
|
<xs:attribute name="useexisting" type="kw_bool" default="true"/>
|
|
<xs:attribute name="uselimit" type="kw_bool"/>
|
|
<xs:attribute name="accel" type="xs:double" default="20"/>
|
|
<xs:attribute name="maxforce" type="xs:double"/>
|
|
<xs:attribute name="timeconst" type="xs:double" default="1"/>
|
|
<xs:attribute name="timestep" type="xs:double" default="0.01"/>
|
|
<xs:attribute name="inttotal" type="xs:double" default="10"/>
|
|
<xs:attribute name="interval" type="xs:double" default="2"/>
|
|
<xs:attribute name="tolrange" type="xs:double" default="0.05"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flag">
|
|
<xs:attribute name="constraint" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="equality" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="frictionloss" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="limit" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="contact" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="spring" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="damper" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="gravity" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="clampctrl" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="warmstart" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="filterparent" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="actuation" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="refsafe" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="sensor" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="midphase" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="eulerdamp" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="autoreset" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="nativeccd" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="island" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="multiccd" type="kw_enable" default="enable"/>
|
|
<xs:attribute name="override" type="kw_enable" default="disable"/>
|
|
<xs:attribute name="energy" type="kw_enable" default="disable"/>
|
|
<xs:attribute name="fwdinv" type="kw_enable" default="disable"/>
|
|
<xs:attribute name="invdiscrete" type="kw_enable" default="disable"/>
|
|
<xs:attribute name="sleep" type="kw_enable" default="disable"/>
|
|
<xs:attribute name="diagexact" type="kw_enable" default="disable"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="global">
|
|
<xs:attribute name="cameraid" type="xs:int" default="-1"/>
|
|
<xs:attribute name="orthographic" type="kw_bool" default="false"/>
|
|
<xs:attribute name="fovy" type="xs:float" default="45"/>
|
|
<xs:attribute name="ipd" type="xs:float" default="0.068"/>
|
|
<xs:attribute name="azimuth" type="xs:float" default="90"/>
|
|
<xs:attribute name="elevation" type="xs:float" default="-45"/>
|
|
<xs:attribute name="linewidth" type="xs:float" default="1"/>
|
|
<xs:attribute name="glow" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="offwidth" type="xs:int" default="640"/>
|
|
<xs:attribute name="offheight" type="xs:int" default="480"/>
|
|
<xs:attribute name="realtime" default="1">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:float">
|
|
<xs:minExclusive value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="ellipsoidinertia" type="kw_bool" default="false"/>
|
|
<xs:attribute name="bvactive" type="kw_bool" default="true"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="quality">
|
|
<xs:attribute name="shadowsize" type="xs:int" default="4096"/>
|
|
<xs:attribute name="offsamples" type="xs:int" default="4"/>
|
|
<xs:attribute name="numslices" type="xs:int" default="28"/>
|
|
<xs:attribute name="numstacks" type="xs:int" default="16"/>
|
|
<xs:attribute name="numquads" type="xs:int" default="4"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="headlight">
|
|
<xs:attribute name="ambient" type="float3" default="0.1 0.1 0.1"/>
|
|
<xs:attribute name="diffuse" type="float3" default="0.4 0.4 0.4"/>
|
|
<xs:attribute name="specular" type="float3" default="0.5 0.5 0.5"/>
|
|
<xs:attribute name="active" type="xs:int" default="1"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="map">
|
|
<xs:attribute name="stiffness" type="xs:float" default="100"/>
|
|
<xs:attribute name="stiffnessrot" type="xs:float" default="500"/>
|
|
<xs:attribute name="force" type="xs:float" default="0.005"/>
|
|
<xs:attribute name="torque" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="alpha" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="fogstart" type="xs:float" default="3"/>
|
|
<xs:attribute name="fogend" type="xs:float" default="10"/>
|
|
<xs:attribute name="znear" default="0.01">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:float">
|
|
<xs:minExclusive value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="zfar" type="xs:float" default="50"/>
|
|
<xs:attribute name="haze" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="shadowclip" type="xs:float" default="1"/>
|
|
<xs:attribute name="shadowscale" type="xs:float" default="0.6"/>
|
|
<xs:attribute name="actuatortendon" type="xs:float" default="2"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="scale">
|
|
<xs:attribute name="forcewidth" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="contactwidth" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="contactheight" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="connect" type="xs:float" default="0.2"/>
|
|
<xs:attribute name="com" type="xs:float" default="0.4"/>
|
|
<xs:attribute name="camera" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="light" type="xs:float" default="0.3"/>
|
|
<xs:attribute name="selectpoint" type="xs:float" default="0.2"/>
|
|
<xs:attribute name="jointlength" type="xs:float" default="1"/>
|
|
<xs:attribute name="jointwidth" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="actuatorlength" type="xs:float" default="0.7"/>
|
|
<xs:attribute name="actuatorwidth" type="xs:float" default="0.2"/>
|
|
<xs:attribute name="framelength" type="xs:float" default="1"/>
|
|
<xs:attribute name="framewidth" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="constraint" type="xs:float" default="0.1"/>
|
|
<xs:attribute name="slidercrank" type="xs:float" default="0.2"/>
|
|
<xs:attribute name="frustum" type="xs:float" default="10"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="rgba">
|
|
<xs:attribute name="fog" type="float4" default="0 0 0 1"/>
|
|
<xs:attribute name="haze" type="float4" default="1 1 1 1"/>
|
|
<xs:attribute name="force" type="float4" default="1 0.5 0.5 1"/>
|
|
<xs:attribute name="inertia" type="float4" default="0.8 0.2 0.2 0.6"/>
|
|
<xs:attribute name="joint" type="float4" default="0.2 0.6 0.8 1"/>
|
|
<xs:attribute name="actuator" type="float4" default="0.2 0.25 0.2 1"/>
|
|
<xs:attribute name="actuatornegative" type="float4" default="0.2 0.6 0.9 1"/>
|
|
<xs:attribute name="actuatorpositive" type="float4" default="0.9 0.4 0.2 1"/>
|
|
<xs:attribute name="com" type="float4" default="0.9 0.9 0.9 1"/>
|
|
<xs:attribute name="camera" type="float4" default="0.6 0.9 0.6 1"/>
|
|
<xs:attribute name="light" type="float4" default="0.6 0.6 0.9 1"/>
|
|
<xs:attribute name="selectpoint" type="float4" default="0.9 0.9 0.1 1"/>
|
|
<xs:attribute name="connect" type="float4" default="0.2 0.2 0.8 1"/>
|
|
<xs:attribute name="contactpoint" type="float4" default="0.9 0.6 0.2 1"/>
|
|
<xs:attribute name="contactforce" type="float4" default="0.7 0.9 0.9 1"/>
|
|
<xs:attribute name="contactfriction" type="float4" default="0.9 0.8 0.4 1"/>
|
|
<xs:attribute name="contacttorque" type="float4" default="0.9 0.7 0.9 1"/>
|
|
<xs:attribute name="contactgap" type="float4" default="0.5 0.8 0.9 1"/>
|
|
<xs:attribute name="rangefinder" type="float4" default="1 1 0.1 1"/>
|
|
<xs:attribute name="constraint" type="float4" default="0.9 0 0 1"/>
|
|
<xs:attribute name="slidercrank" type="float4" default="0.5 0.3 0.8 1"/>
|
|
<xs:attribute name="crankbroken" type="float4" default="0.9 0 0 1"/>
|
|
<xs:attribute name="frustum" type="float4" default="1 1 0 0.2"/>
|
|
<xs:attribute name="bv" type="float4" default="0 1 0 0.5"/>
|
|
<xs:attribute name="bvactive" type="float4" default="1 0 0 0.5"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_mesh">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: builtin, file</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: builtin, vertex</xs:documentation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="scale" type="double3" default="1 1 1"/>
|
|
<xs:attribute name="maxhullvert" type="xs:int" default="-1"/>
|
|
<xs:attribute name="inertia" type="kw_meshinertia" default="legacy"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_material">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): layer (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="layer" type="default_layer"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="texture" type="xs:string"/>
|
|
<xs:attribute name="texrepeat" type="float2" default="1 1"/>
|
|
<xs:attribute name="texuniform" type="kw_bool"/>
|
|
<xs:attribute name="emission" type="xs:float"/>
|
|
<xs:attribute name="specular" type="xs:float" default="0.5"/>
|
|
<xs:attribute name="shininess" type="xs:float" default="0.5"/>
|
|
<xs:attribute name="reflectance" type="xs:float"/>
|
|
<xs:attribute name="metallic" type="xs:float" default="-1"/>
|
|
<xs:attribute name="roughness" type="xs:float" default="-1"/>
|
|
<xs:attribute name="rgba" type="float4" default="1 1 1 1"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_joint">
|
|
<xs:attribute name="type" type="kw_jointtype" default="hinge"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="pos" type="double3">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless free</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="axis" type="double3" default="0 0 1">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for slide/hinge</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="springdamper" type="double2">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as stiffness/damping</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless free</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="actuatorfrclimited" type="kw_FalseTrueAuto" default="auto">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for slide/hinge</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="solreflimit" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimplimit" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="solreffriction" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="stiffness" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>spring polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="actuatorfrcrange" type="double2"/>
|
|
<xs:attribute name="actuatorgravcomp" type="kw_bool"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="ref" type="xs:double"/>
|
|
<xs:attribute name="springref" type="xs:double"/>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_geom">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="type" type="kw_geomtype" default="sphere"/>
|
|
<xs:attribute name="contype" type="xs:int" default="1"/>
|
|
<xs:attribute name="conaffinity" type="xs:int" default="1"/>
|
|
<xs:attribute name="condim" type="xs:int" default="3"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="priority" type="xs:int"/>
|
|
<xs:attribute name="size" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>saved length is type-dependent</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="friction" type="double1to3" default="1 0.005 0.0001"/>
|
|
<xs:attribute name="mass" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>mass/density: one is saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="density" type="xs:double" default="1000"/>
|
|
<xs:attribute name="shellinertia" type="kw_bool">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless mesh</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="solmix" type="xs:double" default="1"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="surfacevel" type="double1to6"/>
|
|
<xs:attribute name="adhesion" type="xs:double"/>
|
|
<xs:attribute name="fromto" type="double6">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as pos/quat/size</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0">
|
|
<xs:annotation>
|
|
<xs:documentation>saved in the mesh-corrected frame</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="hfield" type="xs:string"/>
|
|
<xs:attribute name="mesh" type="xs:string"/>
|
|
<xs:attribute name="fitscale" type="xs:double" default="1">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: not saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="fluidshape" type="kw_fluidshape"/>
|
|
<xs:attribute name="fluidcoef" type="double1to5" default="0.5 0.25 1.5 1 1"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_site">
|
|
<xs:attribute name="type" type="kw_geomtype" default="sphere"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="size" type="double1to3" default="0.005 0.005 0.005">
|
|
<xs:annotation>
|
|
<xs:documentation>saved length is type-dependent</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="fromto" type="double6">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as pos/quat/size</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_camera">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: fovy, sensorsize</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="projection" type="kw_projection"/>
|
|
<xs:attribute name="fovy" type="xs:double" default="45">
|
|
<xs:annotation>
|
|
<xs:documentation>fovy or the intrinsics family is saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="ipd" type="xs:double" default="0.068"/>
|
|
<xs:attribute name="resolution" type="int2" default="1 1"/>
|
|
<xs:attribute name="output" type="kwlist_camout"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="mode" type="kw_camlight" default="fixed"/>
|
|
<xs:attribute name="focal" type="float2"/>
|
|
<xs:attribute name="focalpixel" type="float2"/>
|
|
<xs:attribute name="principal" type="float2"/>
|
|
<xs:attribute name="principalpixel" type="float2"/>
|
|
<xs:attribute name="sensorsize" type="float2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_light">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: directional, type</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="directional" type="kw_bool"/>
|
|
<xs:attribute name="type" type="kw_lighttype"/>
|
|
<xs:attribute name="castshadow" type="kw_bool" default="true"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="dir" type="double3" default="0 0 -1"/>
|
|
<xs:attribute name="bulbradius" type="xs:float" default="0.02"/>
|
|
<xs:attribute name="intensity" type="xs:float"/>
|
|
<xs:attribute name="range" type="xs:float" default="10"/>
|
|
<xs:attribute name="attenuation" type="float3" default="1 0 0"/>
|
|
<xs:attribute name="cutoff" type="xs:float" default="45"/>
|
|
<xs:attribute name="softness" type="xs:float" default="0"/>
|
|
<xs:attribute name="exponent" type="xs:float" default="10"/>
|
|
<xs:attribute name="ambient" type="float3"/>
|
|
<xs:attribute name="diffuse" type="float3" default="0.7 0.7 0.7"/>
|
|
<xs:attribute name="specular" type="float3" default="0.3 0.3 0.3"/>
|
|
<xs:attribute name="mode" type="kw_camlight" default="fixed"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_pair">
|
|
<xs:attribute name="condim" type="xs:int" default="3"/>
|
|
<xs:attribute name="friction" type="double1to5" default="1 1 0.005 0.0001 0.0001"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solreffriction" type="double1to2"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="adhesion" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_equality">
|
|
<xs:attribute name="active" type="kw_bool"/>
|
|
<xs:attribute name="solref" type="double1to2"/>
|
|
<xs:attribute name="solimp" type="double1to5"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_tendon">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="solreflimit" type="double1to2"/>
|
|
<xs:attribute name="solimplimit" type="double1to5"/>
|
|
<xs:attribute name="solreffriction" type="double1to2"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5"/>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="springlength" type="double1to2"/>
|
|
<xs:attribute name="width" type="xs:double"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="stiffness" type="double1to3"/>
|
|
<xs:attribute name="damping" type="double1to3"/>
|
|
<xs:attribute name="rgba" type="float4"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_general">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actlimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="actrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="actdim" type="xs:int" default="-1">
|
|
<xs:annotation>
|
|
<xs:documentation>saved default depends on dyntype</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="input" type="kw_inputchart">
|
|
<xs:annotation>
|
|
<xs:documentation>so3 chart keyword, or servo token subset</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="velrange" type="double2"/>
|
|
<xs:attribute name="ffrange" type="double2"/>
|
|
<xs:attribute name="dyntype" type="kw_dyn" default="none"/>
|
|
<xs:attribute name="gaintype" type="kw_gain" default="fixed">
|
|
<xs:annotation>
|
|
<xs:documentation>gain/bias family is not</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="biastype" type="kw_bias" default="none">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for plugin actuators</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="dynprm" type="double1to10" default="1"/>
|
|
<xs:attribute name="gainprm" type="double1to10" default="1"/>
|
|
<xs:attribute name="biasprm" type="double1to10"/>
|
|
<xs:attribute name="actearly" type="kw_bool"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_motor">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_position">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="timeconst" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_velocity">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_intvelocity">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actlimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="actrange" type="double2"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_orientation">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="input" type="kw_inputchart"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_pid">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="posrange" type="double2">
|
|
<xs:annotation>
|
|
<xs:documentation>alias: the position-setpoint range</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="velrange" type="double2"/>
|
|
<xs:attribute name="ffrange" type="double2"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="ki" type="xs:double"/>
|
|
<xs:attribute name="imax" type="xs:double"/>
|
|
<xs:attribute name="slewmax" type="xs:double"/>
|
|
<xs:attribute name="input" type="kwlist_inputbit"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_damper">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_cylinder">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="timeconst" type="xs:double"/>
|
|
<xs:attribute name="area" type="xs:double"/>
|
|
<xs:attribute name="diameter" type="xs:double"/>
|
|
<xs:attribute name="bias" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_muscle">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="timeconst" type="double2"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="force" type="xs:double"/>
|
|
<xs:attribute name="scale" type="xs:double"/>
|
|
<xs:attribute name="lmin" type="xs:double"/>
|
|
<xs:attribute name="lmax" type="xs:double"/>
|
|
<xs:attribute name="vmax" type="xs:double"/>
|
|
<xs:attribute name="fpmax" type="xs:double"/>
|
|
<xs:attribute name="fvmax" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_adhesion">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="gain" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_dcmotor">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="motorconst" type="double1to2"/>
|
|
<xs:attribute name="resistance" type="xs:double"/>
|
|
<xs:attribute name="nominal" type="double1to3"/>
|
|
<xs:attribute name="saturation" type="double1to3"/>
|
|
<xs:attribute name="inductance" type="double1to2"/>
|
|
<xs:attribute name="cogging" type="double1to3"/>
|
|
<xs:attribute name="controller" type="double1to6"/>
|
|
<xs:attribute name="thermal" type="double1to6"/>
|
|
<xs:attribute name="lugre" type="double1to5"/>
|
|
<xs:attribute name="input" type="kw_dcmotorinput"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="extension_plugin">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): instance (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="instance" type="instance"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="plugin" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="mesh">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: builtin, file</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: builtin, vertex</xs:documentation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="content_type" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="vertex" type="floatlist"/>
|
|
<xs:attribute name="normal" type="floatlist"/>
|
|
<xs:attribute name="texcoord" type="floatlist"/>
|
|
<xs:attribute name="face" type="intlist"/>
|
|
<xs:attribute name="refpos" type="double3"/>
|
|
<xs:attribute name="refquat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="scale" type="double3" default="1 1 1"/>
|
|
<xs:attribute name="smoothnormal" type="kw_bool"/>
|
|
<xs:attribute name="maxhullvert" type="xs:int" default="-1"/>
|
|
<xs:attribute name="inertia" type="kw_meshinertia" default="legacy"/>
|
|
<xs:attribute name="builtin" type="kw_meshbuiltin"/>
|
|
<xs:attribute name="params" type="doublelist"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="hfield">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="content_type" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="nrow" type="xs:int"/>
|
|
<xs:attribute name="ncol" type="xs:int"/>
|
|
<xs:attribute name="size" type="double4" use="required"/>
|
|
<xs:attribute name="elevation" type="doublelist">
|
|
<xs:annotation>
|
|
<xs:documentation>flipped and zero-filled</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="skin">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): bone (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="bone" type="bone"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="inflate" type="xs:float"/>
|
|
<xs:attribute name="vertex" type="floatlist"/>
|
|
<xs:attribute name="texcoord" type="floatlist"/>
|
|
<xs:attribute name="face" type="intlist"/>
|
|
<xs:attribute name="group">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:int">
|
|
<xs:minInclusive value="0"/>
|
|
<xs:maxInclusive value="5"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="texture">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="type" type="kw_texture" default="cube"/>
|
|
<xs:attribute name="colorspace" type="kw_colorspace" default="auto"/>
|
|
<xs:attribute name="content_type" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="gridsize" type="int2" default="1 1"/>
|
|
<xs:attribute name="gridlayout">
|
|
<xs:annotation>
|
|
<xs:documentation>length must equal the gridsize product</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
<xs:maxLength value="12"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="fileright" type="xs:string"/>
|
|
<xs:attribute name="fileleft" type="xs:string"/>
|
|
<xs:attribute name="fileup" type="xs:string"/>
|
|
<xs:attribute name="filedown" type="xs:string"/>
|
|
<xs:attribute name="filefront" type="xs:string"/>
|
|
<xs:attribute name="fileback" type="xs:string"/>
|
|
<xs:attribute name="builtin" type="kw_builtin"/>
|
|
<xs:attribute name="rgb1" type="double3" default="0.8 0.8 0.8"/>
|
|
<xs:attribute name="rgb2" type="double3" default="0.5 0.5 0.5"/>
|
|
<xs:attribute name="mark" type="kw_mark"/>
|
|
<xs:attribute name="markrgb" type="double3"/>
|
|
<xs:attribute name="random" type="xs:double" default="0.01"/>
|
|
<xs:attribute name="width" type="xs:int"/>
|
|
<xs:attribute name="height" type="xs:int"/>
|
|
<xs:attribute name="hflip" type="kw_bool"/>
|
|
<xs:attribute name="vflip" type="kw_bool"/>
|
|
<xs:attribute name="nchannel" type="xs:int" default="3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="material">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): layer (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="layer" type="layer"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="texture" type="xs:string"/>
|
|
<xs:attribute name="texrepeat" type="float2" default="1 1"/>
|
|
<xs:attribute name="texuniform" type="kw_bool"/>
|
|
<xs:attribute name="emission" type="xs:float"/>
|
|
<xs:attribute name="specular" type="xs:float" default="0.5"/>
|
|
<xs:attribute name="shininess" type="xs:float" default="0.5"/>
|
|
<xs:attribute name="reflectance" type="xs:float"/>
|
|
<xs:attribute name="metallic" type="xs:float" default="-1"/>
|
|
<xs:attribute name="roughness" type="xs:float" default="-1"/>
|
|
<xs:attribute name="rgba" type="float4" default="1 1 1 1"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="model">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="content_type" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="body">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (R), frame (R), replicate (*), inertial (?), joint (*), freejoint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="body" type="body"/>
|
|
<xs:element name="frame" type="frame"/>
|
|
<xs:element name="replicate" type="replicate"/>
|
|
<xs:element name="inertial" type="inertial"/>
|
|
<xs:element name="joint" type="joint"/>
|
|
<xs:element name="freejoint" type="freejoint"/>
|
|
<xs:element name="geom" type="geom"/>
|
|
<xs:element name="attach" type="attach"/>
|
|
<xs:element name="site" type="site"/>
|
|
<xs:element name="camera" type="camera"/>
|
|
<xs:element name="light" type="light"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="composite" type="composite"/>
|
|
<xs:element name="flexcomp" type="flexcomp"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="childclass" type="xs:string"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="mocap" type="kw_bool"/>
|
|
<xs:attribute name="gravcomp" type="xs:double"/>
|
|
<xs:attribute name="sleep" type="kw_bodysleep"/>
|
|
<xs:attribute name="simple" type="kw_FalseAuto" default="auto"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="frame">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (R), frame (R), replicate (*), inertial (?), joint (*), freejoint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*), flexcomp (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="body" type="body"/>
|
|
<xs:element name="frame" type="frame"/>
|
|
<xs:element name="replicate" type="replicate"/>
|
|
<xs:element name="inertial" type="inertial"/>
|
|
<xs:element name="joint" type="joint"/>
|
|
<xs:element name="freejoint" type="freejoint"/>
|
|
<xs:element name="geom" type="geom"/>
|
|
<xs:element name="attach" type="attach"/>
|
|
<xs:element name="site" type="site"/>
|
|
<xs:element name="camera" type="camera"/>
|
|
<xs:element name="light" type="light"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="composite" type="composite"/>
|
|
<xs:element name="flexcomp" type="flexcomp"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="childclass" type="xs:string"/>
|
|
<xs:attribute name="pos" type="double3"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="replicate">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): body (*), frame (*), replicate (R), inertial (?), joint (*), geom (*), attach (*), site (*), camera (*), light (*), plugin (*), composite (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="body" type="body"/>
|
|
<xs:element name="frame" type="frame"/>
|
|
<xs:element name="replicate" type="replicate"/>
|
|
<xs:element name="inertial" type="inertial"/>
|
|
<xs:element name="joint" type="joint"/>
|
|
<xs:element name="geom" type="geom"/>
|
|
<xs:element name="attach" type="attach"/>
|
|
<xs:element name="site" type="site"/>
|
|
<xs:element name="camera" type="camera"/>
|
|
<xs:element name="light" type="light"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="composite" type="composite"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="count" type="xs:int" use="required"/>
|
|
<xs:attribute name="offset" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="sep" type="xs:string"/>
|
|
<xs:attribute name="childclass" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="geom">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="type" type="kw_geomtype" default="sphere"/>
|
|
<xs:attribute name="contype" type="xs:int" default="1"/>
|
|
<xs:attribute name="conaffinity" type="xs:int" default="1"/>
|
|
<xs:attribute name="condim" type="xs:int" default="3"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="priority" type="xs:int"/>
|
|
<xs:attribute name="size" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>saved length is type-dependent</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="friction" type="double1to3" default="1 0.005 0.0001"/>
|
|
<xs:attribute name="mass" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>mass/density: one is saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="density" type="xs:double" default="1000"/>
|
|
<xs:attribute name="shellinertia" type="kw_bool">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless mesh</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="solmix" type="xs:double" default="1"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="surfacevel" type="double1to6"/>
|
|
<xs:attribute name="adhesion" type="xs:double"/>
|
|
<xs:attribute name="fromto" type="double6">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as pos/quat/size</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0">
|
|
<xs:annotation>
|
|
<xs:documentation>saved in the mesh-corrected frame</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="hfield" type="xs:string"/>
|
|
<xs:attribute name="mesh" type="xs:string"/>
|
|
<xs:attribute name="fitscale" type="xs:double" default="1">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: not saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="fluidshape" type="kw_fluidshape"/>
|
|
<xs:attribute name="fluidcoef" type="double1to5" default="0.5 0.25 1.5 1 1"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="attach">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: body, frame</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="model" type="xs:string"/>
|
|
<xs:attribute name="body" type="xs:string"/>
|
|
<xs:attribute name="frame" type="xs:string"/>
|
|
<xs:attribute name="prefix" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="site">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="type" type="kw_geomtype" default="sphere"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="size" type="double1to3" default="0.005 0.005 0.005">
|
|
<xs:annotation>
|
|
<xs:documentation>saved length is type-dependent</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="fromto" type="double6">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as pos/quat/size</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="camera">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: fovy, sensorsize</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="projection" type="kw_projection"/>
|
|
<xs:attribute name="fovy" type="xs:double" default="45">
|
|
<xs:annotation>
|
|
<xs:documentation>fovy or the intrinsics family is saved</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="ipd" type="xs:double" default="0.068"/>
|
|
<xs:attribute name="resolution" type="int2" default="1 1"/>
|
|
<xs:attribute name="output" type="kwlist_camout"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="mode" type="kw_camlight" default="fixed"/>
|
|
<xs:attribute name="target" type="xs:string"/>
|
|
<xs:attribute name="focal" type="float2"/>
|
|
<xs:attribute name="focalpixel" type="float2"/>
|
|
<xs:attribute name="principal" type="float2"/>
|
|
<xs:attribute name="principalpixel" type="float2"/>
|
|
<xs:attribute name="sensorsize" type="float2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="light">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: directional, type</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="directional" type="kw_bool"/>
|
|
<xs:attribute name="type" type="kw_lighttype"/>
|
|
<xs:attribute name="castshadow" type="kw_bool" default="true"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="pos" type="double3" default="0 0 0"/>
|
|
<xs:attribute name="dir" type="double3" default="0 0 -1"/>
|
|
<xs:attribute name="bulbradius" type="xs:float" default="0.02"/>
|
|
<xs:attribute name="intensity" type="xs:float"/>
|
|
<xs:attribute name="range" type="xs:float" default="10"/>
|
|
<xs:attribute name="attenuation" type="float3" default="1 0 0"/>
|
|
<xs:attribute name="cutoff" type="xs:float" default="45"/>
|
|
<xs:attribute name="softness" type="xs:float" default="0"/>
|
|
<xs:attribute name="exponent" type="xs:float" default="10"/>
|
|
<xs:attribute name="ambient" type="float3"/>
|
|
<xs:attribute name="diffuse" type="float3" default="0.7 0.7 0.7"/>
|
|
<xs:attribute name="specular" type="float3" default="0.3 0.3 0.3"/>
|
|
<xs:attribute name="mode" type="kw_camlight" default="fixed"/>
|
|
<xs:attribute name="target" type="xs:string"/>
|
|
<xs:attribute name="texture" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="plugin">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="config" type="config"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="plugin" type="xs:string"/>
|
|
<xs:attribute name="instance" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="composite">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): composite_joint (*), composite_skin (?), composite_geom (?), composite_site (?), plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="joint" type="composite_joint"/>
|
|
<xs:element name="skin" type="composite_skin"/>
|
|
<xs:element name="geom" type="composite_geom"/>
|
|
<xs:element name="site" type="composite_site"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="prefix" type="xs:string"/>
|
|
<xs:attribute name="type" type="kw_comp" use="required"/>
|
|
<xs:attribute name="count" type="int1to3"/>
|
|
<xs:attribute name="offset" type="double3"/>
|
|
<xs:attribute name="vertex" type="doublelist"/>
|
|
<xs:attribute name="initial" type="xs:string"/>
|
|
<xs:attribute name="curve" type="xs:string"/>
|
|
<xs:attribute name="size" type="double1to3"/>
|
|
<xs:attribute name="quat" type="double4"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flexcomp">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flexcomp_edge (?), elasticity (?), flexcomp_contact (?), pin (*), plugin (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="edge" type="flexcomp_edge"/>
|
|
<xs:element name="elasticity" type="elasticity"/>
|
|
<xs:element name="contact" type="flexcomp_contact"/>
|
|
<xs:element name="pin" type="pin"/>
|
|
<xs:element name="plugin" type="plugin"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="type" type="kw_fcomp"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="dim" type="xs:int"/>
|
|
<xs:attribute name="dof" type="kw_fdof"/>
|
|
<xs:attribute name="count" type="int3"/>
|
|
<xs:attribute name="cellcount" type="int3"/>
|
|
<xs:attribute name="spacing" type="double3"/>
|
|
<xs:attribute name="radius" type="xs:double"/>
|
|
<xs:attribute name="rigid" type="kw_bool"/>
|
|
<xs:attribute name="mass" type="xs:double"/>
|
|
<xs:attribute name="inertiabox" type="xs:double"/>
|
|
<xs:attribute name="scale" type="double3"/>
|
|
<xs:attribute name="file" type="xs:string"/>
|
|
<xs:attribute name="point" type="doublelist"/>
|
|
<xs:attribute name="element" type="doublelist"/>
|
|
<xs:attribute name="texcoord" type="doublelist"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="rgba" type="float4"/>
|
|
<xs:attribute name="flatskin" type="kw_bool"/>
|
|
<xs:attribute name="pos" type="double3"/>
|
|
<xs:attribute name="quat" type="double4"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="origin" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flex">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): flexcomp_contact (?), flex_edge (?), elasticity (?)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="contact" type="flexcomp_contact"/>
|
|
<xs:element name="edge" type="flex_edge"/>
|
|
<xs:element name="elasticity" type="elasticity"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="dim" type="xs:int" default="2"/>
|
|
<xs:attribute name="radius" type="xs:double" default="0.005"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="flatskin" type="kw_bool"/>
|
|
<xs:attribute name="body" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>space-separated body names</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="vertex" type="doublelist"/>
|
|
<xs:attribute name="element" type="intlist" use="required"/>
|
|
<xs:attribute name="texcoord" type="floatlist"/>
|
|
<xs:attribute name="elemtexcoord" type="intlist"/>
|
|
<xs:attribute name="node" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>space-separated body names</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="nodecoord" type="doublelist">
|
|
<xs:annotation>
|
|
<xs:documentation>node positions within body frames</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="cellcount" type="int3" default="1 1 1">
|
|
<xs:annotation>
|
|
<xs:documentation>seeded before reading</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="dof" type="kw_fdof">
|
|
<xs:annotation>
|
|
<xs:documentation>lowers to interpolation order</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="pair">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="geom1" type="xs:string"/>
|
|
<xs:attribute name="geom2" type="xs:string"/>
|
|
<xs:attribute name="condim" type="xs:int" default="3"/>
|
|
<xs:attribute name="friction" type="double1to5" default="1 1 0.005 0.0001 0.0001"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solreffriction" type="double1to2"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="adhesion" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="exclude">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="body1" type="xs:string" use="required"/>
|
|
<xs:attribute name="body2" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="spatial">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): spatial_site (*), spatial_geom (*), pulley (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="site" type="spatial_site"/>
|
|
<xs:element name="geom" type="spatial_geom"/>
|
|
<xs:element name="pulley" type="pulley"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actuatorfrclimited" type="kw_FalseTrueAuto"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="actuatorfrcrange" type="double2"/>
|
|
<xs:attribute name="solreflimit" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimplimit" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="solreffriction" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="springlength" type="double1to2" default="-1 -1">
|
|
<xs:annotation>
|
|
<xs:documentation>one value: copied to both</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="width" type="xs:double" default="0.003"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="stiffness" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>spring polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="rgba" type="float4" default="0.5 0.5 0.5 1"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="fixed">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): fixed_joint (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="joint" type="fixed_joint"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actuatorfrclimited" type="kw_FalseTrueAuto"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="actuatorfrcrange" type="double2"/>
|
|
<xs:attribute name="solreflimit" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimplimit" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="solreffriction" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="springlength" type="double1to2" default="-1 -1">
|
|
<xs:annotation>
|
|
<xs:documentation>one value: copied to both</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="stiffness" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>spring polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="connect">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: site1+site2, body1+body2+anchor</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: site1+site2, body1+anchor</xs:documentation>
|
|
<xs:documentation>constraint: together or absent: site1, site2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
<xs:attribute name="anchor" type="double3"/>
|
|
<xs:attribute name="site1" type="xs:string"/>
|
|
<xs:attribute name="site2" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="weld">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: site1+site2, body1+body2+anchor+relpose</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: site1+site2, body1</xs:documentation>
|
|
<xs:documentation>constraint: together or absent: site1, site2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
<xs:attribute name="relpose" type="double7"/>
|
|
<xs:attribute name="anchor" type="double3"/>
|
|
<xs:attribute name="site1" type="xs:string"/>
|
|
<xs:attribute name="site2" type="xs:string"/>
|
|
<xs:attribute name="torquescale" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="equality_joint">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="joint1" type="xs:string" use="required"/>
|
|
<xs:attribute name="joint2" type="xs:string"/>
|
|
<xs:attribute name="polycoef" type="double1to5"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="equality_tendon">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="tendon1" type="xs:string" use="required"/>
|
|
<xs:attribute name="tendon2" type="xs:string"/>
|
|
<xs:attribute name="polycoef" type="double1to5"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="equality_flex">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="flex" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flexvert">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="flex" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flexstrain">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="active" type="kw_bool" default="true"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="flex" type="xs:string" use="required"/>
|
|
<xs:attribute name="cell" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="general">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actlimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="actrange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="body" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>transmission target</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="actdim" type="xs:int" default="-1">
|
|
<xs:annotation>
|
|
<xs:documentation>saved default depends on dyntype</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="input" type="kw_inputchart">
|
|
<xs:annotation>
|
|
<xs:documentation>so3 chart keyword, or servo token subset</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="velrange" type="double2"/>
|
|
<xs:attribute name="ffrange" type="double2"/>
|
|
<xs:attribute name="dyntype" type="kw_dyn" default="none"/>
|
|
<xs:attribute name="gaintype" type="kw_gain" default="fixed">
|
|
<xs:annotation>
|
|
<xs:documentation>gain/bias family is not</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="biastype" type="kw_bias" default="none">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for plugin actuators</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="dynprm" type="double1to10" default="1"/>
|
|
<xs:attribute name="gainprm" type="double1to10" default="1"/>
|
|
<xs:attribute name="biasprm" type="double1to10"/>
|
|
<xs:attribute name="actearly" type="kw_bool"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="motor">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="position">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="timeconst" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="velocity">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="intvelocity">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actlimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="actrange" type="double2"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="orientation">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="input" type="kw_inputchart"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="pid">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="posrange" type="double2">
|
|
<xs:annotation>
|
|
<xs:documentation>alias: the position-setpoint range</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="velrange" type="double2"/>
|
|
<xs:attribute name="ffrange" type="double2"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="inheritrange" type="xs:double"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kp" type="xs:double"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
<xs:attribute name="dampratio" type="xs:double"/>
|
|
<xs:attribute name="ki" type="xs:double"/>
|
|
<xs:attribute name="imax" type="xs:double"/>
|
|
<xs:attribute name="slewmax" type="xs:double"/>
|
|
<xs:attribute name="input" type="kwlist_inputbit"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="damper">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="kv" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="cylinder">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="timeconst" type="xs:double"/>
|
|
<xs:attribute name="area" type="xs:double"/>
|
|
<xs:attribute name="diameter" type="xs:double"/>
|
|
<xs:attribute name="bias" type="double3"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="muscle">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="timeconst" type="double2"/>
|
|
<xs:attribute name="tausmooth" type="xs:double"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="force" type="xs:double"/>
|
|
<xs:attribute name="scale" type="xs:double"/>
|
|
<xs:attribute name="lmin" type="xs:double"/>
|
|
<xs:attribute name="lmax" type="xs:double"/>
|
|
<xs:attribute name="vmax" type="xs:double"/>
|
|
<xs:attribute name="fpmax" type="xs:double"/>
|
|
<xs:attribute name="fvmax" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="adhesion">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="body" type="xs:string"/>
|
|
<xs:attribute name="gain" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="dcmotor">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="refsite" type="xs:string"/>
|
|
<xs:attribute name="motorconst" type="double1to2"/>
|
|
<xs:attribute name="resistance" type="xs:double"/>
|
|
<xs:attribute name="nominal" type="double1to3"/>
|
|
<xs:attribute name="saturation" type="double1to3"/>
|
|
<xs:attribute name="inductance" type="double1to2"/>
|
|
<xs:attribute name="cogging" type="double1to3"/>
|
|
<xs:attribute name="controller" type="double1to6"/>
|
|
<xs:attribute name="thermal" type="double1to6"/>
|
|
<xs:attribute name="lugre" type="double1to5"/>
|
|
<xs:attribute name="input" type="kw_dcmotorinput"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="actuator_plugin">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="config" type="config"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="ctrlrange" type="double2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="plugin" type="xs:string"/>
|
|
<xs:attribute name="instance" type="xs:string"/>
|
|
<xs:attribute name="ctrllimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcelimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="actlimited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="forcerange" type="double2"/>
|
|
<xs:attribute name="actrange" type="double2"/>
|
|
<xs:attribute name="lengthrange" type="double2"/>
|
|
<xs:attribute name="gear" type="double1to6" default="1 0 0 0 0 0"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="cranklength" type="xs:double">
|
|
<xs:annotation>
|
|
<xs:documentation>slidercrank-only, validated</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="joint" type="xs:string"/>
|
|
<xs:attribute name="jointinparent" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="actdim" type="xs:int" default="-1"/>
|
|
<xs:attribute name="dyntype" type="kw_dyn" default="none"/>
|
|
<xs:attribute name="dynprm" type="double1to10" default="1"/>
|
|
<xs:attribute name="tendon" type="xs:string"/>
|
|
<xs:attribute name="cranksite" type="xs:string"/>
|
|
<xs:attribute name="slidersite" type="xs:string"/>
|
|
<xs:attribute name="actearly" type="kw_bool"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="touch">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="accelerometer">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="velocimeter">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="gyro">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="force">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="torque">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="magnetometer">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="camprojection">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
<xs:attribute name="camera" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="rangefinder">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: site, camera</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: site, camera</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="camera" type="xs:string"/>
|
|
<xs:attribute name="data" type="kwlist_raydata">
|
|
<xs:annotation>
|
|
<xs:documentation>ordering-checked</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointpos">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonpos">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="actuatorpos">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="actuator" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="actuatorvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="actuator" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="actuatorfrc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="actuator" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointactuatorfrc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonactuatorfrc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ballquat">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ballangvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointlimitpos">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointlimitvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="jointlimitfrc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonlimitpos">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonlimitvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tendonlimitfrc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="tendon" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framepos">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framequat">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framexaxis">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="frameyaxis">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framezaxis">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framelinvel">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="frameangvel">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: reftype, refname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="reftype" type="kw_frameobj"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="framelinacc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="frameangacc">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="subtreecom">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="body" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="subtreelinvel">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="body" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="subtreeangmom">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="body" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="insidesite">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
<xs:attribute name="objtype" type="kw_frameobj" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="distance">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: geom2, body2</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom2, body2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="geom1" type="xs:string"/>
|
|
<xs:attribute name="geom2" type="xs:string"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="normal">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: geom2, body2</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom2, body2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="geom1" type="xs:string"/>
|
|
<xs:attribute name="geom2" type="xs:string"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="fromto">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom1, body1</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: geom2, body2</xs:documentation>
|
|
<xs:documentation>constraint: at least one of: geom2, body2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="geom1" type="xs:string"/>
|
|
<xs:attribute name="geom2" type="xs:string"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="sensor_contact">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: at most one of: geom1, body1, subtree1, site</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: geom2, body2, subtree2</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
<xs:attribute name="geom1" type="xs:string"/>
|
|
<xs:attribute name="geom2" type="xs:string"/>
|
|
<xs:attribute name="body1" type="xs:string"/>
|
|
<xs:attribute name="body2" type="xs:string"/>
|
|
<xs:attribute name="subtree1" type="xs:string"/>
|
|
<xs:attribute name="subtree2" type="xs:string"/>
|
|
<xs:attribute name="site" type="xs:string"/>
|
|
<xs:attribute name="num" type="xs:int"/>
|
|
<xs:attribute name="data" type="kwlist_condata"/>
|
|
<xs:attribute name="reduce" type="kw_reduce"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="e_potential">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="e_kinetic">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="clock">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tactile">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="geom" type="xs:string" use="required"/>
|
|
<xs:attribute name="mesh" type="xs:string" use="required"/>
|
|
<xs:attribute name="nsample" type="xs:int"/>
|
|
<xs:attribute name="interp" type="kw_interp"/>
|
|
<xs:attribute name="delay" type="xs:double"/>
|
|
<xs:attribute name="interval" type="double1to2"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="user">
|
|
<xs:annotation>
|
|
<xs:documentation>constraint: together or absent: objtype, objname</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="objtype" type="xs:string"/>
|
|
<xs:attribute name="objname" type="xs:string"/>
|
|
<xs:attribute name="datatype" type="kw_datatype" default="real"/>
|
|
<xs:attribute name="needstage" type="kw_stage" default="acc"/>
|
|
<xs:attribute name="dim" type="xs:int"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="noise" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="sensor_plugin">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="config" type="config"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="plugin" type="xs:string"/>
|
|
<xs:attribute name="instance" type="xs:string"/>
|
|
<xs:attribute name="cutoff" type="xs:double"/>
|
|
<xs:attribute name="objtype" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>objtype/objname, reftype/refname: pairwise</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="objname" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>co-occurrence enforced by the reader</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="reftype" type="xs:string"/>
|
|
<xs:attribute name="refname" type="xs:string"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="numeric">
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="size" type="xs:int"/>
|
|
<xs:attribute name="data" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="text">
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
<xs:attribute name="data" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="tuple">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): element (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="element" type="element"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="key">
|
|
<xs:attribute name="name" type="xs:string">
|
|
<xs:annotation>
|
|
<xs:documentation>set even when absent</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="time" type="xs:double"/>
|
|
<xs:attribute name="qpos" type="doublelist"/>
|
|
<xs:attribute name="qvel" type="doublelist"/>
|
|
<xs:attribute name="act" type="doublelist"/>
|
|
<xs:attribute name="mpos" type="doublelist"/>
|
|
<xs:attribute name="mquat" type="doublelist"/>
|
|
<xs:attribute name="ctrl" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="default_layer">
|
|
<xs:attribute name="texture" type="xs:string"/>
|
|
<xs:attribute name="role" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="instance">
|
|
<xs:annotation>
|
|
<xs:documentation>children, with cardinality the XSD cannot enforce (? at most one, ! exactly one, * any number, R recursive): config (*)</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="config" type="config"/>
|
|
<xs:element name="include" type="include"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="bone">
|
|
<xs:attribute name="body" type="xs:string" use="required"/>
|
|
<xs:attribute name="bindpos" type="double3"/>
|
|
<xs:attribute name="bindquat" type="double4"/>
|
|
<xs:attribute name="vertid" type="intlist"/>
|
|
<xs:attribute name="vertweight" type="floatlist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="layer">
|
|
<xs:attribute name="texture" type="xs:string"/>
|
|
<xs:attribute name="role" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="inertial">
|
|
<xs:annotation>
|
|
<xs:documentation>projects into the parent body's i-frame</xs:documentation>
|
|
<xs:documentation>constraint: at most one of: fullinertia, quat, axisangle, xyaxes, zaxis, euler</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="pos" type="double3" use="required"/>
|
|
<xs:attribute name="quat" type="double4" default="1 0 0 0"/>
|
|
<xs:attribute name="mass" type="xs:double" use="required"/>
|
|
<xs:attribute name="diaginertia" type="double3"/>
|
|
<xs:attribute name="axisangle" type="double4"/>
|
|
<xs:attribute name="xyaxes" type="double6"/>
|
|
<xs:attribute name="zaxis" type="double3"/>
|
|
<xs:attribute name="euler" type="double3"/>
|
|
<xs:attribute name="fullinertia" type="double6"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="joint">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="class" type="xs:string"/>
|
|
<xs:attribute name="type" type="kw_jointtype" default="hinge"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="pos" type="double3">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless free</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="axis" type="double3" default="0 0 1">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for slide/hinge</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="springdamper" type="double2">
|
|
<xs:annotation>
|
|
<xs:documentation>compile directive: saved as stiffness/damping</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto">
|
|
<xs:annotation>
|
|
<xs:documentation>saved unless free</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="actuatorfrclimited" type="kw_FalseTrueAuto" default="auto">
|
|
<xs:annotation>
|
|
<xs:documentation>saved for slide/hinge</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="solreflimit" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimplimit" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="solreffriction" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="stiffness" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>spring polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="actuatorfrcrange" type="double2"/>
|
|
<xs:attribute name="actuatorgravcomp" type="kw_bool"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="ref" type="xs:double"/>
|
|
<xs:attribute name="springref" type="xs:double"/>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="damping" type="double1to3">
|
|
<xs:annotation>
|
|
<xs:documentation>damper polynomial, 1+mjNPOLY coefficients</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="user" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="freejoint">
|
|
<xs:attribute name="name" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="align" type="kw_FalseTrueAuto"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="config">
|
|
<xs:attribute name="key" type="xs:string" use="required"/>
|
|
<xs:attribute name="value" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="composite_joint">
|
|
<xs:attribute name="kind" type="kw_jkind" use="required"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="stiffness" type="xs:double"/>
|
|
<xs:attribute name="damping" type="xs:double"/>
|
|
<xs:attribute name="armature" type="xs:double"/>
|
|
<xs:attribute name="solreffix" type="double1to2"/>
|
|
<xs:attribute name="solimpfix" type="double1to5"/>
|
|
<xs:attribute name="type" type="kw_jointtype"/>
|
|
<xs:attribute name="axis" type="double3"/>
|
|
<xs:attribute name="limited" type="kw_FalseTrueAuto" default="auto"/>
|
|
<xs:attribute name="range" type="double2"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="solreflimit" type="double1to2"/>
|
|
<xs:attribute name="solimplimit" type="double1to5"/>
|
|
<xs:attribute name="frictionloss" type="xs:double"/>
|
|
<xs:attribute name="solreffriction" type="double1to2"/>
|
|
<xs:attribute name="solimpfriction" type="double1to5"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="composite_skin">
|
|
<xs:attribute name="texcoord" type="kw_bool"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="rgba" type="float4"/>
|
|
<xs:attribute name="inflate" type="xs:double"/>
|
|
<xs:attribute name="subgrid" type="xs:int"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="composite_geom">
|
|
<xs:attribute name="type" type="kw_geomtype"/>
|
|
<xs:attribute name="contype" type="xs:int"/>
|
|
<xs:attribute name="conaffinity" type="xs:int"/>
|
|
<xs:attribute name="condim" type="xs:int"/>
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="priority" type="xs:int"/>
|
|
<xs:attribute name="size" type="double1to3"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="rgba" type="float4"/>
|
|
<xs:attribute name="friction" type="double1to3"/>
|
|
<xs:attribute name="mass" type="xs:double"/>
|
|
<xs:attribute name="density" type="xs:double"/>
|
|
<xs:attribute name="solmix" type="xs:double"/>
|
|
<xs:attribute name="solref" type="double1to2"/>
|
|
<xs:attribute name="solimp" type="double1to5"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="surfacevel" type="double1to6"/>
|
|
<xs:attribute name="adhesion" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="composite_site">
|
|
<xs:attribute name="group" type="xs:int"/>
|
|
<xs:attribute name="size" type="double1to3"/>
|
|
<xs:attribute name="material" type="xs:string"/>
|
|
<xs:attribute name="rgba" type="float4"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flexcomp_edge">
|
|
<xs:attribute name="equality" type="kw_flexeq"/>
|
|
<xs:attribute name="solref" type="double1to2"/>
|
|
<xs:attribute name="solimp" type="double1to5"/>
|
|
<xs:attribute name="stiffness" type="xs:double"/>
|
|
<xs:attribute name="damping" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="elasticity">
|
|
<xs:attribute name="young" type="xs:double"/>
|
|
<xs:attribute name="poisson" type="xs:double"/>
|
|
<xs:attribute name="damping" type="xs:double"/>
|
|
<xs:attribute name="thickness" type="xs:double" default="-1"/>
|
|
<xs:attribute name="elastic2d" type="kw_elastic2d"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flexcomp_contact">
|
|
<xs:attribute name="contype" type="xs:int" default="1"/>
|
|
<xs:attribute name="conaffinity" type="xs:int" default="1"/>
|
|
<xs:attribute name="condim" type="xs:int" default="3"/>
|
|
<xs:attribute name="priority" type="xs:int"/>
|
|
<xs:attribute name="friction" type="double1to3" default="1 0.005 0.0001"/>
|
|
<xs:attribute name="solmix" type="xs:double" default="1"/>
|
|
<xs:attribute name="solref" type="double1to2" default="0.02 1"/>
|
|
<xs:attribute name="solimp" type="double1to5" default="0.9 0.95 0.001 0.5 2"/>
|
|
<xs:attribute name="margin" type="xs:double"/>
|
|
<xs:attribute name="gap" type="xs:double"/>
|
|
<xs:attribute name="internal" type="kw_bool"/>
|
|
<xs:attribute name="selfcollide" type="kw_flexself" default="auto"/>
|
|
<xs:attribute name="activelayers" type="xs:int" default="1"/>
|
|
<xs:attribute name="passive" type="kw_bool"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="pin">
|
|
<xs:attribute name="id" type="doublelist"/>
|
|
<xs:attribute name="range" type="doublelist"/>
|
|
<xs:attribute name="grid" type="doublelist"/>
|
|
<xs:attribute name="gridrange" type="doublelist"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="flex_edge">
|
|
<xs:attribute name="stiffness" type="xs:double"/>
|
|
<xs:attribute name="damping" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="spatial_site">
|
|
<xs:attribute name="site" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="spatial_geom">
|
|
<xs:attribute name="geom" type="xs:string" use="required"/>
|
|
<xs:attribute name="sidesite" type="xs:string"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="pulley">
|
|
<xs:attribute name="divisor" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="fixed_joint">
|
|
<xs:attribute name="joint" type="xs:string" use="required"/>
|
|
<xs:attribute name="coef" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="element">
|
|
<xs:attribute name="objtype" type="xs:string" use="required"/>
|
|
<xs:attribute name="objname" type="xs:string" use="required"/>
|
|
<xs:attribute name="prm" type="xs:double"/>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="include">
|
|
<xs:annotation>
|
|
<xs:documentation>includes another MJCF file; resolved before parsing</xs:documentation>
|
|
</xs:annotation>
|
|
<xs:attribute name="file" type="xs:string" use="required"/>
|
|
</xs:complexType>
|
|
|
|
<xs:element name="mujoco" type="mujoco"/>
|
|
</xs:schema>
|