Camera

The complex type, CT_Camera, defines a camera within the 3-D scene. A camera is based on a preset, with an optional rotation, field-of-view, and zoom, which all act as overrides for the preset values. A camera is defined in the following way:

<xsd:complexType name="CT_Camera">
  <xsd:sequence>
    <xsd:element name="rot" type="CT_SphereCoords" minOccurs="0" 
      maxOccurs="1" oxsd:dataStructure="optional" />
  </xsd:sequence>
  <xsd:attribute name="prst" type="ST_PresetCameraType" use="required"
    />
  <xsd:attribute name="fov" type="ST_FOVAngle" use="optional" />
  <xsd:attribute name="zoom" type="ST_PositivePercentage"
    use="optional" default="100000" />
</xsd:complexType>

The only complex type contained in the camera, CT_SphereCoords, is a type defined elsewhere within the DrawingML. There are three simple types associated with a camera:

  • ST_FOVAngle (field of view angle), which is a positive angle between 0 and 180 in 60,000th of a degree.

  • ST_PositivePercentage (zoom), which is defined as a percentage in 1,000th of a percent.

  • ST_PresentCameraType (preset camera)

Figure 1 below shows some different presets applied to a shape.

Figure 7: Different default cameras applied to a shape

The available options for ST_PresetCameraType are as follows:

legacyObliqueTopLeft<>legacyObliqueTop<>legacyObliqueLeft<>legacyObliqueFront<>legacyObliqueRight

legacyObliqueBottomLeft<>legacyObliqueBottom<>legacyObliqueBottomRight<>legacyPerspectiveTopLeft<>legacyPerspectiveTop

legacyPerspectiveTopRight<>legacyPerspectiveLeft<>legacyPerspectiveFront<>legacyPerspectiveRight<>legacyPerspectiveBottomLeft

legacyPerspectiveBottom<>legacyPerspectiveBottomRight<>orthographicFront<>isomentricTopUp<>isometricTopDown

isomentricBottomDown<>isometricLeftUp<>isometricLeftDown<>isometricRightUp<>isometricRightDown

isometricOffAxis1Left<>isometricOffAxis1Right<>isometricOffAxis1Top<>isometricOffAxis2Left<>isometricOffAxis2Right

isometricOffAxis2Top<>isometricOffAxis3Left<>isometricOffAxis3Right<>isometricOffAxis3Bottom<>isometricOffAxis4Left

isometricOffAxis4Right<>isometricOffAxis4Bottom<>obliqueTopLeft<>obliqueTopRight<>obliqueLeft

obliqueRight<>obliqueBottomLeft<>obliqueBottom<>obliqueBottomRight<>perspectiveFront

perspectiveLeft<>perspectiveRight<>perspectiveAbove<>perspectiveBelow<>perspectiveAboveLeftFacing

perspectiveAboveRightFacing<>perspectiveContrastingRightFacing<>perspectiveContrastingLeftFacing<>perspectiveHeroicLeftFacing<>perspectiveHeroicRightFacing

perspectiveHeroicExtremeLeftFacing<>perspectiveHeroicExtremeRightFacing<>perspectiveRelaxed<>perspectiveRelaxedModerately