View Source GoogleApi.ContentWarehouse.V1.Model.GoodocRotatedBoundingBox (google_api_content_warehouse v0.4.0)

Similar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \ A C \ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the 'natural' orientation.

Attributes

  • Angle (type: number(), default: nil) - Angle of rotation of the original non-rotated box around the top left corner of the original non-rotated box, in clockwise degrees from the horizontal.
  • Height (type: integer(), default: nil) -
  • Left (type: integer(), default: nil) - Coordinates and sizes are expressed in pixels, where the top-left pixel is (0, 0). The coordinates refer to the corner of the top-left vertex of the unrotated version of the box.
  • Top (type: integer(), default: nil) -
  • Width (type: integer(), default: nil) -

Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Types

@type t() :: %GoogleApi.ContentWarehouse.V1.Model.GoodocRotatedBoundingBox{
  Angle: number() | nil,
  Height: integer() | nil,
  Left: integer() | nil,
  Top: integer() | nil,
  Width: integer() | nil
}

Functions

@spec decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.