class RotatableExtent
Defined at line 161 of file fidling/gen/sdk/fidl/fuchsia.ui.observation.geometry/fuchsia.ui.observation.geometry/cpp/fidl/fuchsia.ui.observation.geometry/cpp/natural_types.h
A view bounding box, described in another view's coordinate system.
Concretely, |RotatableExtent| describes the origin, size, and rotation angle
about the origin, for a view's bounding box.
Note: For describing a view's bounding box in the view's own coordinate
system, see |AlignedExtent|.
We use "V" to refer to the view being described, and "W" to refer to the
view where V is being described.
Note that while |angle| can be arbitrary, typical usage is axis aligned.
To find the bounding box of V in W in clockwise order, starting with
|origin|, where |angle| is 0, 90, 180, or 270, and using o=origin, w=width,
h=height, a=angle:
a= 0: (o.x, o.y), (o.x + w, o.y), (o.x + w, o.y + h), (o.x, o.y + h)
a= 90: (o.x, o.y), (o.x, o.y - w), (o.x + h, o.y - w), (o.x + h, o.y)
a=180: (o.x, o.y), (o.x - w, o.y), (o.x - w, o.y - h), (o.x, o.y - h)
a=270: (o.x, o.y), (o.x, o.y + w), (o.x - h, o.y + w), (o.x - h, o.y)
A formula based on sin a and cos a is readily obtained, but floating point
computation may give only approximate results.
Public Methods
void RotatableExtent (Storage_ storage)
void RotatableExtent (::fuchsia_math::PointF origin, float width, float height, float angle_degrees)
void RotatableExtent ()
Default constructs a |RotatableExtent| only if all of its members are default constructible.
Defined at line 172 of file fidling/gen/sdk/fidl/fuchsia.ui.observation.geometry/fuchsia.ui.observation.geometry/cpp/fidl/fuchsia.ui.observation.geometry/cpp/natural_types.h
void RotatableExtent (RotatableExtent && )
Defined at line 175 of file fidling/gen/sdk/fidl/fuchsia.ui.observation.geometry/fuchsia.ui.observation.geometry/cpp/fidl/fuchsia.ui.observation.geometry/cpp/natural_types.h
void RotatableExtent (const RotatableExtent & other)
RotatableExtent & operator= (RotatableExtent && )
Defined at line 176 of file fidling/gen/sdk/fidl/fuchsia.ui.observation.geometry/fuchsia.ui.observation.geometry/cpp/fidl/fuchsia.ui.observation.geometry/cpp/natural_types.h
RotatableExtent & operator= (const RotatableExtent & other)
bool operator== (const RotatableExtent & other)
bool operator!= (const RotatableExtent & other)
const ::fuchsia_math::PointF & origin ()
The origin point of V's bounding box, in W's coordinate system.
::fuchsia_math::PointF & origin ()
The origin point of V's bounding box, in W's coordinate system.
RotatableExtent & origin (::fuchsia_math::PointF value)
The origin point of V's bounding box, in W's coordinate system.
float width ()
The width of V's bounding box (along the direction where V's x axis
increases), in W's coordinate system.
float & width ()
The width of V's bounding box (along the direction where V's x axis
increases), in W's coordinate system.
RotatableExtent & width (float value)
The width of V's bounding box (along the direction where V's x axis
increases), in W's coordinate system.
float height ()
The height of V's bounding box (along the direction where V's y axis
increases), in W's coordinate system.
float & height ()
The height of V's bounding box (along the direction where V's y axis
increases), in W's coordinate system.
RotatableExtent & height (float value)
The height of V's bounding box (along the direction where V's y axis
increases), in W's coordinate system.
float angle_degrees ()
The clockwise rotation about the origin, in degrees.
float & angle_degrees ()
The clockwise rotation about the origin, in degrees.
RotatableExtent & angle_degrees (float value)
The clockwise rotation about the origin, in degrees.
void RotatableExtent (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
Friends
class MemberVisitor
class NaturalStructCodingTraits