/*
MobileRobots Advanced Robotics Navigation and Localization (ARNL)
Version 1.7.1

Copyright (C) 2004, 2005 ActivMedia Robotics LLC
Copyright (C) 2006, 2007, 2008, 2009 MobileRobots Inc.

All Rights Reserved.

MobileRobots Inc does not make any representations about the
suitability of this software for any purpose.  It is provided "as is"
without express or implied warranty.

The license for this software is distributed as LICENSE.txt in the top
level directory.

robots@mobilerobots.com
MobileRobots
10 Columbia Drive
Amherst, NH 03031
800-639-9481

*/
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 1.3.29
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

package com.mobilerobots.BaseArnl;

  import com.mobilerobots.Aria.*;
  import com.mobilerobots.ArNetworking.*;

public class ArServerHandlerLocalization {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  /* for internal use by swig only */
  public ArServerHandlerLocalization(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }

  /* for internal use by swig only */
  public static long getCPtr(ArServerHandlerLocalization obj) {
    return (obj == null) ? 0 : obj.swigCPtr;
  }

  protected void finalize() {
    delete();
  }

  public void delete() {
    if(swigCPtr != 0 && swigCMemOwn) {
      swigCMemOwn = false;
      BaseArnlJavaJNI.delete_ArServerHandlerLocalization(swigCPtr);
    }
    swigCPtr = 0;
  }

  public ArServerHandlerLocalization(ArServerBase server, ArRobot robot, ArBaseLocalizationTask locTask, boolean addResetToHome, boolean setSimPoseOnLocalize) {
    this(BaseArnlJavaJNI.new_ArServerHandlerLocalization__SWIG_0(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArBaseLocalizationTask.getCPtr(locTask), addResetToHome, setSimPoseOnLocalize), true);
  }

  public ArServerHandlerLocalization(ArServerBase server, ArRobot robot, ArBaseLocalizationTask locTask, boolean addResetToHome) {
    this(BaseArnlJavaJNI.new_ArServerHandlerLocalization__SWIG_1(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArBaseLocalizationTask.getCPtr(locTask), addResetToHome), true);
  }

  public ArServerHandlerLocalization(ArServerBase server, ArRobot robot, ArBaseLocalizationTask locTask) {
    this(BaseArnlJavaJNI.new_ArServerHandlerLocalization__SWIG_2(ArServerBase.getCPtr(server), ArRobot.getCPtr(robot), ArBaseLocalizationTask.getCPtr(locTask)), true);
  }

  public void localizeToPose(ArPose pose, boolean lockRobot, double xySpread, double thSpread) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_localizeToPose__SWIG_0(swigCPtr, ArPose.getCPtr(pose), lockRobot, xySpread, thSpread);
  }

  public void localizeToPose(ArPose pose, boolean lockRobot, double xySpread) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_localizeToPose__SWIG_1(swigCPtr, ArPose.getCPtr(pose), lockRobot, xySpread);
  }

  public void localizeToPose(ArPose pose, boolean lockRobot) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_localizeToPose__SWIG_2(swigCPtr, ArPose.getCPtr(pose), lockRobot);
  }

  public void localizeToPose(ArPose pose) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_localizeToPose__SWIG_3(swigCPtr, ArPose.getCPtr(pose));
  }

  public void setSimPose(ArPose pose, boolean lockRobot) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_setSimPose__SWIG_0(swigCPtr, ArPose.getCPtr(pose), lockRobot);
  }

  public void setSimPose(ArPose pose) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_setSimPose__SWIG_1(swigCPtr, ArPose.getCPtr(pose));
  }

  public void netResetToHome(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_netResetToHome(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void netLocalizeToPose(ArServerClient client, ArNetPacket packet) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_netLocalizeToPose(swigCPtr, ArServerClient.getCPtr(client), ArNetPacket.getCPtr(packet));
  }

  public void addSimpleRelativeCommands(ArServerHandlerCommands commands) {
    BaseArnlJavaJNI.ArServerHandlerLocalization_addSimpleRelativeCommands(swigCPtr, ArServerHandlerCommands.getCPtr(commands));
  }

}
