Skip to content

Partial reset #173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 25 additions & 12 deletions protocol/cpp/include/solarxr_protocol/generated/all_generated.h
Original file line number Diff line number Diff line change
Expand Up @@ -5923,14 +5923,21 @@ inline flatbuffers::Offset<HeartbeatResponse> CreateHeartbeatResponse(
struct ResetRequest FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ResetRequestBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_RESET_TYPE = 4
VT_RESET_TYPE = 4,
VT_BODY_PARTS = 6
};
solarxr_protocol::rpc::ResetType reset_type() const {
return static_cast<solarxr_protocol::rpc::ResetType>(GetField<uint8_t>(VT_RESET_TYPE, 0));
}
/// Which body parts to reset. Server handles it if empty (usually all)
const flatbuffers::Vector<solarxr_protocol::datatypes::BodyPart> *body_parts() const {
return GetPointer<const flatbuffers::Vector<solarxr_protocol::datatypes::BodyPart> *>(VT_BODY_PARTS);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<uint8_t>(verifier, VT_RESET_TYPE, 1) &&
VerifyOffset(verifier, VT_BODY_PARTS) &&
verifier.VerifyVector(body_parts()) &&
verifier.EndTable();
}
};
Expand All @@ -5942,6 +5949,9 @@ struct ResetRequestBuilder {
void add_reset_type(solarxr_protocol::rpc::ResetType reset_type) {
fbb_.AddElement<uint8_t>(ResetRequest::VT_RESET_TYPE, static_cast<uint8_t>(reset_type), 0);
}
void add_body_parts(flatbuffers::Offset<flatbuffers::Vector<solarxr_protocol::datatypes::BodyPart>> body_parts) {
fbb_.AddOffset(ResetRequest::VT_BODY_PARTS, body_parts);
}
explicit ResetRequestBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
Expand All @@ -5955,12 +5965,25 @@ struct ResetRequestBuilder {

inline flatbuffers::Offset<ResetRequest> CreateResetRequest(
flatbuffers::FlatBufferBuilder &_fbb,
solarxr_protocol::rpc::ResetType reset_type = solarxr_protocol::rpc::ResetType::Yaw) {
solarxr_protocol::rpc::ResetType reset_type = solarxr_protocol::rpc::ResetType::Yaw,
flatbuffers::Offset<flatbuffers::Vector<solarxr_protocol::datatypes::BodyPart>> body_parts = 0) {
ResetRequestBuilder builder_(_fbb);
builder_.add_body_parts(body_parts);
builder_.add_reset_type(reset_type);
return builder_.Finish();
}

inline flatbuffers::Offset<ResetRequest> CreateResetRequestDirect(
flatbuffers::FlatBufferBuilder &_fbb,
solarxr_protocol::rpc::ResetType reset_type = solarxr_protocol::rpc::ResetType::Yaw,
const std::vector<solarxr_protocol::datatypes::BodyPart> *body_parts = nullptr) {
auto body_parts__ = body_parts ? _fbb.CreateVector<solarxr_protocol::datatypes::BodyPart>(*body_parts) : 0;
return solarxr_protocol::rpc::CreateResetRequest(
_fbb,
reset_type,
body_parts__);
}

struct ResetResponse FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ResetResponseBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
Expand Down Expand Up @@ -7272,15 +7295,11 @@ inline flatbuffers::Offset<TapDetectionSettings> CreateTapDetectionSettings(
struct ResetsSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ResetsSettingsBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_RESET_MOUNTING_FEET = 4,
VT_ARMS_MOUNTING_RESET_MODE = 6,
VT_YAW_RESET_SMOOTH_TIME = 8,
VT_SAVE_MOUNTING_RESET = 10,
VT_RESET_HMD_PITCH = 12
};
bool reset_mounting_feet() const {
return GetField<uint8_t>(VT_RESET_MOUNTING_FEET, 0) != 0;
}
solarxr_protocol::rpc::ArmsMountingResetMode arms_mounting_reset_mode() const {
return static_cast<solarxr_protocol::rpc::ArmsMountingResetMode>(GetField<uint8_t>(VT_ARMS_MOUNTING_RESET_MODE, 0));
}
Expand All @@ -7295,7 +7314,6 @@ struct ResetsSettings FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
VerifyField<uint8_t>(verifier, VT_RESET_MOUNTING_FEET, 1) &&
VerifyField<uint8_t>(verifier, VT_ARMS_MOUNTING_RESET_MODE, 1) &&
VerifyField<float>(verifier, VT_YAW_RESET_SMOOTH_TIME, 4) &&
VerifyField<uint8_t>(verifier, VT_SAVE_MOUNTING_RESET, 1) &&
Expand All @@ -7308,9 +7326,6 @@ struct ResetsSettingsBuilder {
typedef ResetsSettings Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_reset_mounting_feet(bool reset_mounting_feet) {
fbb_.AddElement<uint8_t>(ResetsSettings::VT_RESET_MOUNTING_FEET, static_cast<uint8_t>(reset_mounting_feet), 0);
}
void add_arms_mounting_reset_mode(solarxr_protocol::rpc::ArmsMountingResetMode arms_mounting_reset_mode) {
fbb_.AddElement<uint8_t>(ResetsSettings::VT_ARMS_MOUNTING_RESET_MODE, static_cast<uint8_t>(arms_mounting_reset_mode), 0);
}
Expand All @@ -7336,7 +7351,6 @@ struct ResetsSettingsBuilder {

inline flatbuffers::Offset<ResetsSettings> CreateResetsSettings(
flatbuffers::FlatBufferBuilder &_fbb,
bool reset_mounting_feet = false,
solarxr_protocol::rpc::ArmsMountingResetMode arms_mounting_reset_mode = solarxr_protocol::rpc::ArmsMountingResetMode::BACK,
float yaw_reset_smooth_time = 0.0f,
bool save_mounting_reset = false,
Expand All @@ -7346,7 +7360,6 @@ inline flatbuffers::Offset<ResetsSettings> CreateResetsSettings(
builder_.add_reset_hmd_pitch(reset_hmd_pitch);
builder_.add_save_mounting_reset(save_mounting_reset);
builder_.add_arms_mounting_reset_mode(arms_mounting_reset_mode);
builder_.add_reset_mounting_feet(reset_mounting_feet);
return builder_.Finish();
}

Expand Down
34 changes: 30 additions & 4 deletions protocol/java/src/solarxr_protocol/rpc/ResetRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,31 @@ public final class ResetRequest extends Table {
public ResetRequest __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }

public int resetType() { int o = __offset(4); return o != 0 ? bb.get(o + bb_pos) & 0xFF : 0; }
/**
* Which body parts to reset. Server handles it if empty (usually all)
*/
public int bodyParts(int j) { int o = __offset(6); return o != 0 ? bb.get(__vector(o) + j * 1) & 0xFF : 0; }
public int bodyPartsLength() { int o = __offset(6); return o != 0 ? __vector_len(o) : 0; }
public ByteVector bodyPartsVector() { return bodyPartsVector(new ByteVector()); }
public ByteVector bodyPartsVector(ByteVector obj) { int o = __offset(6); return o != 0 ? obj.__assign(__vector(o), bb) : null; }
public ByteBuffer bodyPartsAsByteBuffer() { return __vector_as_bytebuffer(6, 1); }
public ByteBuffer bodyPartsInByteBuffer(ByteBuffer _bb) { return __vector_in_bytebuffer(_bb, 6, 1); }

public static int createResetRequest(FlatBufferBuilder builder,
int resetType) {
builder.startTable(1);
int resetType,
int bodyPartsOffset) {
builder.startTable(2);
ResetRequest.addBodyParts(builder, bodyPartsOffset);
ResetRequest.addResetType(builder, resetType);
return ResetRequest.endResetRequest(builder);
}

public static void startResetRequest(FlatBufferBuilder builder) { builder.startTable(1); }
public static void startResetRequest(FlatBufferBuilder builder) { builder.startTable(2); }
public static void addResetType(FlatBufferBuilder builder, int resetType) { builder.addByte(0, (byte) resetType, (byte) 0); }
public static void addBodyParts(FlatBufferBuilder builder, int bodyPartsOffset) { builder.addOffset(1, bodyPartsOffset, 0); }
public static int createBodyPartsVector(FlatBufferBuilder builder, byte[] data) { return builder.createByteVector(data); }
public static int createBodyPartsVector(FlatBufferBuilder builder, ByteBuffer data) { return builder.createByteVector(data); }
public static void startBodyPartsVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
public static int endResetRequest(FlatBufferBuilder builder) {
int o = builder.endTable();
return o;
Expand All @@ -45,12 +60,23 @@ public ResetRequestT unpack() {
public void unpackTo(ResetRequestT _o) {
int _oResetType = resetType();
_o.setResetType(_oResetType);
int[] _oBodyParts = new int[bodyPartsLength()];
for (int _j = 0; _j < bodyPartsLength(); ++_j) {_oBodyParts[_j] = bodyParts(_j);}
_o.setBodyParts(_oBodyParts);
}
public static int pack(FlatBufferBuilder builder, ResetRequestT _o) {
if (_o == null) return 0;
int _bodyParts = 0;
if (_o.getBodyParts() != null) {
byte[] __bodyParts = new byte[_o.getBodyParts().length];
int _j = 0;
for (int _e : _o.getBodyParts()) { __bodyParts[_j] = (byte) _e; _j++;}
_bodyParts = createBodyPartsVector(builder, __bodyParts);
}
return createResetRequest(
builder,
_o.getResetType());
_o.getResetType(),
_bodyParts);
}
}

6 changes: 6 additions & 0 deletions protocol/java/src/solarxr_protocol/rpc/ResetRequestT.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,20 @@

public class ResetRequestT {
private int resetType;
private int[] bodyParts;

public int getResetType() { return resetType; }

public void setResetType(int resetType) { this.resetType = resetType; }

public int[] getBodyParts() { return bodyParts; }

public void setBodyParts(int[] bodyParts) { this.bodyParts = bodyParts; }


public ResetRequestT() {
this.resetType = 0;
this.bodyParts = null;
}
}

7 changes: 0 additions & 7 deletions protocol/java/src/solarxr_protocol/rpc/ResetsSettings.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,12 @@ public final class ResetsSettings extends Table {
public void __init(int _i, ByteBuffer _bb) { __reset(_i, _bb); }
public ResetsSettings __assign(int _i, ByteBuffer _bb) { __init(_i, _bb); return this; }

public boolean resetMountingFeet() { int o = __offset(4); return o != 0 ? 0!=bb.get(o + bb_pos) : false; }
public int armsMountingResetMode() { int o = __offset(6); return o != 0 ? bb.get(o + bb_pos) & 0xFF : 0; }
public float yawResetSmoothTime() { int o = __offset(8); return o != 0 ? bb.getFloat(o + bb_pos) : 0.0f; }
public boolean saveMountingReset() { int o = __offset(10); return o != 0 ? 0!=bb.get(o + bb_pos) : false; }
public boolean resetHmdPitch() { int o = __offset(12); return o != 0 ? 0!=bb.get(o + bb_pos) : false; }

public static int createResetsSettings(FlatBufferBuilder builder,
boolean resetMountingFeet,
int armsMountingResetMode,
float yawResetSmoothTime,
boolean saveMountingReset,
Expand All @@ -32,12 +30,10 @@ public static int createResetsSettings(FlatBufferBuilder builder,
ResetsSettings.addResetHmdPitch(builder, resetHmdPitch);
ResetsSettings.addSaveMountingReset(builder, saveMountingReset);
ResetsSettings.addArmsMountingResetMode(builder, armsMountingResetMode);
ResetsSettings.addResetMountingFeet(builder, resetMountingFeet);
return ResetsSettings.endResetsSettings(builder);
}

public static void startResetsSettings(FlatBufferBuilder builder) { builder.startTable(5); }
public static void addResetMountingFeet(FlatBufferBuilder builder, boolean resetMountingFeet) { builder.addBoolean(0, resetMountingFeet, false); }
public static void addArmsMountingResetMode(FlatBufferBuilder builder, int armsMountingResetMode) { builder.addByte(1, (byte) armsMountingResetMode, (byte) 0); }
public static void addYawResetSmoothTime(FlatBufferBuilder builder, float yawResetSmoothTime) { builder.addFloat(2, yawResetSmoothTime, 0.0f); }
public static void addSaveMountingReset(FlatBufferBuilder builder, boolean saveMountingReset) { builder.addBoolean(3, saveMountingReset, false); }
Expand All @@ -59,8 +55,6 @@ public ResetsSettingsT unpack() {
return _o;
}
public void unpackTo(ResetsSettingsT _o) {
boolean _oResetMountingFeet = resetMountingFeet();
_o.setResetMountingFeet(_oResetMountingFeet);
int _oArmsMountingResetMode = armsMountingResetMode();
_o.setArmsMountingResetMode(_oArmsMountingResetMode);
float _oYawResetSmoothTime = yawResetSmoothTime();
Expand All @@ -74,7 +68,6 @@ public static int pack(FlatBufferBuilder builder, ResetsSettingsT _o) {
if (_o == null) return 0;
return createResetsSettings(
builder,
_o.getResetMountingFeet(),
_o.getArmsMountingResetMode(),
_o.getYawResetSmoothTime(),
_o.getSaveMountingReset(),
Expand Down
6 changes: 0 additions & 6 deletions protocol/java/src/solarxr_protocol/rpc/ResetsSettingsT.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,11 @@
import com.google.flatbuffers.*;

public class ResetsSettingsT {
private boolean resetMountingFeet;
private int armsMountingResetMode;
private float yawResetSmoothTime;
private boolean saveMountingReset;
private boolean resetHmdPitch;

public boolean getResetMountingFeet() { return resetMountingFeet; }

public void setResetMountingFeet(boolean resetMountingFeet) { this.resetMountingFeet = resetMountingFeet; }

public int getArmsMountingResetMode() { return armsMountingResetMode; }

public void setArmsMountingResetMode(int armsMountingResetMode) { this.armsMountingResetMode = armsMountingResetMode; }
Expand All @@ -36,7 +31,6 @@ public class ResetsSettingsT {


public ResetsSettingsT() {
this.resetMountingFeet = false;
this.armsMountingResetMode = 0;
this.yawResetSmoothTime = 0.0f;
this.saveMountingReset = false;
Expand Down
36 changes: 33 additions & 3 deletions protocol/kotlin/src/solarxr_protocol/rpc/ResetRequest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,23 @@ class ResetRequest : Table() {
val o = __offset(4)
return if(o != 0) bb.get(o + bb_pos).toUByte() else 0u
}
/**
* Which body parts to reset. Server handles it if empty (usually all)
*/
fun bodyParts(j: Int) : UByte {
val o = __offset(6)
return if (o != 0) {
bb.get(__vector(o) + j * 1).toUByte()
} else {
0u
}
}
val bodyPartsLength : Int
get() {
val o = __offset(6); return if (o != 0) __vector_len(o) else 0
}
val bodyPartsAsByteBuffer : ByteBuffer get() = __vector_as_bytebuffer(6, 1)
fun bodyPartsInByteBuffer(_bb: ByteBuffer) : ByteBuffer = __vector_in_bytebuffer(_bb, 6, 1)
companion object {
@JvmStatic
fun validateVersion() = Constants.FLATBUFFERS_22_10_26()
Expand All @@ -32,16 +49,29 @@ class ResetRequest : Table() {
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
}
@JvmStatic
fun createResetRequest(builder: FlatBufferBuilder, resetType: UByte) : Int {
builder.startTable(1)
fun createResetRequest(builder: FlatBufferBuilder, resetType: UByte, bodyPartsOffset: Int) : Int {
builder.startTable(2)
addBodyParts(builder, bodyPartsOffset)
addResetType(builder, resetType)
return endResetRequest(builder)
}
@JvmStatic
fun startResetRequest(builder: FlatBufferBuilder) = builder.startTable(1)
fun startResetRequest(builder: FlatBufferBuilder) = builder.startTable(2)
@JvmStatic
fun addResetType(builder: FlatBufferBuilder, resetType: UByte) = builder.addByte(0, resetType.toByte(), 0)
@JvmStatic
fun addBodyParts(builder: FlatBufferBuilder, bodyParts: Int) = builder.addOffset(1, bodyParts, 0)
@JvmStatic
fun createBodyPartsVector(builder: FlatBufferBuilder, data: UByteArray) : Int {
builder.startVector(1, data.size, 1)
for (i in data.size - 1 downTo 0) {
builder.addByte(data[i].toByte())
}
return builder.endVector()
}
@JvmStatic
fun startBodyPartsVector(builder: FlatBufferBuilder, numElems: Int) = builder.startVector(1, numElems, 1)
@JvmStatic
fun endResetRequest(builder: FlatBufferBuilder) : Int {
val o = builder.endTable()
return o
Expand Down
10 changes: 1 addition & 9 deletions protocol/kotlin/src/solarxr_protocol/rpc/ResetsSettings.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@ class ResetsSettings : Table() {
__init(_i, _bb)
return this
}
val resetMountingFeet : Boolean
get() {
val o = __offset(4)
return if(o != 0) 0.toByte() != bb.get(o + bb_pos) else false
}
val armsMountingResetMode : UByte
get() {
val o = __offset(6)
Expand Down Expand Up @@ -52,20 +47,17 @@ class ResetsSettings : Table() {
return (obj.__assign(_bb.getInt(_bb.position()) + _bb.position(), _bb))
}
@JvmStatic
fun createResetsSettings(builder: FlatBufferBuilder, resetMountingFeet: Boolean, armsMountingResetMode: UByte, yawResetSmoothTime: Float, saveMountingReset: Boolean, resetHmdPitch: Boolean) : Int {
fun createResetsSettings(builder: FlatBufferBuilder, armsMountingResetMode: UByte, yawResetSmoothTime: Float, saveMountingReset: Boolean, resetHmdPitch: Boolean) : Int {
builder.startTable(5)
addYawResetSmoothTime(builder, yawResetSmoothTime)
addResetHmdPitch(builder, resetHmdPitch)
addSaveMountingReset(builder, saveMountingReset)
addArmsMountingResetMode(builder, armsMountingResetMode)
addResetMountingFeet(builder, resetMountingFeet)
return endResetsSettings(builder)
}
@JvmStatic
fun startResetsSettings(builder: FlatBufferBuilder) = builder.startTable(5)
@JvmStatic
fun addResetMountingFeet(builder: FlatBufferBuilder, resetMountingFeet: Boolean) = builder.addBoolean(0, resetMountingFeet, false)
@JvmStatic
fun addArmsMountingResetMode(builder: FlatBufferBuilder, armsMountingResetMode: UByte) = builder.addByte(1, armsMountingResetMode.toByte(), 0)
@JvmStatic
fun addYawResetSmoothTime(builder: FlatBufferBuilder, yawResetSmoothTime: Float) = builder.addFloat(2, yawResetSmoothTime, 0.0)
Expand Down
Loading