public override Action <ILandmarkController> GetLandmarkCalculation(LandmarkDefinition definition)
        {
            if (definition.name.Equals(k_CenterDefinitionName, StringComparison.InvariantCultureIgnoreCase))
            {
                return(CalculateCenter);
            }

            if (definition.GetEnumName <BasicPolygonLandmarks>() == BasicPolygonLandmarks.BoundingRect)
            {
                return(CalculateBoundingRectFromExtents);
            }

            return(base.GetLandmarkCalculation(definition));
        }
예제 #2
0
        public virtual Action <ILandmarkController> GetLandmarkCalculation(LandmarkDefinition definition)
        {
            var landmarkType = definition.GetEnumName <BasicPolygonLandmarks>();

            switch (landmarkType)
            {
            case BasicPolygonLandmarks.Centroid:
                return(CalculateCentroidLandmark);

            case BasicPolygonLandmarks.Closest:
                return(CalculateClosestLandmark);

            case BasicPolygonLandmarks.BoundingRect:
                return(CalculateBoundingRectangle);

            default:
                Debug.LogError("Attempting to get a landmark outside the range of available landmarks.", this);
                return(null);
            }
        }
예제 #3
0
        public Action <ILandmarkController> GetLandmarkCalculation(LandmarkDefinition definition)
        {
            var faceLandmark = definition.GetEnumName <MRFaceLandmark>();

            return((landmark) => UpdateFaceLandmark(landmark, faceLandmark));
        }