MutableParallelogram
-
android
class MutableParallelogram : Parallelogram
Mutable parallelogram (i.e. a quadrilateral with parallel sides), defined by its center, width, height, rotation, and skew.
Summary
Public constructors |
|
|---|---|
|
Constructs an empty |
android
|
Public functions |
||
|---|---|---|
open operator Boolean |
android
|
|
open Int |
hashCode() |
android
|
MutableParallelogram |
populateFrom(input: Parallelogram)Fills this |
android
|
MutableParallelogram |
populateFromCenterAndDimensions(Populates a |
android
|
MutableParallelogram |
populateFromCenterDimensionsAndRotationInDegrees(Populates the |
android
|
MutableParallelogram |
populateFromCenterDimensionsRotationInDegreesAndSkew(Populates the |
android
|
MutableParallelogram |
populateFromSegmentAndPadding(segment: Segment, padding: Float)Populates the |
android
|
open String |
toString() |
android
|
Public properties |
||
|---|---|---|
open MutableVec |
android
|
|
open Float |
The height of the |
android
|
open Float |
The rotation of the |
android
|
open Float |
The horizontal displacement between the two horizontal edges of the |
android
|
open Float |
The width of the |
android
|
Inherited functions |
|||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Public constructors
MutableParallelogram
MutableParallelogram()
Constructs an empty MutableParallelogram with a center at the origin, a zero width, a zero height, zero rotation, and zero skew. This is intended for subsequent population with one of the populateFrom methods.
Public functions
populateFrom
fun populateFrom(input: Parallelogram): MutableParallelogram
Fills this MutableParallelogram with the same values contained in input.
Returns the modified instance to allow chaining calls.
| Returns | |
|---|---|
MutableParallelogram |
|
populateFromCenterAndDimensions
fun populateFromCenterAndDimensions(
center: MutableVec,
width: @FloatRange(from = 0.0) Float,
height: Float
): MutableParallelogram
Populates a MutableParallelogram to have a given center, width and height. The resulting Parallelogram has zero rotation and skew. If the width is less than zero, the Parallelogram will be normalized.
See the corresponding fields on Parallelogram for details about these parameters.
| Returns | |
|---|---|
MutableParallelogram |
|
populateFromCenterDimensionsAndRotationInDegrees
fun populateFromCenterDimensionsAndRotationInDegrees(
center: MutableVec,
width: @FloatRange(from = 0.0) Float,
height: Float,
rotationDegrees: @FloatRange(from = 0.0, to = 360.0, toInclusive = false) @AngleDegreesFloat Float
): MutableParallelogram
Populates the MutableParallelogram to have a given center, width, height and rotationDegrees, with zero skew. If the width is less than zero or if the rotationDegrees is not in the range [0, 360), it will be normalized.
See the corresponding fields on Parallelogram for details about these parameters.
| Returns | |
|---|---|
MutableParallelogram |
|
populateFromCenterDimensionsRotationInDegreesAndSkew
fun populateFromCenterDimensionsRotationInDegreesAndSkew(
center: MutableVec,
width: @FloatRange(from = 0.0) Float,
height: Float,
rotationDegrees: @FloatRange(from = 0.0, to = 360.0, toInclusive = false) @AngleDegreesFloat Float,
skew: Float
): MutableParallelogram
Populates the MutableParallelogram to have a given center, width, height, rotationDegrees and skew. If the width is less than zero or if rotationDegrees is not within the range [0, 360.0), it will be normalized.
See the corresponding fields on Parallelogram for details about these parameters.
| Returns | |
|---|---|
MutableParallelogram |
|
populateFromSegmentAndPadding
fun populateFromSegmentAndPadding(segment: Segment, padding: Float): MutableParallelogram
Populates the MutableParallelogram to be aligned with the segment with its bounds padding units away from the segment and skew of zero.
| Returns | |
|---|---|
MutableParallelogram |
|
Public properties
height
open var height: Float
The height of the Parallelogram. May be positive or negative, corresponding to whether the angle from the first semi-axis to the second is also positive or negative.
rotationDegrees
open var rotationDegrees: Float
The rotation of the Parallelogram in degrees from its original axis-aligned orientation in the direction from the positive x-axis towards the positive y-axis.
skew
open var skew: Float
The horizontal displacement between the two horizontal edges of the Parallelogram pre-rotation, as a multiple of the height. Equivalently, this is the cotangent of the absolute angle between the semi-axes. A Parallelogram may have a positive or negative skew, a greater skew indicates a smaller absolute angle between the semi-axes.
width
open var width: Float
The width of the Parallelogram. A Parallelogram may not have a negative width. If an operation on a parallelogram would result in a negative width, it is instead normalized, by negating both the width and the height, adding 180 to rotationDegrees and normalizing that to the range [0, 360).