1// Signature format: 4.0 2package androidx.ink.geometry { 3 4 public abstract class AffineTransform { 5 method public final androidx.ink.geometry.MutableParallelogram applyTransform(androidx.ink.geometry.Box box, androidx.ink.geometry.MutableParallelogram outParallelogram); 6 method public final androidx.ink.geometry.MutableParallelogram applyTransform(androidx.ink.geometry.Parallelogram parallelogram, androidx.ink.geometry.MutableParallelogram outParallelogram); 7 method public final androidx.ink.geometry.MutableSegment applyTransform(androidx.ink.geometry.Segment segment, androidx.ink.geometry.MutableSegment outSegment); 8 method public final androidx.ink.geometry.MutableTriangle applyTransform(androidx.ink.geometry.Triangle triangle, androidx.ink.geometry.MutableTriangle outTriangle); 9 method public final androidx.ink.geometry.MutableVec applyTransform(androidx.ink.geometry.Vec point, androidx.ink.geometry.MutableVec outVec); 10 method public final androidx.ink.geometry.MutableAffineTransform computeInverse(androidx.ink.geometry.MutableAffineTransform outAffineTransform); 11 method @Size(min=6L) public final float[] getValues(); 12 method @Size(min=6L) public final float[] getValues(optional @Size(min=6L) float[] outArray); 13 field public static final androidx.ink.geometry.AffineTransform.Companion Companion; 14 field public static final androidx.ink.geometry.ImmutableAffineTransform IDENTITY; 15 } 16 17 public static final class AffineTransform.Companion { 18 property public androidx.ink.geometry.ImmutableAffineTransform IDENTITY; 19 } 20 21 public final class Angle { 22 method @androidx.ink.geometry.AngleRadiansFloat public static float degreesToRadians(@androidx.ink.geometry.AngleDegreesFloat float degrees); 23 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); 24 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); 25 method @androidx.ink.geometry.AngleDegreesFloat public static float radiansToDegrees(@androidx.ink.geometry.AngleRadiansFloat float radians); 26 property @androidx.ink.geometry.AngleRadiansFloat public float FULL_TURN_RADIANS; 27 property @androidx.ink.geometry.AngleRadiansFloat public float HALF_TURN_RADIANS; 28 property @androidx.ink.geometry.AngleRadiansFloat public float QUARTER_TURN_RADIANS; 29 property @androidx.ink.geometry.AngleRadiansFloat public float ZERO; 30 field @androidx.ink.geometry.AngleRadiansFloat public static final float FULL_TURN_RADIANS; 31 field @androidx.ink.geometry.AngleRadiansFloat public static final float HALF_TURN_RADIANS; 32 field public static final androidx.ink.geometry.Angle INSTANCE; 33 field @androidx.ink.geometry.AngleRadiansFloat public static final float QUARTER_TURN_RADIANS; 34 field @androidx.ink.geometry.AngleRadiansFloat public static final float ZERO; 35 } 36 37 @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 { 38 } 39 40 @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 { 41 } 42 43 public abstract class Box { 44 method public final androidx.ink.geometry.MutableVec computeCenter(androidx.ink.geometry.MutableVec outVec); 45 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); 46 method public final operator boolean contains(androidx.ink.geometry.Box otherBox); 47 method public final operator boolean contains(androidx.ink.geometry.Vec point); 48 method @FloatRange(from=0.0) public final float getHeight(); 49 method @FloatRange(from=0.0) public final float getWidth(); 50 method public abstract float getXMax(); 51 method public abstract float getXMin(); 52 method public abstract float getYMax(); 53 method public abstract float getYMin(); 54 method public final boolean isAlmostEqual(androidx.ink.geometry.Box other, @FloatRange(from=0.0) float tolerance); 55 property @FloatRange(from=0.0) public final float height; 56 property @FloatRange(from=0.0) public final float width; 57 property public abstract float xMax; 58 property public abstract float xMin; 59 property public abstract float yMax; 60 property public abstract float yMin; 61 field public static final androidx.ink.geometry.Box.Companion Companion; 62 } 63 64 public static final class Box.Companion { 65 } 66 67 public final class BoxAccumulator { 68 ctor public BoxAccumulator(); 69 ctor public BoxAccumulator(androidx.ink.geometry.Box box); 70 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Box? box); 71 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.BoxAccumulator? other); 72 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Parallelogram parallelogram); 73 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.PartitionedMesh mesh); 74 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Segment segment); 75 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Triangle triangle); 76 method public androidx.ink.geometry.BoxAccumulator add(androidx.ink.geometry.Vec point); 77 method public androidx.ink.geometry.Box? getBox(); 78 method public boolean isAlmostEqual(androidx.ink.geometry.BoxAccumulator other, @FloatRange(from=0.0) float tolerance); 79 method public boolean isEmpty(); 80 method public androidx.ink.geometry.BoxAccumulator populateFrom(androidx.ink.geometry.BoxAccumulator input); 81 method public androidx.ink.geometry.BoxAccumulator reset(); 82 property public androidx.ink.geometry.Box? box; 83 } 84 85 public final class ImmutableAffineTransform extends androidx.ink.geometry.AffineTransform { 86 ctor public ImmutableAffineTransform(float m00, float m10, float m20, float m01, float m11, float m21); 87 ctor public ImmutableAffineTransform(@Size(min=6L) float[] values); 88 method public static androidx.ink.geometry.ImmutableAffineTransform scale(float scaleFactor); 89 method public static androidx.ink.geometry.ImmutableAffineTransform scale(float xScaleFactor, float yScaleFactor); 90 method public static androidx.ink.geometry.ImmutableAffineTransform scaleX(float scaleFactor); 91 method public static androidx.ink.geometry.ImmutableAffineTransform scaleY(float scaleFactor); 92 method public static androidx.ink.geometry.ImmutableAffineTransform translate(androidx.ink.geometry.Vec offset); 93 field public static final androidx.ink.geometry.ImmutableAffineTransform.Companion Companion; 94 } 95 96 public static final class ImmutableAffineTransform.Companion { 97 method public androidx.ink.geometry.ImmutableAffineTransform scale(float scaleFactor); 98 method public androidx.ink.geometry.ImmutableAffineTransform scale(float xScaleFactor, float yScaleFactor); 99 method public androidx.ink.geometry.ImmutableAffineTransform scaleX(float scaleFactor); 100 method public androidx.ink.geometry.ImmutableAffineTransform scaleY(float scaleFactor); 101 method public androidx.ink.geometry.ImmutableAffineTransform translate(androidx.ink.geometry.Vec offset); 102 } 103 104 public final class ImmutableBox extends androidx.ink.geometry.Box { 105 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); 106 method public static androidx.ink.geometry.ImmutableBox fromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); 107 method public float getXMax(); 108 method public float getXMin(); 109 method public float getYMax(); 110 method public float getYMin(); 111 property public float xMax; 112 property public float xMin; 113 property public float yMax; 114 property public float yMin; 115 field public static final androidx.ink.geometry.ImmutableBox.Companion Companion; 116 } 117 118 public static final class ImmutableBox.Companion { 119 method public androidx.ink.geometry.ImmutableBox fromCenterAndDimensions(androidx.ink.geometry.Vec center, @FloatRange(from=0.0) float width, @FloatRange(from=0.0) float height); 120 method public androidx.ink.geometry.ImmutableBox fromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); 121 } 122 123 public final class ImmutableParallelogram extends androidx.ink.geometry.Parallelogram { 124 method public static androidx.ink.geometry.ImmutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height); 125 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); 126 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); 127 method public androidx.ink.geometry.ImmutableVec getCenter(); 128 method public float getHeight(); 129 method public float getRotation(); 130 method public float getShearFactor(); 131 method public float getWidth(); 132 property public androidx.ink.geometry.ImmutableVec center; 133 property public float height; 134 property @androidx.ink.geometry.AngleRadiansFloat public float rotation; 135 property public float shearFactor; 136 property public float width; 137 field public static final androidx.ink.geometry.ImmutableParallelogram.Companion Companion; 138 } 139 140 public static final class ImmutableParallelogram.Companion { 141 method public androidx.ink.geometry.ImmutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.ImmutableVec center, @FloatRange(from=0.0) float width, float height); 142 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); 143 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); 144 } 145 146 public final class ImmutableSegment extends androidx.ink.geometry.Segment { 147 ctor public ImmutableSegment(androidx.ink.geometry.Vec start, androidx.ink.geometry.Vec end); 148 method public androidx.ink.geometry.Vec getEnd(); 149 method public androidx.ink.geometry.Vec getStart(); 150 property public androidx.ink.geometry.Vec end; 151 property public androidx.ink.geometry.Vec start; 152 } 153 154 public final class ImmutableTriangle extends androidx.ink.geometry.Triangle { 155 ctor public ImmutableTriangle(androidx.ink.geometry.Vec p0, androidx.ink.geometry.Vec p1, androidx.ink.geometry.Vec p2); 156 method public androidx.ink.geometry.Vec getP0(); 157 method public androidx.ink.geometry.Vec getP1(); 158 method public androidx.ink.geometry.Vec getP2(); 159 property public androidx.ink.geometry.Vec p0; 160 property public androidx.ink.geometry.Vec p1; 161 property public androidx.ink.geometry.Vec p2; 162 } 163 164 public final class ImmutableVec extends androidx.ink.geometry.Vec { 165 ctor public ImmutableVec(float x, float y); 166 method public static androidx.ink.geometry.ImmutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); 167 method public float getX(); 168 method public float getY(); 169 property public float x; 170 property public float y; 171 field public static final androidx.ink.geometry.ImmutableVec.Companion Companion; 172 } 173 174 public static final class ImmutableVec.Companion { 175 method public androidx.ink.geometry.ImmutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); 176 } 177 178 public final class Intersection { 179 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Box other); 180 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Parallelogram parallelogram); 181 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToBox); 182 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Segment segment); 183 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Triangle triangle); 184 method public static boolean intersects(androidx.ink.geometry.Box, androidx.ink.geometry.Vec point); 185 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Box box); 186 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Parallelogram other); 187 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToParallelogram); 188 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Segment segment); 189 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Triangle triangle); 190 method public static boolean intersects(androidx.ink.geometry.Parallelogram, androidx.ink.geometry.Vec point); 191 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Box box, androidx.ink.geometry.AffineTransform meshToBox); 192 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Parallelogram parallelogram, androidx.ink.geometry.AffineTransform meshToParallelogram); 193 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.PartitionedMesh other, androidx.ink.geometry.AffineTransform thisToCommonTransForm, androidx.ink.geometry.AffineTransform otherToCommonTransform); 194 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Segment segment, androidx.ink.geometry.AffineTransform meshToSegment); 195 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Triangle triangle, androidx.ink.geometry.AffineTransform meshToTriangle); 196 method public static boolean intersects(androidx.ink.geometry.PartitionedMesh, androidx.ink.geometry.Vec point, androidx.ink.geometry.AffineTransform meshToPoint); 197 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Box box); 198 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Parallelogram parallelogram); 199 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToSegment); 200 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Segment other); 201 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Triangle triangle); 202 method public static boolean intersects(androidx.ink.geometry.Segment, androidx.ink.geometry.Vec point); 203 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Box box); 204 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Parallelogram parallelogram); 205 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToTriangle); 206 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Segment segment); 207 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Triangle other); 208 method public static boolean intersects(androidx.ink.geometry.Triangle, androidx.ink.geometry.Vec point); 209 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Box box); 210 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Parallelogram parallelogram); 211 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.PartitionedMesh mesh, androidx.ink.geometry.AffineTransform meshToPoint); 212 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Segment segment); 213 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Triangle triangle); 214 method public static boolean intersects(androidx.ink.geometry.Vec, androidx.ink.geometry.Vec other); 215 field public static final androidx.ink.geometry.Intersection INSTANCE; 216 } 217 218 public final class MutableAffineTransform extends androidx.ink.geometry.AffineTransform { 219 ctor public MutableAffineTransform(); 220 method public void setValues(float m00, float m10, float m20, float m01, float m11, float m21); 221 method public void setValues(@Size(min=6L) float[] values); 222 } 223 224 public final class MutableBox extends androidx.ink.geometry.Box { 225 ctor public MutableBox(); 226 method public float getXMax(); 227 method public float getXMin(); 228 method public float getYMax(); 229 method public float getYMin(); 230 method public androidx.ink.geometry.MutableBox populateFrom(androidx.ink.geometry.Box input); 231 method public androidx.ink.geometry.MutableBox populateFromCenterAndDimensions(androidx.ink.geometry.Vec center, @FloatRange(from=0.0) float width, @FloatRange(from=0.0) float height); 232 method public androidx.ink.geometry.MutableBox populateFromTwoPoints(androidx.ink.geometry.Vec point1, androidx.ink.geometry.Vec point2); 233 method public androidx.ink.geometry.MutableBox setXBounds(float x1, float x2); 234 method public androidx.ink.geometry.MutableBox setYBounds(float y1, float y2); 235 property public float xMax; 236 property public float xMin; 237 property public float yMax; 238 property public float yMin; 239 } 240 241 public final class MutableParallelogram extends androidx.ink.geometry.Parallelogram { 242 ctor public MutableParallelogram(); 243 method public static androidx.ink.geometry.MutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height); 244 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); 245 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); 246 method public androidx.ink.geometry.MutableVec getCenter(); 247 method public float getHeight(); 248 method @androidx.ink.geometry.AngleRadiansFloat public float getRotation(); 249 method public float getShearFactor(); 250 method @FloatRange(from=0.0) public float getWidth(); 251 method public void setCenter(androidx.ink.geometry.MutableVec); 252 method public void setHeight(float); 253 method public void setRotation(@androidx.ink.geometry.AngleRadiansFloat float); 254 method public void setShearFactor(float); 255 method public void setWidth(@FloatRange(from=0.0) float); 256 property public androidx.ink.geometry.MutableVec center; 257 property public float height; 258 property @androidx.ink.geometry.AngleRadiansFloat public float rotation; 259 property public float shearFactor; 260 property @FloatRange(from=0.0) public float width; 261 field public static final androidx.ink.geometry.MutableParallelogram.Companion Companion; 262 } 263 264 public static final class MutableParallelogram.Companion { 265 method public androidx.ink.geometry.MutableParallelogram fromCenterAndDimensions(androidx.ink.geometry.MutableVec center, @FloatRange(from=0.0) float width, float height); 266 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); 267 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); 268 } 269 270 public final class MutableSegment extends androidx.ink.geometry.Segment { 271 ctor public MutableSegment(); 272 ctor public MutableSegment(androidx.ink.geometry.MutableVec start, androidx.ink.geometry.MutableVec end); 273 method public androidx.ink.geometry.MutableVec getEnd(); 274 method public androidx.ink.geometry.MutableVec getStart(); 275 method public androidx.ink.geometry.MutableSegment populateFrom(androidx.ink.geometry.Segment input); 276 method public void setEnd(androidx.ink.geometry.MutableVec); 277 method public void setStart(androidx.ink.geometry.MutableVec); 278 property public androidx.ink.geometry.MutableVec end; 279 property public androidx.ink.geometry.MutableVec start; 280 } 281 282 public final class MutableTriangle extends androidx.ink.geometry.Triangle { 283 ctor public MutableTriangle(); 284 ctor public MutableTriangle(androidx.ink.geometry.MutableVec p0, androidx.ink.geometry.MutableVec p1, androidx.ink.geometry.MutableVec p2); 285 method public androidx.ink.geometry.MutableVec getP0(); 286 method public androidx.ink.geometry.MutableVec getP1(); 287 method public androidx.ink.geometry.MutableVec getP2(); 288 method public androidx.ink.geometry.MutableTriangle populateFrom(androidx.ink.geometry.Triangle input); 289 method public void setP0(androidx.ink.geometry.MutableVec); 290 method public void setP1(androidx.ink.geometry.MutableVec); 291 method public void setP2(androidx.ink.geometry.MutableVec); 292 property public androidx.ink.geometry.MutableVec p0; 293 property public androidx.ink.geometry.MutableVec p1; 294 property public androidx.ink.geometry.MutableVec p2; 295 } 296 297 public final class MutableVec extends androidx.ink.geometry.Vec { 298 ctor public MutableVec(); 299 ctor public MutableVec(float x, float y); 300 method public static androidx.ink.geometry.MutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); 301 method public float getX(); 302 method public float getY(); 303 method public androidx.ink.geometry.MutableVec populateFrom(androidx.ink.geometry.Vec input); 304 method public void setX(float); 305 method public void setY(float); 306 property public float x; 307 property public float y; 308 field public static final androidx.ink.geometry.MutableVec.Companion Companion; 309 } 310 311 public static final class MutableVec.Companion { 312 method public androidx.ink.geometry.MutableVec fromDirectionAndMagnitude(@androidx.ink.geometry.AngleRadiansFloat float direction, float magnitude); 313 } 314 315 public abstract class Parallelogram { 316 method public final float computeSignedArea(); 317 method public abstract androidx.ink.geometry.Vec getCenter(); 318 method public abstract float getHeight(); 319 method @androidx.ink.geometry.AngleRadiansFloat public abstract float getRotation(); 320 method public abstract float getShearFactor(); 321 method @FloatRange(from=0.0) public abstract float getWidth(); 322 property public abstract androidx.ink.geometry.Vec center; 323 property public abstract float height; 324 property @androidx.ink.geometry.AngleRadiansFloat public abstract float rotation; 325 property public abstract float shearFactor; 326 property @FloatRange(from=0.0) public abstract float width; 327 field public static final androidx.ink.geometry.Parallelogram.Companion Companion; 328 } 329 330 public static final class Parallelogram.Companion { 331 } 332 333 public final class PartitionedMesh { 334 method public androidx.ink.geometry.Box? computeBoundingBox(); 335 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Box box); 336 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Box box, optional androidx.ink.geometry.AffineTransform boxToThis); 337 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Parallelogram parallelogram); 338 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Parallelogram parallelogram, optional androidx.ink.geometry.AffineTransform parallelogramToThis); 339 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.PartitionedMesh other); 340 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.PartitionedMesh other, optional androidx.ink.geometry.AffineTransform otherShapeToThis); 341 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Triangle triangle); 342 method @FloatRange(from=0.0, to=1.0) public float computeCoverage(androidx.ink.geometry.Triangle triangle, optional androidx.ink.geometry.AffineTransform triangleToThis); 343 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Box box, float coverageThreshold); 344 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Box box, float coverageThreshold, optional androidx.ink.geometry.AffineTransform boxToThis); 345 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Parallelogram parallelogram, float coverageThreshold); 346 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Parallelogram parallelogram, float coverageThreshold, optional androidx.ink.geometry.AffineTransform parallelogramToThis); 347 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.PartitionedMesh other, float coverageThreshold); 348 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.PartitionedMesh other, float coverageThreshold, optional androidx.ink.geometry.AffineTransform otherShapeToThis); 349 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Triangle triangle, float coverageThreshold); 350 method public boolean computeCoverageIsGreaterThan(androidx.ink.geometry.Triangle triangle, float coverageThreshold, optional androidx.ink.geometry.AffineTransform triangleToThis); 351 method protected void finalize(); 352 method @IntRange(from=0L) public int getOutlineCount(@IntRange(from=0L) int groupIndex); 353 method @IntRange(from=0L) public int getOutlineVertexCount(@IntRange(from=0L) int groupIndex, @IntRange(from=0L) int outlineIndex); 354 method @IntRange(from=0L) public int getRenderGroupCount(); 355 method public void initializeSpatialIndex(); 356 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); 357 field public static final androidx.ink.geometry.PartitionedMesh.Companion Companion; 358 } 359 360 public static final class PartitionedMesh.Companion { 361 } 362 363 public abstract class Segment { 364 method public final androidx.ink.geometry.ImmutableBox computeBoundingBox(); 365 method public final androidx.ink.geometry.MutableBox computeBoundingBox(androidx.ink.geometry.MutableBox outBox); 366 method public final androidx.ink.geometry.ImmutableVec computeDisplacement(); 367 method public final androidx.ink.geometry.MutableVec computeDisplacement(androidx.ink.geometry.MutableVec outVec); 368 method @FloatRange(from=0.0) public final float computeLength(); 369 method public final androidx.ink.geometry.ImmutableVec computeLerpPoint(float ratio); 370 method public final androidx.ink.geometry.MutableVec computeLerpPoint(float ratio, androidx.ink.geometry.MutableVec outVec); 371 method public final androidx.ink.geometry.ImmutableVec computeMidpoint(); 372 method public final androidx.ink.geometry.MutableVec computeMidpoint(androidx.ink.geometry.MutableVec outVec); 373 method public abstract androidx.ink.geometry.Vec getEnd(); 374 method public abstract androidx.ink.geometry.Vec getStart(); 375 method public final boolean isAlmostEqual(androidx.ink.geometry.Segment other, @FloatRange(from=0.0) float tolerance); 376 method public final float project(androidx.ink.geometry.Vec pointToProject); 377 property public abstract androidx.ink.geometry.Vec end; 378 property public abstract androidx.ink.geometry.Vec start; 379 field public static final androidx.ink.geometry.Segment.Companion Companion; 380 } 381 382 public static final class Segment.Companion { 383 } 384 385 public abstract class Triangle { 386 method public final androidx.ink.geometry.ImmutableBox computeBoundingBox(); 387 method public final androidx.ink.geometry.MutableBox computeBoundingBox(androidx.ink.geometry.MutableBox outBox); 388 method public final androidx.ink.geometry.ImmutableSegment computeEdge(@IntRange(from=0L, to=2L) int index); 389 method public final androidx.ink.geometry.MutableSegment computeEdge(@IntRange(from=0L, to=2L) int index, androidx.ink.geometry.MutableSegment outSegment); 390 method public final float computeSignedArea(); 391 method public final operator boolean contains(androidx.ink.geometry.Vec point); 392 method public abstract androidx.ink.geometry.Vec getP0(); 393 method public abstract androidx.ink.geometry.Vec getP1(); 394 method public abstract androidx.ink.geometry.Vec getP2(); 395 method public final boolean isAlmostEqual(androidx.ink.geometry.Triangle other, @FloatRange(from=0.0) float tolerance); 396 property public abstract androidx.ink.geometry.Vec p0; 397 property public abstract androidx.ink.geometry.Vec p1; 398 property public abstract androidx.ink.geometry.Vec p2; 399 field public static final androidx.ink.geometry.Triangle.Companion Companion; 400 } 401 402 public static final class Triangle.Companion { 403 } 404 405 public abstract class Vec { 406 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); 407 method public static final void add(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 408 method @FloatRange(from=-3.141592653589793, to=java.lang.Math.PI) @androidx.ink.geometry.AngleRadiansFloat public final float computeDirection(); 409 method @FloatRange(from=0.0) public final float computeMagnitude(); 410 method @FloatRange(from=0.0) public final float computeMagnitudeSquared(); 411 method public final androidx.ink.geometry.ImmutableVec computeNegation(); 412 method public final androidx.ink.geometry.MutableVec computeNegation(androidx.ink.geometry.MutableVec outVec); 413 method public final androidx.ink.geometry.ImmutableVec computeOrthogonal(); 414 method public final androidx.ink.geometry.MutableVec computeOrthogonal(androidx.ink.geometry.MutableVec outVec); 415 method public final androidx.ink.geometry.ImmutableVec computeUnitVec(); 416 method public final androidx.ink.geometry.MutableVec computeUnitVec(androidx.ink.geometry.MutableVec outVec); 417 method public static final float determinant(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); 418 method public static final void divide(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); 419 method public static final float dotProduct(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); 420 method public abstract float getX(); 421 method public abstract float getY(); 422 method public final boolean isAlmostEqual(androidx.ink.geometry.Vec other); 423 method public final boolean isAlmostEqual(androidx.ink.geometry.Vec other, optional @FloatRange(from=0.0) float tolerance); 424 method public final boolean isParallelTo(androidx.ink.geometry.Vec other, @FloatRange(from=0.0) @androidx.ink.geometry.AngleRadiansFloat float angleTolerance); 425 method public final boolean isPerpendicularTo(androidx.ink.geometry.Vec other, @FloatRange(from=0.0) @androidx.ink.geometry.AngleRadiansFloat float angleTolerance); 426 method public static final void multiply(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); 427 method public static final void multiply(float lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 428 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); 429 method public static final void subtract(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 430 property public abstract float x; 431 property public abstract float y; 432 field public static final androidx.ink.geometry.Vec.Companion Companion; 433 field public static final androidx.ink.geometry.ImmutableVec ORIGIN; 434 } 435 436 public static final class Vec.Companion { 437 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); 438 method public void add(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 439 method public float determinant(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); 440 method public void divide(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); 441 method public float dotProduct(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs); 442 method public void multiply(androidx.ink.geometry.Vec lhs, float rhs, androidx.ink.geometry.MutableVec output); 443 method public void multiply(float lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 444 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); 445 method public void subtract(androidx.ink.geometry.Vec lhs, androidx.ink.geometry.Vec rhs, androidx.ink.geometry.MutableVec output); 446 property public androidx.ink.geometry.ImmutableVec ORIGIN; 447 } 448 449} 450 451