// Signature format: 4.0 package androidx.ink.geometry { public abstract class AffineTransform { method public final androidx.ink.geometry.MutableParallelogram applyTransform(androidx.ink.geometry.Box box, androidx.ink.geometry.MutableParallelogram outParallelogram); method public final androidx.ink.geometry.MutableParallelogram applyTransform(androidx.ink.geometry.Parallelogram parallelogram, androidx.ink.geometry.MutableParallelogram outParallelogram); method public final androidx.ink.geometry.MutableSegment applyTransform(androidx.ink.geometry.Segment segment, androidx.ink.geometry.MutableSegment outSegment); method public final androidx.ink.geometry.MutableTriangle applyTransform(androidx.ink.geometry.Triangle triangle, androidx.ink.geometry.MutableTriangle outTriangle); method public final androidx.ink.geometry.MutableVec applyTransform(androidx.ink.geometry.Vec point, androidx.ink.geometry.MutableVec outVec); method public final androidx.ink.geometry.MutableAffineTransform computeInverse(androidx.ink.geometry.MutableAffineTransform outAffineTransform); method @Size(min=6L) public final float[] getValues(); method @Size(min=6L) public final float[] getValues(optional @Size(min=6L) float[] outArray); field public static final androidx.ink.geometry.AffineTransform.Companion Companion; field public static final androidx.ink.geometry.ImmutableAffineTransform IDENTITY; } public static final class AffineTransform.Companion { property public androidx.ink.geometry.ImmutableAffineTransform IDENTITY; } public final class Angle { method @androidx.ink.geometry.AngleRadiansFloat public static float degreesToRadians(@androidx.ink.geometry.AngleDegreesFloat float degrees); method @FloatRange(from=0.0, to=androidx.ink.geometry.Angle.FULL_TURN_RADIANS_DOUBLE) @androidx.ink.geometry.AngleRadiansFloat public static float normalized(@androidx.ink.geometry.AngleRadiansFloat float radians); method @FloatRange(from=-3.141592653589793, to=androidx.ink.geometry.Angle.HALF_TURN_RADIANS_DOUBLE) @androidx.ink.geometry.AngleRadiansFloat public static float normalizedAboutZero(@androidx.ink.geometry.AngleRadiansFloat float radians); method @androidx.ink.geometry.AngleDegreesFloat public static float radiansToDegrees(@androidx.ink.geometry.AngleRadiansFloat float radians); property @androidx.ink.geometry.AngleRadiansFloat public float FULL_TURN_RADIANS; property @androidx.ink.geometry.AngleRadiansFloat public float HALF_TURN_RADIANS; property @androidx.ink.geometry.AngleRadiansFloat public float QUARTER_TURN_RADIANS; property @androidx.ink.geometry.AngleRadiansFloat public float ZERO; field @androidx.ink.geometry.AngleRadiansFloat public static final float FULL_TURN_RADIANS; field @androidx.ink.geometry.AngleRadiansFloat public static final float HALF_TURN_RADIANS; field public static final androidx.ink.geometry.Angle INSTANCE; field @androidx.ink.geometry.AngleRadiansFloat public static final float QUARTER_TURN_RADIANS; field @androidx.ink.geometry.AngleRadiansFloat public static final float ZERO; } @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.SOURCE) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.FUNCTION, kotlin.annotation.AnnotationTarget.PROPERTY_GETTER, kotlin.annotation.AnnotationTarget.PROPERTY_SETTER, kotlin.annotation.AnnotationTarget.LOCAL_VARIABLE, kotlin.annotation.AnnotationTarget.FIELD}) public @interface AngleDegreesFloat { } @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.SOURCE) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.VALUE_PARAMETER, kotlin.annotation.AnnotationTarget.FUNCTION, kotlin.annotation.AnnotationTarget.PROPERTY_GETTER, kotlin.annotation.AnnotationTarget.PROPERTY_SETTER, kotlin.annotation.AnnotationTarget.LOCAL_VARIABLE, kotlin.annotation.AnnotationTarget.FIELD}) public @interface AngleRadiansFloat { } public abstract class Box { method public final androidx.ink.geometry.MutableVec computeCenter(androidx.ink.geometry.MutableVec outVec); method public final void computeCorners(androidx.ink.geometry.MutableVec outVecXMinYMin, androidx.ink.geometry.MutableVec outVecXMaxYMin, androidx.ink.geometry.MutableVec outVecXMaxYMax, androidx.ink.geometry.MutableVec outVecXMinYMax); method public final operator boolean contains(androidx.ink.geometry.Box otherBox); method public final operator boolean contains(androidx.ink.geometry.Vec point); method @FloatRange(from=0.0) public final float getHeight(); method @FloatRange(from=0.0) public final float getWidth(); method public abstract float getXMax(); method public abstract float getXMin(); method public abstract float getYMax(); method public abstract float getYMin(); method public final boolean isAlmostEqual(androidx.ink.geometry.Box other, @FloatRange(from=0.0) float tolerance); property @FloatRange(from=0.0) public final float height; property @FloatRange(from=0.0) public final float width; property public abstract float xMax; property public abstract float xMin; property public abstract float yMax; property public abstract float yMin; field public static final androidx.ink.geometry.Box.Companion Companion; } public static final class Box.Companion { } public final class BoxAccumulator { ctor public BoxAccumulator(); ctor public BoxAccumulator(androidx.ink.geometry.Box box); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Box? box); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.BoxAccumulator? other); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Parallelogram parallelogram); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.PartitionedMesh mesh); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Segment segment); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Triangle triangle); method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Vec point); method public androidx.ink.geometry.Box? getBox(); method public boolean isAlmostEqual(androidx.ink.geometry.BoxAccumulator other, @FloatRange(from=0.0) float tolerance); method public boolean isEmpty(); method public androidx.ink.geometry.BoxAccumulator populateFrom(androidx.ink.geometry.BoxAccumulator input); method public androidx.ink.geometry.BoxAccumulator reset(); property public androidx.ink.geometry.Box? box; } public final class ImmutableAffineTransform extends androidx.ink.geometry.AffineTransform { ctor public ImmutableAffineTransform(float m00, float m10, float m20, float m01, float m11, float m21); ctor public ImmutableAffineTransform(@Size(min=6L) float[] values); method public static androidx.ink.geometry.ImmutableAffineTransform scale(float scaleFactor); method public static androidx.ink.geometry.ImmutableAffineTransform scale(float xScaleFactor, float yScaleFactor); method public static androidx.ink.geometry.ImmutableAffineTransform scaleX(float scaleFactor); method public static androidx.ink.geometry.ImmutableAffineTransform scaleY(float scaleFactor); method public static androidx.ink.geometry.ImmutableAffineTransform translate(androidx.ink.geometry.Vec offset); field public static final androidx.ink.geometry.ImmutableAffineTransform.Companion Companion; } public static final class ImmutableAffineTransform.Companion { method public androidx.ink.geometry.ImmutableAffineTransform scale(float scaleFactor); method public androidx.ink.geometry.ImmutableAffineTransform scale(float xScaleFactor, float yScaleFactor); method public androidx.ink.geometry.ImmutableAffineTransform scaleX(float scaleFactor); method public androidx.ink.geometry.ImmutableAffineTransform scaleY(float scaleFactor); method public androidx.ink.geometry.ImmutableAffineTransform translate(androidx.ink.geometry.Vec offset); } public final class ImmutableBox extends androidx.ink.geometry.Box { method public static androidx.ink.geometry.ImmutableBox fromCenterAndDimensions(androidx.ink.geometry.Vec center, @FloatRange(from=0.0) float width, @FloatRange(from=0.0) float height); method public static androidx.ink.geometry.ImmutableBox fromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); method public float getXMax(); method public float getXMin(); method public float getYMax(); method public float getYMin(); property public float xMax; property public float xMin; property public float yMax; property public float yMin; field public static final androidx.ink.geometry.ImmutableBox.Companion Companion; } public static final class ImmutableBox.Companion { method public androidx.ink.geometry.ImmutableBox fromCenterAndDimensions(androidx.ink.geometry.Vec center, @FloatRange(from=0.0) float width, @FloatRange(from=0.0) float height); method public androidx.ink.geometry.ImmutableBox fromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); } public final class ImmutableParallelogram extends androidx.ink.geometry.Parallelogram { method public static androidx.ink.geometry.ImmutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height); method public static androidx.ink.geometry.ImmutableParallelogram fromCenterDimensionsAndRotation(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation); method public static androidx.ink.geometry.ImmutableParallelogram fromCenterDimensionsRotationAndShear(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation, float shearFactor); method public androidx.ink.geometry.ImmutableVec getCenter(); method public float getHeight(); method public float getRotation(); method public float getShearFactor(); method public float getWidth(); property public androidx.ink.geometry.ImmutableVec center; property public float height; property @androidx.ink.geometry.AngleRadiansFloat public float rotation; property public float shearFactor; property public float width; field public static final androidx.ink.geometry.ImmutableParallelogram.Companion Companion; } public static final class ImmutableParallelogram.Companion { method public androidx.ink.geometry.ImmutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height); method public androidx.ink.geometry.ImmutableParallelogram fromCenterDimensionsAndRotation(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation); method public androidx.ink.geometry.ImmutableParallelogram fromCenterDimensionsRotationAndShear(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation, float shearFactor); } public final class ImmutableSegment extends androidx.ink.geometry.Segment { ctor public ImmutableSegment(androidx.ink.geometry.Vec start, androidx.ink.geometry.Vec end); method public androidx.ink.geometry.Vec getEnd(); method public androidx.ink.geometry.Vec getStart(); property public androidx.ink.geometry.Vec end; property public androidx.ink.geometry.Vec start; } public final class ImmutableTriangle extends androidx.ink.geometry.Triangle { ctor public ImmutableTriangle(androidx.ink.geometry.Vec p0, androidx.ink.geometry.Vec p1, androidx.ink.geometry.Vec p2); method public androidx.ink.geometry.Vec getP0(); method public androidx.ink.geometry.Vec getP1(); method public androidx.ink.geometry.Vec getP2(); property public androidx.ink.geometry.Vec p0; property public androidx.ink.geometry.Vec p1; property public androidx.ink.geometry.Vec p2; } public final class ImmutableVec extends androidx.ink.geometry.Vec { ctor public ImmutableVec(float x, float y); method public static androidx.ink.geometry.ImmutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); method public float getX(); method public float getY(); property public float x; property public float y; field public static final androidx.ink.geometry.ImmutableVec.Companion Companion; } public static final class ImmutableVec.Companion { method public androidx.ink.geometry.ImmutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); } public final class Intersection { method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Box other); method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Parallelogram parallelogram); method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToBox); method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Segment segment); method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Triangle triangle); method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Vec point); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Box box); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Parallelogram other); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToParallelogram); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Segment segment); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Triangle triangle); method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Vec point); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Box box, androidx.ink.geometry.AffineTransform meshToBox); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Parallelogram parallelogram, androidx.ink.geometry.AffineTransform meshToParallelogram); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.PartitionedMesh other, androidx.ink.geometry.AffineTransform thisToCommonTransForm, androidx.ink.geometry.AffineTransform otherToCommonTransform); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Segment segment, androidx.ink.geometry.AffineTransform meshToSegment); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Triangle triangle, androidx.ink.geometry.AffineTransform meshToTriangle); method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Vec point, androidx.ink.geometry.AffineTransform meshToPoint); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Box box); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Parallelogram parallelogram); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToSegment); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Segment other); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Triangle triangle); method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Vec point); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Box box); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Parallelogram parallelogram); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToTriangle); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Segment segment); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Triangle other); method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Vec point); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Box box); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Parallelogram parallelogram); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToPoint); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Segment segment); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Triangle triangle); method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Vec other); field public static final androidx.ink.geometry.Intersection INSTANCE; } public final class MutableAffineTransform extends androidx.ink.geometry.AffineTransform { ctor public MutableAffineTransform(); method public void setValues(float m00, float m10, float m20, float m01, float m11, float m21); method public void setValues(@Size(min=6L) float[] values); } public final class MutableBox extends androidx.ink.geometry.Box { ctor public MutableBox(); method public float getXMax(); method public float getXMin(); method public float getYMax(); method public float getYMin(); method public androidx.ink.geometry.MutableBox populateFrom(androidx.ink.geometry.Box input); method public androidx.ink.geometry.MutableBox populateFromCenterAndDimensions(androidx.ink.geometry.Vec center, @FloatRange(from=0.0) float width, @FloatRange(from=0.0) float height); method public androidx.ink.geometry.MutableBox populateFromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); method public androidx.ink.geometry.MutableBox setXBounds(float x1, float x2); method public androidx.ink.geometry.MutableBox setYBounds(float y1, float y2); property public float xMax; property public float xMin; property public float yMax; property public float yMin; } public final class MutableParallelogram extends androidx.ink.geometry.Parallelogram { ctor public MutableParallelogram(); method public static androidx.ink.geometry.MutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height); method public static androidx.ink.geometry.MutableParallelogram fromCenterDimensionsAndRotation(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation); method public static androidx.ink.geometry.MutableParallelogram fromCenterDimensionsRotationAndShear(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation, float shearFactor); method public androidx.ink.geometry.MutableVec getCenter(); method public float getHeight(); method @androidx.ink.geometry.AngleRadiansFloat public float getRotation(); method public float getShearFactor(); method @FloatRange(from=0.0) public float getWidth(); method public void setCenter(androidx.ink.geometry.MutableVec); method public void setHeight(float); method public void setRotation(@androidx.ink.geometry.AngleRadiansFloat float); method public void setShearFactor(float); method public void setWidth(@FloatRange(from=0.0) float); property public androidx.ink.geometry.MutableVec center; property public float height; property @androidx.ink.geometry.AngleRadiansFloat public float rotation; property public float shearFactor; property @FloatRange(from=0.0) public float width; field public static final androidx.ink.geometry.MutableParallelogram.Companion Companion; } public static final class MutableParallelogram.Companion { method public androidx.ink.geometry.MutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height); method public androidx.ink.geometry.MutableParallelogram fromCenterDimensionsAndRotation(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation); method public androidx.ink.geometry.MutableParallelogram fromCenterDimensionsRotationAndShear(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height, @androidx.ink.geometry.AngleRadiansFloat float rotation, float shearFactor); } public final class MutableSegment extends androidx.ink.geometry.Segment { ctor public MutableSegment(); ctor public MutableSegment(androidx.ink.geometry.MutableVec start, androidx.ink.geometry.MutableVec end); method public androidx.ink.geometry.MutableVec getEnd(); method public androidx.ink.geometry.MutableVec getStart(); method public androidx.ink.geometry.MutableSegment populateFrom(androidx.ink.geometry.Segment input); method public void setEnd(androidx.ink.geometry.MutableVec); method public void setStart(androidx.ink.geometry.MutableVec); property public androidx.ink.geometry.MutableVec end; property public androidx.ink.geometry.MutableVec start; } public final class MutableTriangle extends androidx.ink.geometry.Triangle { ctor public MutableTriangle(); ctor public MutableTriangle(androidx.ink.geometry.MutableVec p0, androidx.ink.geometry.MutableVec p1, androidx.ink.geometry.MutableVec p2); method public androidx.ink.geometry.MutableVec getP0(); method public androidx.ink.geometry.MutableVec getP1(); method public androidx.ink.geometry.MutableVec getP2(); method public androidx.ink.geometry.MutableTriangle populateFrom(androidx.ink.geometry.Triangle input); method public void setP0(androidx.ink.geometry.MutableVec); method public void setP1(androidx.ink.geometry.MutableVec); method public void setP2(androidx.ink.geometry.MutableVec); property public androidx.ink.geometry.MutableVec p0; property public androidx.ink.geometry.MutableVec p1; property public androidx.ink.geometry.MutableVec p2; } public final class MutableVec extends androidx.ink.geometry.Vec { ctor public MutableVec(); ctor public MutableVec(float x, float y); method public static androidx.ink.geometry.MutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); method public float getX(); method public float getY(); method public androidx.ink.geometry.MutableVec populateFrom(androidx.ink.geometry.Vec input); method public void setX(float); method public void setY(float); property public float x; property public float y; field public static final androidx.ink.geometry.MutableVec.Companion Companion; } public static final class MutableVec.Companion { method public androidx.ink.geometry.MutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); } public abstract class Parallelogram { method public final float computeSignedArea(); method public abstract androidx.ink.geometry.Vec getCenter(); method public abstract float getHeight(); method @androidx.ink.geometry.AngleRadiansFloat public abstract float getRotation(); method public abstract float getShearFactor(); method @FloatRange(from=0.0) public abstract float getWidth(); property public abstract androidx.ink.geometry.Vec center; property public abstract float height; property @androidx.ink.geometry.AngleRadiansFloat public abstract float rotation; property public abstract float shearFactor; property @FloatRange(from=0.0) public abstract float width; field public static final androidx.ink.geometry.Parallelogram.Companion Companion; } public static final class Parallelogram.Companion { } public final class PartitionedMesh { method public androidx.ink.geometry.Box? computeBoundingBox(); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Box box); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Box box, optional androidx.ink.geometry.AffineTransform boxToThis); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Parallelogram parallelogram); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Parallelogram parallelogram, optional androidx.ink.geometry.AffineTransform parallelogramToThis); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.PartitionedMesh other); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.PartitionedMesh other, optional androidx.ink.geometry.AffineTransform otherShapeToThis); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Triangle triangle); method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Triangle triangle, optional androidx.ink.geometry.AffineTransform triangleToThis); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Box box, float coverageThreshold); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Box box, float coverageThreshold, optional androidx.ink.geometry.AffineTransform boxToThis); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Parallelogram parallelogram, float coverageThreshold); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Parallelogram parallelogram, float coverageThreshold, optional androidx.ink.geometry.AffineTransform parallelogramToThis); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.PartitionedMesh other, float coverageThreshold); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.PartitionedMesh other, float coverageThreshold, optional androidx.ink.geometry.AffineTransform otherShapeToThis); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Triangle triangle, float coverageThreshold); method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Triangle triangle, float coverageThreshold, optional androidx.ink.geometry.AffineTransform triangleToThis); method protected void finalize(); method @IntRange(from=0L) public int getOutlineCount(@IntRange(from=0L) int groupIndex); method @IntRange(from=0L) public int getOutlineVertexCount(@IntRange(from=0L) int groupIndex, @IntRange(from=0L) int outlineIndex); method @IntRange(from=0L) public int getRenderGroupCount(); method public void initializeSpatialIndex(); method public androidx.ink.geometry.MutableVec populateOutlinePosition(@IntRange(from=0L) int groupIndex, @IntRange(from=0L) int outlineIndex, @IntRange(from=0L) int outlineVertexIndex, androidx.ink.geometry.MutableVec outPosition); field public static final androidx.ink.geometry.PartitionedMesh.Companion Companion; } public static final class PartitionedMesh.Companion { } public abstract class Segment { method public final androidx.ink.geometry.ImmutableBox computeBoundingBox(); method public final androidx.ink.geometry.MutableBox computeBoundingBox(androidx.ink.geometry.MutableBox outBox); method public final androidx.ink.geometry.ImmutableVec computeDisplacement(); method public final androidx.ink.geometry.MutableVec computeDisplacement(androidx.ink.geometry.MutableVec outVec); method @FloatRange(from=0.0) public final float computeLength(); method public final androidx.ink.geometry.ImmutableVec computeLerpPoint(float ratio); method public final androidx.ink.geometry.MutableVec computeLerpPoint(float ratio, androidx.ink.geometry.MutableVec outVec); method public final androidx.ink.geometry.ImmutableVec computeMidpoint(); method public final androidx.ink.geometry.MutableVec computeMidpoint(androidx.ink.geometry.MutableVec outVec); method public abstract androidx.ink.geometry.Vec getEnd(); method public abstract androidx.ink.geometry.Vec getStart(); method public final boolean isAlmostEqual(androidx.ink.geometry.Segment other, @FloatRange(from=0.0) float tolerance); method public final float project(androidx.ink.geometry.Vec pointToProject); property public abstract androidx.ink.geometry.Vec end; property public abstract androidx.ink.geometry.Vec start; field public static final androidx.ink.geometry.Segment.Companion Companion; } public static final class Segment.Companion { } public abstract class Triangle { method public final androidx.ink.geometry.ImmutableBox computeBoundingBox(); method public final androidx.ink.geometry.MutableBox computeBoundingBox(androidx.ink.geometry.MutableBox outBox); method public final androidx.ink.geometry.ImmutableSegment computeEdge(@IntRange(from=0L, to=2L) int index); method public final androidx.ink.geometry.MutableSegment computeEdge(@IntRange(from=0L, to=2L) int index, androidx.ink.geometry.MutableSegment outSegment); method public final float computeSignedArea(); method public final operator boolean contains(androidx.ink.geometry.Vec point); method public abstract androidx.ink.geometry.Vec getP0(); method public abstract androidx.ink.geometry.Vec getP1(); method public abstract androidx.ink.geometry.Vec getP2(); method public final boolean isAlmostEqual(androidx.ink.geometry.Triangle other, @FloatRange(from=0.0) float tolerance); property public abstract androidx.ink.geometry.Vec p0; property public abstract androidx.ink.geometry.Vec p1; property public abstract androidx.ink.geometry.Vec p2; field public static final androidx.ink.geometry.Triangle.Companion Companion; } public static final class Triangle.Companion { } public abstract class Vec { method @FloatRange(from=0.0, to=java.lang.Math.PI) @androidx.ink.geometry.AngleRadiansFloat public static final float absoluteAngleBetween(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public static final void add(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); method @FloatRange(from=-3.141592653589793, to=java.lang.Math.PI) @androidx.ink.geometry.AngleRadiansFloat public final float computeDirection(); method @FloatRange(from=0.0) public final float computeMagnitude(); method @FloatRange(from=0.0) public final float computeMagnitudeSquared(); method public final androidx.ink.geometry.ImmutableVec computeNegation(); method public final androidx.ink.geometry.MutableVec computeNegation(androidx.ink.geometry.MutableVec outVec); method public final androidx.ink.geometry.ImmutableVec computeOrthogonal(); method public final androidx.ink.geometry.MutableVec computeOrthogonal(androidx.ink.geometry.MutableVec outVec); method public final androidx.ink.geometry.ImmutableVec computeUnitVec(); method public final androidx.ink.geometry.MutableVec computeUnitVec(androidx.ink.geometry.MutableVec outVec); method public static final float determinant(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public static final void divide(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); method public static final float dotProduct(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public abstract float getX(); method public abstract float getY(); method public final boolean isAlmostEqual(androidx.ink.geometry.Vec other); method public final boolean isAlmostEqual(androidx.ink.geometry.Vec other, optional @FloatRange(from=0.0) float tolerance); method public final boolean isParallelTo(androidx.ink.geometry.Vec other, @FloatRange(from=0.0) @androidx.ink.geometry.AngleRadiansFloat float angleTolerance); method public final boolean isPerpendicularTo(androidx.ink.geometry.Vec other, @FloatRange(from=0.0) @androidx.ink.geometry.AngleRadiansFloat float angleTolerance); method public static final void multiply(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); method public static final void multiply(float lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); method @FloatRange(from=-3.141592653589793, to=java.lang.Math.PI, fromInclusive=false) @androidx.ink.geometry.AngleRadiansFloat public static final float signedAngleBetween(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public static final void subtract(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); property public abstract float x; property public abstract float y; field public static final androidx.ink.geometry.Vec.Companion Companion; field public static final androidx.ink.geometry.ImmutableVec ORIGIN; } public static final class Vec.Companion { method @FloatRange(from=0.0, to=java.lang.Math.PI) @androidx.ink.geometry.AngleRadiansFloat public float absoluteAngleBetween(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public void add(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); method public float determinant(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public void divide(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); method public float dotProduct(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public void multiply(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); method public void multiply(float lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); method @FloatRange(from=-3.141592653589793, to=java.lang.Math.PI, fromInclusive=false) @androidx.ink.geometry.AngleRadiansFloat public float signedAngleBetween(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); method public void subtract(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); property public androidx.ink.geometry.ImmutableVec ORIGIN; } }