mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
59 lines
1021 B
Java
59 lines
1021 B
Java
package dev.slimevr.vr.trackers;
|
|
|
|
import com.jme3.math.Quaternion;
|
|
import com.jme3.math.Vector3f;
|
|
import dev.slimevr.vr.trackers.udp.Device;
|
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
public interface Tracker {
|
|
|
|
AtomicInteger nextLocalTrackerId = new AtomicInteger();
|
|
|
|
static int getNextLocalTrackerId() {
|
|
return nextLocalTrackerId.incrementAndGet();
|
|
}
|
|
|
|
boolean getPosition(Vector3f store);
|
|
|
|
boolean getRotation(Quaternion store);
|
|
|
|
String getName();
|
|
|
|
TrackerStatus getStatus();
|
|
|
|
void loadConfig(TrackerConfig config);
|
|
|
|
void saveConfig(TrackerConfig config);
|
|
|
|
float getConfidenceLevel();
|
|
|
|
void resetFull(Quaternion reference);
|
|
|
|
void resetYaw(Quaternion reference);
|
|
|
|
void tick();
|
|
|
|
TrackerPosition getBodyPosition();
|
|
|
|
void setBodyPosition(TrackerPosition position);
|
|
|
|
boolean userEditable();
|
|
|
|
boolean hasRotation();
|
|
|
|
boolean hasPosition();
|
|
|
|
boolean isComputed();
|
|
|
|
int getTrackerId();
|
|
|
|
int getTrackerNum();
|
|
|
|
Device getDevice();
|
|
|
|
default String getDescriptiveName() {
|
|
return getName();
|
|
}
|
|
}
|