1 package net.sf.josceleton.core.api.entity.joint; 2 3 import net.sf.josceleton.core.api.entity.Coordinate; 4 5 /** 6 * @since 0.4 7 */ 8 public interface Skeleton { 9 10 /** 11 * <font style="font-weight:bold;color:red;">ATTENTION:</font> This method might return <code>null</code>! 12 * 13 * @param joint of which to get the most recent coordinate 14 * @return recent position of given <code>joint</code>, or </code>null</code> if none yet available 15 * @since 0.4 16 */ 17 Coordinate get(Joint joint); 18 19 /** 20 * Safely get a coordinate, ensuring the return value is not null but throwing an exception instead. 21 * 22 * @param joint of which to get the most recent coordinate 23 * @return recent position of given <code>joint</code> 24 * @throws SkeletonCoordinateUnavailableException if no joint data was yet received for this joint 25 * @since 0.4 26 * @see #get(Joint) 27 */ 28 Coordinate getNullSafe(Joint joint); 29 30 /** 31 * 32 * @param joint 33 * @return 34 * @since 0.4 35 */ 36 boolean isCoordinateAvailable(Joint joint); 37 38 }