# OpenMBV - XML Documentation

XML-Namespace: http://www.mbsim-env.de/OpenMBV

Contents

- 1 Introduction
- 2 Nomenclature
  - 2.1 Legend
  - 2.2 An element
  - 2.3 A choice of element
  - 2.4 A sequence of elements
  - 2.5 Nested sequences/choices
  - 2.6 Child Elements
- 3 Elements
  - <Object>
    - <Body>
      - <DynamicColoredBody>
        - <Arrow>
        - <CoilSpring>
        - <DynamicNurbsCurve>
        - <DynamicNurbsSurface>
        - <FlexibleBody>
          - <DynamicIndexedFaceSet>
          - <DynamicIndexedLineSet>
          - <DynamicPointSet>
        - <NurbsDisk>
        - <RigidBody>
          - <BevelGear>
          - <CompoundRigidBody>
          - <Cube>
          - <Cuboid>
          - <Cylinder>
          - <CylindricalGear>
          - <Extrusion>
          - <Frame>
          - <Frustum>
          - <Grid>
          - <IndexedFaceSet>
          - <IndexedLineSet>
          - <InvisibleBody>
          - <IvBody>
          - <NurbsCurve>
          - <NurbsSurface>
          - <PlanarGear>
          - <PointSet>
          - <Rack>
          - <Rotation>
          - <Sphere>
        - <SpineExtrusion>
      - <IvScreenAnnotation>
      - <Path>
    - <Group>
- 4 Simple Types
  - objectReferenceType

# 1 Introduction

The data of an OpenMBV visualization consist of two parts: a XML file (`<filename>.ombvx`) and a HDF5 file (`<filename>.ombvh5`).

The root element of the XML file must be <Group>. The syntax, the attributes and the possible children for the XML elements is documented in the section Elements. A full valid example XML file (TS.ombvx) is given by:

    <?xml version="1.0" encoding="UTF-8"?>
    <Group name="TS" expand="1" enable="1" xmlns="http://www.mbsim-env.de/OpenMBV">
      <Group name="Hauptgruppe1" expand="1" enable="1">
        <Cuboid name="Box1" enable="1">
          <minimalColorValue>0</minimalColorValue>
          <maximalColorValue>1</maximalColorValue>
          <diffuseColor>[0.3;1;1]</diffuseColor>
          <initialTranslation>[0;0;0]</initialTranslation>
          <initialRotation>[0;0;0]</initialRotation>
          <scaleFactor>1</scaleFactor>
          <length>[0.5;0.5;0.5]</length>
        </Cuboid>
        <Frame name="P1" enable="1">
          <minimalColorValue>0</minimalColorValue>
          <maximalColorValue>1</maximalColorValue>
          <diffuseColor>[-1;1;1]</diffuseColor>
          <initialTranslation>[0;0;0]</initialTranslation>
          <initialRotation>[0;0;0]</initialRotation>
          <scaleFactor>1</scaleFactor>
          <size>0.5</size>
          <offset>1</offset>
        </Frame>
      </Group>
    </Group>

The according HDF5 file (TS.ombvh5) must provide two datasets with the following path in the HDF5 file:

- "/Hauptgruppe1/Box1/data"
- "/Hauptgruppe1/P1/data"

The content of the datasets is also documented in section Elements.

# 2 Nomenclature

## 2.1 Legend

Icon | Description
--- | ---
<element> | A XML element of name 'element'
attrName | A XML attribute of name 'attrName'
namespace | A XML namespace of name 'namespace'
type | A XML element or attribute type of name 'type'
required | A required XML attribute
0-2 | A occurance of XML elements or attributes

## 2.2 An element

<ElementName> 0-2 elementType
attrName1 required typeOfTheAttribute
attrName2 optional typeOfTheAttribute

Documentation of the element.

The upper nomenclature defines a XML element named ElementName with (if given) a minimal occurance of 0 and a maximal occurance of 2. The element is of type elementType.
A occurance of optional means 0-1.
The element has two attributes named attrName1 and attrName2 of type typeOfTheAttribute. A attribute can be optional or required.

## 2.3 A choice of element

- 1-2
- <ElemenetA>
- <ElemenetB>

The upper nomenclature defines a choice of elements. Only one element of the given ones can be used. The choice has, if given, a minimal occurance of 1 and a maximal maximal occurence of 2.
A occurance of optional means 0-1.

## 2.4 A sequence of elements

- 0-3
- <ElemenetA>
- <ElemenetB>

The upper nomenclature defines a sequence of elements. Each element must be given in that order. The sequence has, if given, a minimal occurance of 0 and a maximal maximal occurence of 3.
A occurance of optional means 0-1.

## 2.5 Nested sequences/choices

- 1-2
- <ElemenetA>
- - 0-3
  - <ElemenetC>
  - <ElemenetD>
- <ElemenetB>

Sequences and choices can be nested like above.

## 2.6 Child Elements

- 1-2
- <ParantElemenet>
  - - 0-3
    - <ChildElemenetA>
    - <ChildElemenetB>

A indent indicates child elements for a given element.

# 3 Elements

<Object>
Object properties

Abstract Element: | true
Inherits: |
Inherited by: | <Body>, <Group>,
Attributes: | name required pv:stringPartialEval enable pv:booleanFullEval boundingBox pv:booleanFullEval environment pv:booleanFullEval

Object documentation
Abstract base class
Child Elements

- - <pv:evaluator> optional

<Body>
Object properties

Abstract Element: | true
Inherits: | <Object>
Inherited by: | <DynamicColoredBody>, <IvScreenAnnotation>, <Path>,
Attributes: | outLine pv:booleanFullEval shilouetteEdge pv:booleanFullEval drawMethod pv:stringPartialEval pointSize pv:floatFullEval lineWidth pv:floatFullEval

Object documentation
Abstract base class for all bodies
Child Elements

- All Elements from <Object>

<DynamicColoredBody>
Object properties

Abstract Element: | true
Inherits: | <Body>
Inherited by: | <Arrow>, <CoilSpring>, <DynamicNurbsCurve>, <DynamicNurbsSurface>, <FlexibleBody>, <NurbsDisk>, <RigidBody>, <SpineExtrusion>,
Attributes: |

Object documentation
Abstract base class for all dynamically colored bodies
Child Elements

- All Elements from <Body>
- - <minimalColorValue> optional pv:nounitScalar
    Set the minimal color value. The color value of the body in linearly mapped between minimalColorValue and maximalColorValue to blue(minimal) over cyan, green, yellow to red(maximal).
  - <maximalColorValue> optional pv:nounitScalar
    Set the maximal color value. See also minimalColorValue
  - <diffuseColor> optional pv:nounitVector
    Set the diffuse color of the body (HSV values from 0 to 1). If the hue is less then 0 (default = -1) then the dynamic color from the append routine is used as hue value.
  - <transparency> optional pv:nounitScalar
    Set the transparency of the body.

<Arrow>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: | path pv:booleanFullEval

Object documentation
A arrow with zero, one or two heads
HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame: time, "to" point x, "to" point y, "to" point z, delta x, delta y, delta z, color
Child Elements

- All Elements from <DynamicColoredBody>
- - <diameter> pv:lengthScalar
    Set the diameter of the arrow (which is a cylinder)
  - <headDiameter> pv:lengthScalar
    Set the diameter of the arrow head (which is a cone)
  - <headLength> pv:lengthScalar
    Set the length of the arrow head (which is a cone)
  - <type> pv:stringFullEval
    Set the type of the arrow. Use "line" to draw the arrow as a simple line; Use "fromHead" to draw the arrow with a head at the 'from' point; Use "toHead" to draw the arrow with a head at the 'to' point; Use "bothHeads" to draw the arrow with a head at the 'from' and 'to' point; Use "fromDoubleHead" to draw the arrow with a double head at the 'from' point; Use "toDoubleHead" to draw the arrow with a double head at the 'to' point; Use "bothDoubleHeads" to draw the arrow with a double head at the 'from' and 'to' point;
  - <referencePoint> optional pv:stringFullEval
    Set the reference point of the arrow. The reference point is the point being stored in the HDF5 file. Use "toPoint" (the default) if the 'to' point is store in the HDF5 file; Use "fromPoint" if the 'from' point is store in the HDF5 file; Use "midPoint" if the 'mid' point is store in the HDF5 file;
  - <scaleLength> pv:nounitScalar
    Scale the length of the arrow

    <Arrow name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" path="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <diameter>VALUE</diameter>
      <headDiameter>VALUE</headDiameter>
      <headLength>VALUE</headLength>
      <type>VALUE</type>
      <referencePoint>VALUE</referencePoint> <!-- optional -->
      <scaleLength>VALUE</scaleLength>
    </Arrow>

<CoilSpring>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: |

Object documentation
A coil spring
HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame: time, "from" point x, "from" point y, "from" point z, "to" point x, "to" point y, "to" point z, color
Child Elements

- All Elements from <DynamicColoredBody>
- - <type> optional pv:stringFullEval
    The type of the coil spring. "tube": The coil spring geometry is an extrusion of a circle along the spring center line; "scaledTube": The coil spring geometry is an extrusion of a circle along the spring center line with a spring length of nominalLength. This geometry is scaled as a whole for each other spring length. This type is much faster than "tube"; "polyline": The coil spring geometry is a polyline representing the the spring center line. this is the faster spring visualisation;
  - <numberOfCoils> pv:nounitScalar
  - <springRadius> pv:lengthScalar
  - <crossSectionRadius> optional pv:lengthScalar
    The radius of the coil spring cross-section if type=tube or type=scaledTube. If type=polyline this parameter defines the point size of the polyline. If crossSectionRadius is less then 0, the cross-section radius is choosen automatically.
  - <nominalLength> optional pv:lengthScalar
    Set the nominal length of the coil spring. This parameter is only usefull, if type=scaledTube: in this case the cross-section of the coil is an exact circle if the spring length is nominalLength. In all other cases the cross-section scales with the spring length and is getting a ellipse. If nominalLength is less than 0, the nominalLength is choosen automatically.
  - <scaleFactor> optional pv:nounitScalar

    <CoilSpring name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <type>VALUE</type> <!-- optional -->
      <numberOfCoils>VALUE</numberOfCoils>
      <springRadius>VALUE</springRadius>
      <crossSectionRadius>VALUE</crossSectionRadius> <!-- optional -->
      <nominalLength>VALUE</nominalLength> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
    </CoilSpring>

<DynamicNurbsCurve>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: |

Object documentation
A dynamic nurbs curve
Child Elements

- All Elements from <DynamicColoredBody>
- - <numberOfControlPoints> pv:integerFullEval
  - <knotVector> pv:nounitVector

    <DynamicNurbsCurve name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfControlPoints>VALUE</numberOfControlPoints>
      <knotVector>VALUE</knotVector>
    </DynamicNurbsCurve>

<DynamicNurbsSurface>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: |

Object documentation
A dynamic nurbs surface
Child Elements

- All Elements from <DynamicColoredBody>
- - <numberOfUControlPoints> pv:integerFullEval
  - <numberOfVControlPoints> pv:integerFullEval
  - <uKnotVector> pv:nounitVector
  - <vKnotVector> pv:nounitVector

    <DynamicNurbsSurface name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfUControlPoints>VALUE</numberOfUControlPoints>
      <numberOfVControlPoints>VALUE</numberOfVControlPoints>
      <uKnotVector>VALUE</uKnotVector>
      <vKnotVector>VALUE</vKnotVector>
    </DynamicNurbsSurface>

<FlexibleBody>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: | <DynamicIndexedFaceSet>, <DynamicIndexedLineSet>, <DynamicPointSet>,
Attributes: |

Object documentation
Abstract base class for all flexible bodies.
Child Elements

- All Elements from <DynamicColoredBody>
- - <numberOfVertexPositions> optional pv:integerFullEval
    Set number of vertex positions

    <FlexibleBody name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfVertexPositions>VALUE</numberOfVertexPositions> <!-- optional -->
    </FlexibleBody>

<DynamicIndexedFaceSet>
Object properties

Abstract Element: | false
Inherits: | <FlexibleBody>
Inherited by: |
Attributes: |

Object documentation
A dynamic indexed face set
Child Elements

- All Elements from <FlexibleBody>
- - <indices> pv:indexVector
    Set indices

    <DynamicIndexedFaceSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfVertexPositions>VALUE</numberOfVertexPositions> <!-- optional -->
      <indices>VALUE</indices>
    </DynamicIndexedFaceSet>

<DynamicIndexedLineSet>
Object properties

Abstract Element: | false
Inherits: | <FlexibleBody>
Inherited by: |
Attributes: |

Object documentation
A dynamic indexed line set
Child Elements

- All Elements from <FlexibleBody>
- - <indices> pv:indexVector
    Set indices

    <DynamicIndexedLineSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfVertexPositions>VALUE</numberOfVertexPositions> <!-- optional -->
      <indices>VALUE</indices>
    </DynamicIndexedLineSet>

<DynamicPointSet>
Object properties

Abstract Element: | false
Inherits: | <FlexibleBody>
Inherited by: |
Attributes: |

Object documentation
A dynamic point set
Child Elements

- All Elements from <FlexibleBody>

    <DynamicPointSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <numberOfVertexPositions>VALUE</numberOfVertexPositions> <!-- optional -->
    </DynamicPointSet>

<NurbsDisk>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: | localFrame pv:booleanFullEval

Object documentation
Class for all bodies with a NURBS surface and a primitive closure.

author
  Kilian Grundl

author
  Raphael Missel

author
  Thorsten Schindler

date
  2009-05-20 initial commit (Grundl / Missel / Schindler)

date
  2009-08-16 visualisation / contour (Grundl / Missel / Schindler)

date
  2010-08-09 adapt to new concept of Markus Friedrich (Schindler)

Child Elements

- All Elements from <DynamicColoredBody>
- - <scaleFactor> pv:nounitScalar
    Set the scale factor of the body.
  - <drawDegree> pv:integerFullEval
    Set the number of points drawn between the nodes.
  - <innerRadius> pv:lengthScalar
  - <outerRadius> pv:lengthScalar
  - <elementNumberAzimuthal> pv:integerFullEval
    Set the azimuthal number of finite elements used for drawing.
  - <elementNumberRadial> pv:integerFullEval
    Set the radial number of finite elements used for drawing.
  - <interpolationDegreeAzimuthal> pv:integerFullEval
    Set the degree of the interpolating splines in azimuthal direction.
  - <interpolationDegreeRadial> pv:integerFullEval
    Set the degree of the interpolating splines in radial direction.
  - <knotVecAzimuthal> pv:nounitVector
    Set the azimuthal knot vector. These values should be set to the optimal circle values.
  - <knotVecRadial> pv:lengthVector
    Set the radial knot vector. These value should be set to 1 each, resulting in a B-Spline curve.

    <NurbsDisk name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor>
      <drawDegree>VALUE</drawDegree>
      <innerRadius>VALUE</innerRadius>
      <outerRadius>VALUE</outerRadius>
      <elementNumberAzimuthal>VALUE</elementNumberAzimuthal>
      <elementNumberRadial>VALUE</elementNumberRadial>
      <interpolationDegreeAzimuthal>VALUE</interpolationDegreeAzimuthal>
      <interpolationDegreeRadial>VALUE</interpolationDegreeRadial>
      <knotVecAzimuthal>VALUE</knotVecAzimuthal>
      <knotVecRadial>VALUE</knotVecRadial>
    </NurbsDisk>

<RigidBody>
Object properties

Abstract Element: | true
Inherits: | <DynamicColoredBody>
Inherited by: | <BevelGear>, <CompoundRigidBody>, <Cube>, <Cuboid>, <Cylinder>, <CylindricalGear>, <Extrusion>, <Frame>, <Frustum>, <Grid>, <IndexedFaceSet>, <IndexedLineSet>, <InvisibleBody>, <IvBody>, <NurbsCurve>, <NurbsSurface>, <PlanarGear>, <PointSet>, <Rack>, <Rotation>, <Sphere>,
Attributes: | localFrame pv:booleanFullEval referenceFrame pv:booleanFullEval path pv:booleanFullEval dragger pv:booleanFullEval

Object documentation
Abstract base class for all rigid bodies.
Each rigid body has a body fixed local coordinate system L and a reference coordinate system R which has a fixed relative position and rotation with respect to L (see figure). And there is a inertial fixed world coordinate system W.

Coordinate Systems of Rigid Body

The fixed translation from system R to system L is given by the vector initialTranslation \( [_R x_B, _R y_B, _R z_B]^T \) which coordinates are given in system R.
The fixed rotation between the systems R and L is given by the vector initialRotation \( [\alpha_B, \beta_B, \gamma_B]^T \) which are the kardan angles of the transformation matrix \[ A_{RL}= \textrm{cardan}(\alpha_B, \beta_B, \gamma_B) \] from system L to system R.
The time dependend translation between the systems W and R is given in the HDF5 dataset by the vector \( [_W x_P, _W y_P, _W z_P]^T=_W r_P \) which coordinates are given in system W.
The time dependend rotation between the systems W and R is given in the HDF5 dataset by the vector \( [\alpha_P, \beta_P, \gamma_P] \) which are the kardan angles of the transformation matrix \[ A_{WR}= \textrm{cardan}(\alpha_P, \beta_P, \gamma_P) \] from system R to system W.
HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order: time, \( _W x_P \) , \( _W y_P \) , \( _W z_P \) , \( \alpha_P \) , \( \beta_P \) , \( \gamma_P \) , color
Child Elements

- All Elements from <DynamicColoredBody>
- - <initialTranslation> optional pv:lengthVector
    Set initial translaton between the local frame of the body and the reference frame
    Set initial translaton between the local frame of the body and the reference frame
  - <initialRotation> optional pv:angleVector
    Set initial rotation between the local frame of the body and the reference frame. Use cardan angles to represent the transformation matrix
    Set initial rotation between the local frame of the body and the reference frame. Use cardan angles to represent the transformation matrix
  - <scaleFactor> optional pv:nounitScalar
    Set the scale factor of the body

<BevelGear>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A bevel gear with an octoidal tooth profile
Child Elements

- All Elements from <RigidBody>
- - <numberOfTeeth> pv:integerFullEval
    Set the number of teeth
  - <width> pv:lengthScalar
    Set the width.
  - <helixAngle> optional pv:angleScalar
    Set the helix angle.
  - <pitchAngle> optional pv:angleScalar
    Set the pitch angle.
  - <module> optional pv:lengthScalar
    Set the module.
  - <pressureAngle> optional pv:angleScalar
    Set the pressure angle.
  - <backlash> optional pv:lengthScalar
    Set the backlash.

    <BevelGear name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <numberOfTeeth>VALUE</numberOfTeeth>
      <width>VALUE</width>
      <helixAngle>VALUE</helixAngle> <!-- optional -->
      <pitchAngle>VALUE</pitchAngle> <!-- optional -->
      <module>VALUE</module> <!-- optional -->
      <pressureAngle>VALUE</pressureAngle> <!-- optional -->
      <backlash>VALUE</backlash> <!-- optional -->
    </BevelGear>

<CompoundRigidBody>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: | expand pv:booleanFullEval

Object documentation
A compound of rigid bodies
Child Elements

- All Elements from <RigidBody>
- - 1-unbounded
  - <RigidBody>
  - <xi:include>
  - <pv:Embed>

    <CompoundRigidBody name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" expand="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <RigidBody/> <!-- abstract -->
    </CompoundRigidBody>

<Cube>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A cube
Child Elements

- All Elements from <RigidBody>
- - <length> pv:lengthScalar
    Set the length of the cube (x, y and z)

    <Cube name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <length>VALUE</length>
    </Cube>

<Cuboid>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A cuboid
Child Elements

- All Elements from <RigidBody>
- - <length> pv:lengthVector
    Set the length of the cuboid
    Set the length of the cuboid

    <Cuboid name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <length>VALUE</length>
    </Cuboid>

<Cylinder>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A cylinder
Child Elements

- All Elements from <RigidBody>
- - <radius> pv:lengthScalar
    Set the radius of the cylinder
  - <height> pv:lengthScalar
    Set the height of the cylinder

    <Cylinder name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <radius>VALUE</radius>
      <height>VALUE</height>
    </Cylinder>

<CylindricalGear>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A cylindrical gear with an involute tooth profile
Child Elements

- All Elements from <RigidBody>
- - <numberOfTeeth> pv:integerFullEval
    Set the number of teeth
  - <width> pv:lengthScalar
    Set the width.
  - <helixAngle> optional pv:angleScalar
    Set the helix angle.
  - <module> optional pv:lengthScalar
    Set the module.
  - <pressureAngle> optional pv:angleScalar
    Set the pressure angle.
  - <backlash> optional pv:lengthScalar
    Set the backlash.
  - <externalToothed> optional pv:booleanFullEval
    Define the gearwheel to be external or internal toothed.
  - <outsideRadius> optional pv:lengthScalar
    Set the outside radius.

    <CylindricalGear name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <numberOfTeeth>VALUE</numberOfTeeth>
      <width>VALUE</width>
      <helixAngle>VALUE</helixAngle> <!-- optional -->
      <module>VALUE</module> <!-- optional -->
      <pressureAngle>VALUE</pressureAngle> <!-- optional -->
      <backlash>VALUE</backlash> <!-- optional -->
      <externalToothed>VALUE</externalToothed> <!-- optional -->
      <outsideRadius>VALUE</outsideRadius> <!-- optional -->
    </CylindricalGear>

<Extrusion>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A extrusion of a cross section area (with holes)
Child Elements

- All Elements from <RigidBody>
- - <windingRule> pv:stringFullEval
    Set the OpenGL winding rule for the tesselation of the cross section area. Allowable values are "odd", "nonzero", "positive", "negative" and "absGEqTwo". See the OpenGL-GLU documentation the the meaning of this values.
  - <height> pv:lengthScalar
    Set the height of the extrusion. The extrusion is along the normal of the cross section area (local z-axis).
  - <contour> 1-unbounded pv:lengthMatrix
    Add a new contour to the extrusion. See setWindingRule of details about how they are combined.

    <Extrusion name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <windingRule>VALUE</windingRule>
      <height>VALUE</height>
      <contour>VALUE</contour>
    </Extrusion>

<Frame>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A frame; A coordinate system
Child Elements

- All Elements from <RigidBody>
- - <size> pv:lengthScalar
    Set the length of the three axis, represended by lines in red, green and blue color.
  - <offset> pv:nounitScalar
    Set the offset of the thre axis. A offset of 0 means, that the axis/lines are intersecting in there mid points. A offset of 1 menas, that the axis/lines are intersecting at there start points.

    <Frame name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <size>VALUE</size>
      <offset>VALUE</offset>
    </Frame>

<Frustum>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A frustum (with a frustum hole)
Child Elements

- All Elements from <RigidBody>
- - <baseRadius> pv:lengthScalar
    Set the radius of the outer side at the base (bottom)
  - <topRadius> pv:lengthScalar
    Set the radius of the outer side at the top.
  - <height> pv:lengthScalar
    Set height of the frustum
  - <innerBaseRadius> pv:lengthScalar
    Set the radius of the inner side at the base (bottom).
  - <innerTopRadius> pv:lengthScalar
    Set the radius of the inner side at the top.

    <Frustum name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <baseRadius>VALUE</baseRadius>
      <topRadius>VALUE</topRadius>
      <height>VALUE</height>
      <innerBaseRadius>VALUE</innerBaseRadius>
      <innerTopRadius>VALUE</innerTopRadius>
    </Frustum>

<Grid>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A grid in x-y-Plane
Child Elements

- All Elements from <RigidBody>
- - <xSize> pv:lengthScalar
    Set the length in x-direction
  - <ySize> pv:lengthScalar
    Set the length in y-direction
  - <nx> pv:integerFullEval
  - <ny> pv:integerFullEval

    <Grid name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <xSize>VALUE</xSize>
      <ySize>VALUE</ySize>
      <nx>VALUE</nx>
      <ny>VALUE</ny>
    </Grid>

<IndexedFaceSet>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
An indexed face set
Child Elements

- All Elements from <RigidBody>
- - <vertexPositions> pv:nounitMatrix
    Set vertex positions
  - <indices> pv:indexVector
    Set indices

    <IndexedFaceSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <vertexPositions>VALUE</vertexPositions>
      <indices>VALUE</indices>
    </IndexedFaceSet>

<IndexedLineSet>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
An indexed line set
Child Elements

- All Elements from <RigidBody>
- - <vertexPositions> pv:nounitMatrix
    Set vertex positions
  - <indices> pv:indexVector
    Set indices

    <IndexedLineSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <vertexPositions>VALUE</vertexPositions>
      <indices>VALUE</indices>
    </IndexedLineSet>

<InvisibleBody>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A invisible body
Child Elements

- All Elements from <RigidBody>

    <InvisibleBody name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
    </InvisibleBody>

<IvBody>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A body defined by a Open Inventor file or a VRML file. If a node named OpenMBVIvBodyMaterial exists and is of type SoMaterial then the diffuseColor and specularColor field of this node is connected to the dynamic color of this body. After this connection is done (during the ctor) the name OpenMBVIvBodyMaterial is removed from the node/name mapping.
Child Elements

- All Elements from <RigidBody>
- - - <ivFileName> pv:filenameFullEval
      The file of the iv file to read
    - <ivContent> pv:stringFullEval
  - <creaseEdges> optional pv:angleScalar
    Set the limit crease angle for the calculation of crease edges. If less 0 do not calculate crease edges. Default: -1, The crease edges are drawn as outline in OpenMBV.
  - <boundaryEdges> optional pv:booleanFullEval
    Calculate and draw boundary edges or not? Default: false. The boundary edges are drawn as outline in OpenMBV.
  - <removeNodesByName> 0-unbounded pv:stringFullEval
    Remove all nodes of the name name from the iv file.
  - <removeNodesByType> 0-unbounded pv:stringFullEval
    Remove all nodes of the type type from the iv file.

    <IvBody name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <ivFileName>VALUE</ivFileName>
      <creaseEdges>VALUE</creaseEdges> <!-- optional -->
      <boundaryEdges>VALUE</boundaryEdges> <!-- optional -->
      <removeNodesByName>VALUE</removeNodesByName> <!-- optional -->
      <removeNodesByType>VALUE</removeNodesByType> <!-- optional -->
    </IvBody>

<NurbsCurve>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A nurbs curve
Child Elements

- All Elements from <RigidBody>
- - <controlPoints> pv:nounitMatrix
    Set control points
  - <numberOfControlPoints> pv:integerFullEval
  - <knotVector> pv:nounitVector

    <NurbsCurve name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <controlPoints>VALUE</controlPoints>
      <numberOfControlPoints>VALUE</numberOfControlPoints>
      <knotVector>VALUE</knotVector>
    </NurbsCurve>

<NurbsSurface>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A nurbs surface
Child Elements

- All Elements from <RigidBody>
- - <controlPoints> pv:nounitMatrix
    Set control points
  - <numberOfUControlPoints> pv:integerFullEval
  - <numberOfVControlPoints> pv:integerFullEval
  - <uKnotVector> pv:nounitVector
  - <vKnotVector> pv:nounitVector

    <NurbsSurface name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <controlPoints>VALUE</controlPoints>
      <numberOfUControlPoints>VALUE</numberOfUControlPoints>
      <numberOfVControlPoints>VALUE</numberOfVControlPoints>
      <uKnotVector>VALUE</uKnotVector>
      <vKnotVector>VALUE</vKnotVector>
    </NurbsSurface>

<PlanarGear>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A planar gear
Child Elements

- All Elements from <RigidBody>
- - <numberOfTeeth> pv:integerFullEval
    Set the number of teeth
  - <height> pv:lengthScalar
    Set the heigth.
  - <width> pv:lengthScalar
    Set the width.
  - <helixAngle> optional pv:angleScalar
    Set the helix angle.
  - <module> optional pv:lengthScalar
    Set the module.
  - <pressureAngle> optional pv:angleScalar
    Set the pressure angle.
  - <backlash> optional pv:lengthScalar
    Set the backlash.

    <PlanarGear name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <numberOfTeeth>VALUE</numberOfTeeth>
      <height>VALUE</height>
      <width>VALUE</width>
      <helixAngle>VALUE</helixAngle> <!-- optional -->
      <module>VALUE</module> <!-- optional -->
      <pressureAngle>VALUE</pressureAngle> <!-- optional -->
      <backlash>VALUE</backlash> <!-- optional -->
    </PlanarGear>

<PointSet>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A point set
Child Elements

- All Elements from <RigidBody>
- - <vertexPositions> pv:nounitMatrix
    Set vertex positions

    <PointSet name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <vertexPositions>VALUE</vertexPositions>
    </PointSet>

<Rack>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A rack
Child Elements

- All Elements from <RigidBody>
- - <numberOfTeeth> pv:integerFullEval
    Set the number of teeth
  - <height> pv:lengthScalar
    Set the heigth.
  - <width> pv:lengthScalar
    Set the width.
  - <helixAngle> optional pv:angleScalar
    Set the helix angle.
  - <module> optional pv:lengthScalar
    Set the module.
  - <pressureAngle> optional pv:angleScalar
    Set the pressure angle.
  - <backlash> optional pv:lengthScalar
    Set the backlash.

    <Rack name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <numberOfTeeth>VALUE</numberOfTeeth>
      <height>VALUE</height>
      <width>VALUE</width>
      <helixAngle>VALUE</helixAngle> <!-- optional -->
      <module>VALUE</module> <!-- optional -->
      <pressureAngle>VALUE</pressureAngle> <!-- optional -->
      <backlash>VALUE</backlash> <!-- optional -->
    </Rack>

<Rotation>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
Rotation of a cross section area
Child Elements

- All Elements from <RigidBody>
- - <startAngle> optional pv:angleScalar
    Set start angle of the rotation (Default: 0).
  - <endAngle> optional pv:angleScalar
    Set end angle of the rotation (Default: 2*pi).
  - <contour> pv:lengthMatrix
    Set cross section area of the rotation. The cross section is rotation around the local y-axis

    <Rotation name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <startAngle>VALUE</startAngle> <!-- optional -->
      <endAngle>VALUE</endAngle> <!-- optional -->
      <contour>VALUE</contour>
    </Rotation>

<Sphere>
Object properties

Abstract Element: | false
Inherits: | <RigidBody>
Inherited by: |
Attributes: |

Object documentation
A sphere
Child Elements

- All Elements from <RigidBody>
- - <radius> pv:lengthScalar
    Set the radius of the shpere

    <Sphere name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" localFrame="VALUE" referenceFrame="VALUE" path="VALUE" dragger="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <initialTranslation>VALUE</initialTranslation> <!-- optional -->
      <initialRotation>VALUE</initialRotation> <!-- optional -->
      <scaleFactor>VALUE</scaleFactor> <!-- optional -->
      <radius>VALUE</radius>
    </Sphere>

<SpineExtrusion>
Object properties

Abstract Element: | false
Inherits: | <DynamicColoredBody>
Inherited by: |
Attributes: |

Object documentation
Class for all bodies extruded along a curve.

author
  Thorsten Schindler

HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame (N is the number of spine points): time, spine point 1 x, spine point 1 y, spine point 1 z, spine twist 1, spine point 2 x, spine point 2 y, spine point 2 z, spine twist 2, ..., spine point N x, spine point N y, spine point N z, spine twist N
Child Elements

- All Elements from <DynamicColoredBody>
- - <contour> pv:lengthMatrix
    Set the 2D contour (cross-section) of the extrusion. The contour (polygon) points must be in clockwise order.
  - <scaleFactor> pv:nounitScalar
    Set the scale factor of the body.
  - <initialRotation> pv:angleVector
    Set the initial rotation of the body.
    Set the initial rotation of the body.
  - <stateOffSet> optional pv:nounitVector

    <SpineExtrusion name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <minimalColorValue>VALUE</minimalColorValue> <!-- optional -->
      <maximalColorValue>VALUE</maximalColorValue> <!-- optional -->
      <diffuseColor>VALUE</diffuseColor> <!-- optional -->
      <transparency>VALUE</transparency> <!-- optional -->
      <contour>VALUE</contour>
      <scaleFactor>VALUE</scaleFactor>
      <initialRotation>VALUE</initialRotation>
      <stateOffSet>VALUE</stateOffSet> <!-- optional -->
    </SpineExtrusion>

<IvScreenAnnotation>
Object properties

Abstract Element: | false
Inherits: | <Body>
Inherited by: |
Attributes: |

Object documentation
A screen annotation defined by a Open Inventor file or a VRML file.
This object is very special and behaves quite different compared to usual objects. It not placed in the 3D scene and is not influenced by the camera or lights in the scene. Hence, use e.g. a Material node with emissiveColor field to define the color of geometry. It is placed in normalized screen coordinates. The x-axis is horizontal and the y-axis is vertical. The bottom left coordinate is -1,-1 and the top right coordinate is 1,1. The z-coordinate is irrelevant since z-buffering is disabled for these objects sicne its children are transparently render on top of the other. This means that a node defined later in the IV file will override previously nodes on the screen.
Note that the aspect ratio is only 1:1 if the screen is a square. However, it is possible to do an automatically scaling to ensure that the aspect ratio is always 1:1, see setScale1To1At.
The dynamic data of this object is defined by the user, see setColumnLabels. For each column a named node is created which can be accessed from the IV file. The node name is the column label and the field "value" of this node holds the dynamic data of the column.
As e.g. RigidBody this object also provides drawing a path. The path point for each frame is defined by the origin of the node named "OpenMBVIvScreenAnnotationPathOrigin" in the IV file. If no such node exists, no path is drawn. If "OpenMBVIvScreenAnnotationPathOrigin" is given than also a node named "OpenMBVIvScreenAnnotationPathSep" of type Separator must exist in the IV file. "OpenMBVIvScreenAnnotationPathSep" MUST NOT be influenced by any translation! However, its position in the scene graph defines the order in with the path is drawn compared to the other nodes, see above. The path is added as a child of this node.
This object can also draw more than one path if the nodes are named "OpenMBVIvScreenAnnotationPathOrigin<nr>". <nr> counts from 1 to N and stops if at the first node name which does not exist. In this case the path is added as a child of the OpenMBVIvScreenAnnotationPathSep node, see above, or, if this node does not exist, as a child of the OpenMBVIvScreenAnnotationPathSep<nr> node.
All named nodes of name OpenMBVIvScreenAnnotation* are remove (during the ctor) from the node/name mapping.
Child Elements

- All Elements from <Body>
- - <scale1To1At> optional pv:lengthVector
    Scales the screen to ensure that the screen coordinates have a aspect ratio of 1:1. This scaling is done with a scale center at the specified point and the smaller axis is not scaled. This means that the smaller axis still runs from -1 to 1.
    Use this function is you want to draw something with a aspect ratio of 1:1. If you want the draw it e.g. in the top right corner set scale1To1Center_ to 1,1 and the coordinate of the top right corner will still be 1,1 after the scaling to 1:1.
  - - <ivFileName> pv:filenameFullEval
    - <ivContent> pv:stringFullEval
  - - 0-unbounded
    - <columnLabel> pv:stringFullEval
    - <pv:Embed>

    <IvScreenAnnotation name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <scale1To1At>VALUE</scale1To1At> <!-- optional -->
      <ivFileName>VALUE</ivFileName>
      <columnLabel>VALUE</columnLabel>
    </IvScreenAnnotation>

<Path>
Object properties

Abstract Element: | false
Inherits: | <Body>
Inherited by: |
Attributes: |

Object documentation
Draw a path of a reference point
HDF5-Dataset: The HDF5 dataset of this object is a 2D array of double precision values. Each row represents one dataset in time. A row consists of the following columns in order given in world frame: time, x, y, z
Child Elements

- All Elements from <Body>
- - <color> pv:nounitVector
    Set the color of the path (HSV values from 0 to 1).
    Set the color of the path (HSV values from 0 to 1).

    <Path name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" outLine="VALUE" shilouetteEdge="VALUE" drawMethod="VALUE" pointSize="VALUE" lineWidth="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <color>VALUE</color>
    </Path>

<Group>
Object properties

Abstract Element: | false
Inherits: | <Object>
Inherited by: |
Attributes: | expand pv:booleanFullEval

Object documentation
A container for bodies
Child Elements

- All Elements from <Object>
- - 0-unbounded
  - <Object>
  - <xi:include>
  - <pv:Embed>

    <Group name="VALUE" enable="VALUE" boundingBox="VALUE" environment="VALUE" expand="VALUE" xmlns="http://www.mbsim-env.de/OpenMBV">
      <Object/> <!-- abstract -->
    </Group>

# 4 Simple Types

objectReferenceType

Generated with MBXMLUtils on 2024-09-12T00:01:30Z