Internal change
PiperOrigin-RevId: 528996603
This commit is contained in:
		
							parent
							
								
									c698381e48
								
							
						
					
					
						commit
						1dea01aecc
					
				| 
						 | 
					@ -213,6 +213,7 @@ android_library(
 | 
				
			||||||
        "handlandmarker/HandLandmark.java",
 | 
					        "handlandmarker/HandLandmark.java",
 | 
				
			||||||
        "handlandmarker/HandLandmarker.java",
 | 
					        "handlandmarker/HandLandmarker.java",
 | 
				
			||||||
        "handlandmarker/HandLandmarkerResult.java",
 | 
					        "handlandmarker/HandLandmarkerResult.java",
 | 
				
			||||||
 | 
					        "handlandmarker/HandLandmarksConnections.java",
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    javacopts = [
 | 
					    javacopts = [
 | 
				
			||||||
        "-Xep:AndroidJdkLibsChecker:OFF",
 | 
					        "-Xep:AndroidJdkLibsChecker:OFF",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,105 @@
 | 
				
			||||||
 | 
					// Copyright 2023 The MediaPipe Authors.
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||||
 | 
					// you may not use this file except in compliance with the License.
 | 
				
			||||||
 | 
					// You may obtain a copy of the License at
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//      http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||||
 | 
					// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||||
 | 
					// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||||
 | 
					// See the License for the specific language governing permissions and
 | 
				
			||||||
 | 
					// limitations under the License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package com.google.mediapipe.tasks.vision.handlandmarker;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import com.google.auto.value.AutoValue;
 | 
				
			||||||
 | 
					import java.util.Arrays;
 | 
				
			||||||
 | 
					import java.util.Collections;
 | 
				
			||||||
 | 
					import java.util.HashSet;
 | 
				
			||||||
 | 
					import java.util.Set;
 | 
				
			||||||
 | 
					import java.util.stream.Collectors;
 | 
				
			||||||
 | 
					import java.util.stream.Stream;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** Hand landmarks connection constants. */
 | 
				
			||||||
 | 
					public final class HandLandmarksConnections {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /** Value class representing hand landmarks connection. */
 | 
				
			||||||
 | 
					  @AutoValue
 | 
				
			||||||
 | 
					  public abstract static class Connection {
 | 
				
			||||||
 | 
					    static Connection create(int start, int end) {
 | 
				
			||||||
 | 
					      return new AutoValue_HandLandmarksConnections_Connection(start, end);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public abstract int start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public abstract int end();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_PALM_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(0, 1),
 | 
				
			||||||
 | 
					                  Connection.create(0, 5),
 | 
				
			||||||
 | 
					                  Connection.create(9, 13),
 | 
				
			||||||
 | 
					                  Connection.create(13, 17),
 | 
				
			||||||
 | 
					                  Connection.create(5, 9),
 | 
				
			||||||
 | 
					                  Connection.create(0, 17))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_THUMB_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(1, 2), Connection.create(2, 3), Connection.create(3, 4))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_INDEX_FINGER_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(5, 6), Connection.create(6, 7), Connection.create(7, 8))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_MIDDLE_FINGER_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(9, 10), Connection.create(10, 11), Connection.create(11, 12))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_RING_FINGER_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(13, 14),
 | 
				
			||||||
 | 
					                  Connection.create(14, 15),
 | 
				
			||||||
 | 
					                  Connection.create(15, 16))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_PINKY_FINGER_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          new HashSet<>(
 | 
				
			||||||
 | 
					              Arrays.asList(
 | 
				
			||||||
 | 
					                  Connection.create(17, 18),
 | 
				
			||||||
 | 
					                  Connection.create(18, 19),
 | 
				
			||||||
 | 
					                  Connection.create(19, 20))));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @SuppressWarnings("ConstantCaseForConstants")
 | 
				
			||||||
 | 
					  public static final Set<Connection> HAND_CONNECTIONS =
 | 
				
			||||||
 | 
					      Collections.unmodifiableSet(
 | 
				
			||||||
 | 
					          Stream.of(
 | 
				
			||||||
 | 
					                  HAND_PALM_CONNECTIONS.stream(),
 | 
				
			||||||
 | 
					                  HAND_THUMB_CONNECTIONS.stream(),
 | 
				
			||||||
 | 
					                  HAND_INDEX_FINGER_CONNECTIONS.stream(),
 | 
				
			||||||
 | 
					                  HAND_MIDDLE_FINGER_CONNECTIONS.stream(),
 | 
				
			||||||
 | 
					                  HAND_RING_FINGER_CONNECTIONS.stream(),
 | 
				
			||||||
 | 
					                  HAND_PINKY_FINGER_CONNECTIONS.stream())
 | 
				
			||||||
 | 
					              .flatMap(i -> i)
 | 
				
			||||||
 | 
					              .collect(Collectors.toSet()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  private HandLandmarksConnections() {}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user