Class GKGoal

  • All Implemented Interfaces:
    NSCopying, NSObject

    public class GKGoal
    extends NSObject
    implements NSCopying
    Defines a spatial directive. The various goals cause force to be applied to agents to try to achieve said goal.
    • Constructor Detail

      • GKGoal

        protected GKGoal​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • alloc

        public static GKGoal alloc()
      • allocWithZone

        public static java.lang.Object allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(java.lang.Object aTarget,
                                                                                 org.moe.natj.objc.SEL aSelector,
                                                                                 java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        public static NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        public static org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • goalToAlignWithAgentsMaxDistanceMaxAngle

        public static GKGoal goalToAlignWithAgentsMaxDistanceMaxAngle​(NSArray<? extends GKAgent> agents,
                                                                      float maxDistance,
                                                                      float maxAngle)
        Creates a goal to align this agent's orientation with the average orientation of the group of agents.
        Parameters:
        maxDistance - the distance between agents before alignment happens
        maxAngle - the angle, in radians, between this agent's foward and the vector toward the other agent before alignment happens
      • goalToAvoidAgentsMaxPredictionTime

        public static GKGoal goalToAvoidAgentsMaxPredictionTime​(NSArray<? extends GKAgent> agents,
                                                                double maxPredictionTime)
        Creates a goal to avoid colliding with a group of agents taking into account those agent's momentum
        Parameters:
        maxPredictionTime - how far ahead in the future, in seconds, should we look for potential collisions
      • goalToAvoidObstaclesMaxPredictionTime

        public static GKGoal goalToAvoidObstaclesMaxPredictionTime​(NSArray<? extends GKObstacle> obstacles,
                                                                   double maxPredictionTime)
        Creates a goal to avoid colliding with a group of agents without taking into account those agents' momentum
        Parameters:
        maxPredictionTime - how far ahead in the future, in seconds, should we look for potential collisions
      • goalToCohereWithAgentsMaxDistanceMaxAngle

        public static GKGoal goalToCohereWithAgentsMaxDistanceMaxAngle​(NSArray<? extends GKAgent> agents,
                                                                       float maxDistance,
                                                                       float maxAngle)
        Creates a goal to seek the average position of the group of agents.
        Parameters:
        maxDistance - the distance between agents before cohesion happens
        maxAngle - the angle between this agent's foward and the vector toward the other agent before cohesion happens
      • goalToFleeAgent

        public static GKGoal goalToFleeAgent​(GKAgent agent)
        Creates a goal to move away from the agent
        Parameters:
        agent - the agent to flee from
      • goalToFollowPathMaxPredictionTimeForward

        public static GKGoal goalToFollowPathMaxPredictionTimeForward​(GKPath path,
                                                                      double maxPredictionTime,
                                                                      boolean forward)
        Creates a goal that will attempt to follow the given path
        Parameters:
        path - the path to follow
        maxPredictionTime - how far ahead in the future, in seconds, should we look for potential intercepts
        forward - direction to follow the path. forward = NO is reverse
      • goalToInterceptAgentMaxPredictionTime

        public static GKGoal goalToInterceptAgentMaxPredictionTime​(GKAgent target,
                                                                   double maxPredictionTime)
        Creates a goal that will attempt to intercept another target agent taking into account that agent's momentum
        Parameters:
        target - agent to intercept
        maxPredictionTime - how far ahead in the future, in seconds, should we look for potential intercepts
      • goalToReachTargetSpeed

        public static GKGoal goalToReachTargetSpeed​(float targetSpeed)
        Creates a goal that attempts to change our momentum to reach the target speed
        Parameters:
        targetSpeed - the target speed
      • goalToSeekAgent

        public static GKGoal goalToSeekAgent​(GKAgent agent)
        Creates a goal to move toward the agent
        Parameters:
        agent - the agent to seek
      • goalToSeparateFromAgentsMaxDistanceMaxAngle

        public static GKGoal goalToSeparateFromAgentsMaxDistanceMaxAngle​(NSArray<? extends GKAgent> agents,
                                                                         float maxDistance,
                                                                         float maxAngle)
        Creates a goal that tries to repel this agent away from the other agents and attempts to prevent overlap
        Parameters:
        maxDistance - the distance between agents before repelling happens
        maxAngle - the angle, in radians, between this agent's foward and the vector toward the other agent before the repelling happens
      • goalToStayOnPathMaxPredictionTime

        public static GKGoal goalToStayOnPathMaxPredictionTime​(GKPath path,
                                                               double maxPredictionTime)
        Creates a goal that will attempt to stay on the given path
        Parameters:
        path - the path to follow
        maxPredictionTime - how far ahead in the future, in seconds, should we look for potential intercepts
      • goalToWander

        public static GKGoal goalToWander​(float speed)
        Creates a goal that will make the agent appear to wander, aimlessly moving forward and turning randomly
        Parameters:
        speed - the speed at which to wander
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • copyWithZone

        public java.lang.Object copyWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
        Specified by:
        copyWithZone in interface NSCopying