News Download Tutorial FAQ Reference Buy

안드로이드 : org.roboid.robot : World

public interface
World
org.roboid.robot.World
개요
로봇 세계를 구성하는 로봇의 디바이스를 찾거나 리스너를 등록 및 제거하는 메소드를 정의합니다.

상속 관계
퍼블릭 메소드
버전 1.0.0부터
public abstract void addDeviceDataChangedListener(DeviceDataChangedListener listener)
로봇 세계에 포함된(사용 중인) 모든 로봇의 모든 디바이스에 대해 디바이스의 데이터가 갱신되었을 때 호출되도록 listener를 등록한다.
론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

파라미터:
  • listener: 등록할 리스너

DeviceDataChangedListener listener = new DeviceDataChangedListener() {
    public void onDeviceDataChanged(Robot robot, Device device, Object values, long timestamp) {
        int leftProximity = 0;
        if(device.getId() == Hamster.LEFT_PROXIMITY)
            leftProximity = ((int[])values)[0];
    }
};

// 리스너를 등록한다.
world.addDeviceDataChangedListener(listener);
버전 1.0.0부터
public abstract void clearDeviceDataChangedListeners()
로봇 세계에 포함된(사용 중인) 모든 로봇의 모든 디바이스에 대해 등록된 모든 리스너를 제거한다.
론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.
버전 1.0.0부터
public abstract Device findDeviceById(int deviceId)
인덱스가 0인 로봇의 자식 디바이스 중에서 ID가 deviceId인 디바이스를 찾아 객체를 반환한다.

ID가 deviceId인 자식 디바이스가 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

인덱스는 같은 모델의 로봇들 간의 인덱스이다. 예를 들어, deviceId가 Hamster.LEFT_WHEEL이면 로봇 세계에 포함된 햄스터 로봇들 중에서 첫 번째 햄스터 로봇의 왼쪽 바퀴 이펙터 디바이스의 객체를 반환한다. deviceId에는 모델 정보가 포함되어 있다.

파라미터:
  • deviceId: 찾을 디바이스의 ID

반환 값:
    Device 객체 또는 null

// 첫 번째(인덱스가 0인) 햄스터 로봇의 왼쪽 바퀴 이펙터 디바이스의 객체를 얻는다.
Device device = world.findDeviceById(Hamster.LEFT_WHEEL);
버전 1.0.0부터
public abstract Device findDeviceById(int deviceId, int index)
인덱스가 index인 로봇의 자식 디바이스 중에서 ID가 deviceId인 디바이스를 찾아 객체를 반환한다.

ID가 deviceId인 자식 디바이스가 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

index는 같은 모델의 로봇들 간의 인덱스이다. 예를 들어, deviceId가 Hamster.LEFT_WHEEL이고 index가 0이면 로봇 세계에 포함된 햄스터 로봇들 중에서 첫 번째 햄스터 로봇의 왼쪽 바퀴 이펙터 디바이스의 객체를 반환한다. deviceId에는 모델 정보가 포함되어 있다.

파라미터:
  • deviceId: 찾을 디바이스의 ID
  • index: 로봇의 인덱스

반환 값:
    Device 객체 또는 null

// 두 번째(인덱스가 1인) 햄스터 로봇의 왼쪽 바퀴 이펙터 디바이스의 객체를 얻는다.
Device device = world.findDeviceById(Hamster.LEFT_WHEEL, 1);
버전 1.0.0부터
public abstract Robot findRobotByCode(int modelCode)
모델 코드가 modelCode인 로봇들 중에서 첫 번째(인덱스가 0인) 로봇을 찾아 객체를 반환한다.

해당하는 로봇이 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

파라미터:
  • modelCode: 찾을 로봇의 모델 코드

반환 값:
    Robot 객체 또는 null

// 모델 코드가 0x0204인 첫 번째 로봇의 객체를 얻는다.
Robot robot = world.findRobotByCode(Hamster.CODE);
버전 1.0.0부터
public abstract Robot findRobotByCode(int modelCode, int index)
모델 코드가 modelCode이고 인덱스가 index인 로봇을 찾아 객체를 반환한다.

해당하는 로봇이 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

index는 같은 모델의 로봇들 간의 인덱스이다. 예를 들어, modelCode가 0x0204이고 index가 0이면 로봇 세계에 포함된 햄스터 로봇들 중에서 첫 번째 햄스터 로봇의 객체를 반환한다.

파라미터:
  • modelCode: 찾을 로봇의 모델 코드
  • index: 찾을 로봇의 인덱스

반환 값:
    Robot 객체 또는 null

// 모델 코드가 0x0204인 두 번째(인덱스가 1인) 로봇의 객체를 얻는다.
Robot robot = world.findRobotByCode(Hamster.CODE, 1);
버전 1.0.0부터
public abstract Robot findRobotById(String modelId)
모델 ID가 modelId인 로봇들 중에서 첫 번째(인덱스가 0인) 로봇을 찾아 객체를 반환한다.

해당하는 로봇이 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

파라미터:
  • modelId: 찾을 로봇의 모델 ID

반환 값:
    Robot 객체 또는 null

// 모델 ID가 "kr.robomation.physical.hamster"인 첫 번째 로봇의 객체를 얻는다.
Robot robot = world.findRobotById(Hamster.ID);
버전 1.0.0부터
public abstract Robot findRobotById(String modelId, int index)
모델 ID가 modelId이고 인덱스가 index인 로봇을 찾아 객체를 반환한다.

해당하는 로봇이 없으면 null을 반환한다.
로봇 세계에 포함된(사용 중인) 로봇만 대상으로 하며, 론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

index는 같은 모델의 로봇들 간의 인덱스이다. 예를 들어, modelId가 "kr.robomation.physical.hamster"이고 index가 0이면 로봇 세계에 포함된 햄스터 로봇들 중에서 첫 번째 햄스터 로봇의 객체를 반환한다.

파라미터:
  • modelId: 찾을 로봇의 모델 ID
  • index: 찾을 로봇의 인덱스

반환 값:
    Robot 객체 또는 null

// 모델 ID가 "kr.robomation.physical.hamster"인 두 번째(인덱스가 1인) 로봇의 객체를 얻는다.
Robot robot = world.findRobotById(Hamster.ID, 1);
버전 1.0.0부터
public abstract String getName()
로봇 세계의 이름을 반환한다.

반환 값:
    이름을 나타내는 문자열. 항상 null이 아니다.

// 로봇 세계의 이름을 얻는다.
String name = world.getName();
버전 1.0.0부터
public abstract List<Robot> getRobots()
로봇 세계에 포함된(사용 중인) 로봇들의 목록을 반환한다.
론처에서 '사용하지 않음'으로 설정한 로봇은 목록에 포함되지 않는다.

반환 값:
    로봇 목록
버전 1.0.0부터
public abstract void removeDeviceDataChangedListener(DeviceDataChangedListener listener)
로봇 세계에 포함된(사용 중인) 모든 로봇의 모든 디바이스에 대해 등록된 리스너 목록에서 listener를 제거한다.
론처에서 '사용하지 않음'으로 설정한 로봇은 대상에서 제외한다.

파라미터:
  • listener: 제거할 리스너

DeviceDataChangedListener listener = new DeviceDataChangedListener() {
    private int leftProximity;

    public void onDeviceDataChanged(Robot robot, Device device, Object values, long timestamp) {
        if(device.getId() == Hamster.LEFT_PROXIMITY)
            leftProximity = ((int[])values)[0];
    }
};

// 리스너를 제거한다.
world.removeDeviceDataChangedListener(listener);
버전 1.0.0부터
public abstract void setName(String name)
로봇 세계의 이름을 name으로 설정한다.

파라미터:
  • name: 설정할 이름. null을 입력한 경우에는 이름이 ""로 설정된다.

// 로봇 세계의 이름을 "World"로 설정한다.
world.setName("World");
Copyright Robot Software Education Institute. All rights reserved.
Please contact prof. Kwang-Hyun Park (akaii@kw.ac.kr) if you have any problem.