Files
SlimeVR-Server/src/main/java/dev/slimevr/vr/trackers/Tracker.java
2022-04-28 03:44:24 +02:00

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();
}
}